Как использовать Google Speech to Text Feature с чат-ботом Microsoft Bot Framework? - PullRequest
0 голосов
/ 18 октября 2018

Я хочу использовать функцию Google Speech to Text с моим чат-ботом на базе Microsoft Bot Framework. Обычная реализация бота на основе Microsoft BorFramework выглядит следующим образом:

const params = BotChat.queryParams(location.search);
    const user = {
        id: params['userid'] || 'userid',
        name: params['username'] || 'username'
    };
    const bot = {
        id: params['botid'] || 'botid',
        name: params['botname'] || 'botname'
    };
    window.botchatDebug = params['debug'] && params['debug'] === 'true';

    const speechOptions = {
        speechRecognizer: new CognitiveServices.SpeechRecognizer({ subscriptionKey: '0000SPEECHKEY00000000' }),
        speechSynthesizer: new CognitiveServices.SpeechSynthesizer({
            gender: CognitiveServices.SynthesisGender.Female,
            subscriptionKey: '0000SPEECHKEY00000000',
            voiceName: 'Microsoft Server Speech Text to Speech Voice (en-US, JessaRUS)'
        })
    };
    BotChat.App({
        bot: bot,
        locale: params['locale'],
        resize: 'detect',
        // sendTyping: true,    // defaults to false. set to true to send 'typing' activities to bot (and other users) when user is typing
        speechOptions: speechOptions,
        user: user,
        directLine: {
            domain: params['domain'],
            secret: params['s'],
            token: params['t'],
            webSocket: params['webSocket'] && params['webSocket'] === 'true' // defaults to true
        }
    }, document.getElementById('BotChatGoesHere'));

1 Ответ

0 голосов
/ 22 октября 2018

У вас есть несколько возможностей для распознавания речи в веб-чате:

  • использование Microsoft Cognitive Services
  • использование возможностей речи браузера
  • использование пользовательского распознавания речи

Здесь вы находитесь в 3-м варианте.Вы должны предоставить свое собственное пользовательское распознавание речи, которое реализует ISpeechRecognizer.

Этот интерфейс подробно описан здесь:

export interface ISpeechRecognizer {
    locale: string;
    isStreamingToService: boolean;
    referenceGrammarId: string; // unique identifier to send to the speech implementation to bias SR to this scenario

    onIntermediateResult: Func<string, void>;
    onFinalResult: Func<string, void>;
    onAudioStreamingToService: Action;
    onRecognitionFailed: Action;

    warmup(): void;
    setGrammars(grammars?: string[]): void;
    startRecognizing(): Promise<void>;
    stopRecognizing(): Promise<void>;
    speechIsAvailable(): boolean;
}

Источник: https://github.com/Microsoft/BotFramework-WebChat/blob/master/src/SpeechModule.ts

Вы такженайдите в ссылке выше реализации BrowserSpeechRecognizer, что является вторым вариантом

...