Web App Bot - .NET Text to Speech не работает - PullRequest
0 голосов
/ 26 сентября 2018

Работа с Azure Web App Bot SDK v3.Я пытаюсь выводить текст и речь одновременно.

        messageActivity.Text = information;
        messageActivity.Speak = information;
        messageActivity.Locale = "de-DE";

        await context.PostAsync(messageActivity);

Cortana, Direct Line и эмулятор бота ничего не говорят.Тем не менее, бот получает текст для вслух.

enter image description here

Кроме того, даже

await context.SayAsync(information, information);

нетза работой.Мне кажется, что есть проблема с локализацией или что-то.У меня закончились идеи.

Прямая линия настроена следующим образом

  const speechOptions = {
    speechRecognizer: new CognitiveServices.SpeechRecognizer({ subscriptionKey: 'SUB_KEY_XXX', locale: 'de-DE' }),
    speechSynthesizer: new CognitiveServices.SpeechSynthesizer({
      gender: CognitiveServices.SynthesisGender.Male,
      subscriptionKey: 'SUB_KEY_AGAIN',
      voiceName: 'Microsoft Server Speech Text to Speech Voice (de-DE, Michael)'
    })
  };

Sidenote: Голос в текст работает безупречно.

EDIT: Direct Line теперь работает.В то время как я использовал iFrame для демонстрационных целей, голосовой вывод работает только в том случае, если вход также был предоставлен через голосовой ввод. Однако вы также можете изменить это поведение .

1 Ответ

0 голосов
/ 26 сентября 2018

Вам следует попробовать правильно сформированную оболочку SSML, если вы хотите, чтобы информационный текст говорил на Cortana.

msg.speak = "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xml:lang=\"de-DE\"> <voice languages=\"de-DE\"  gender=\"male\"> Haben Sie Wien schon bei Nacht gesehen? </voice><voice languages=\"de-DE it\"  gender=\"female\"> Nein. </voice></speak>

Также обратите внимание, что Cortana официально поддерживает только en-US для локали и рынка для сторонних навыков.Хотя вы можете делать много интересных вещей с другими голосами и языками, есть несколько причуд, и вы можете столкнуться с проблемами.

...