Я пытаюсь обновить экспериментальный DirectLineSpeech Echo Bot пример Speak()
метода для использования нейронных голосов, но, похоже, он не работает.
Вот код Iя пытаюсь заставить его работать -
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
, как предложил Николай. Но, похоже, это тоже не поможет.