Я пытаюсь обновить экспериментальный Пример Speak()
метода DirectLineSpeech Echo Bot для использования нейронных голосов, но, похоже, он не работает.
Вот код, который я пытаюсь заставить работать -
public IActivity Speak(string message)
{
var activity = MessageFactory.Text(message);
string body = @"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='en-US'>
<voice name='Microsoft Server Speech Text to Speech Voice (en-US, JessaNeural)'>
<mstts:express-as type='chat'>" + $"{message}" + "</mstts:express-as></voice></speak>";
activity.Speak = body;
return activity;
}
Это основано на рекомендации, содержащейся в Руководство по SSML
Вот стандартный T2S для справки:
public IActivity Speak(string message)
{
var activity = MessageFactory.Text(message);
string body = @"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='en-US'>
<voice name='Microsoft Server Speech Text to Speech Voice (en-US, JessaRUS)'>" +
$"{message}" + "</voice></speak>";
activity.Speak = body;
return activity;
}
Может ли кто-нибудь помочь мне понять, как это работает или что я делаю не так?
Если это поможет найти какие-либо ограничения, я развернул бота как службу приложений на уровне бесплатного пользования F1 в регионе westus2.
Изменить: обновлен код, чтобы использовать полное имя, т.е. Microsoft Server Speech Text to Speech Voice (en-US, JessaNeural)
вместо краткого имени en-US-JessaNeural
, как предложил Николас. Но это тоже не помогает.