Botframework 认知服务语音变化不会改变';行不通

Botframework 认知服务语音变化不会改变';行不通,botframework,microsoft-cognitive,Botframework,Microsoft Cognitive,我能让WebChat和语音服务一起工作,它能正确地识别和回复(在Chrome中)意大利人的声音,但这是一个摇摆不定的男性声音。 我试着用意大利神经语调,即ElsaNeural,但当我试着把它设置在下面时,总是用男性语调。 在Webchat/Chrome中获得高质量语音的正确方法是什么 window.WebChat.renderWebChat({ directLine: dl, selectVoice: 'it

我能让WebChat和语音服务一起工作,它能正确地识别和回复(在Chrome中)意大利人的声音,但这是一个摇摆不定的男性声音。 我试着用意大利神经语调,即ElsaNeural,但当我试着把它设置在下面时,总是用男性语调。 在Webchat/Chrome中获得高质量语音的正确方法是什么

            window.WebChat.renderWebChat({
                directLine: dl,
                selectVoice: 'it-IT-ElsaNeural', //short name of neural italian voice
                webSpeechPonyfillFactory, //passing this to enable speech services
                locale: 'it-IT',
                language: 'it-IT',
                styleSet // Passing 'styleSet' when rendering Web Chat
            }, document.getElementById('webchat'));


我相信你有两个问题阻碍了你

  • selectVoice
    属性接受一个函数(参考)。仅传递字符串值将导致错误。您的代码可以返回一个值,也可以使用三元组提供默认语音:
  • selectVoice:(voices,activity)=>voices.find(({name})=>/ElsaNeural/iu.test(name))
    

    选择语音:(语音、活动)=>
    activity.locale==='it'?
    voices.find(({name})=>/ElsaNeural/iu.test(name))
    :
    voices.find(({name})=>/ElsaNeural/iu.test(name))
    ||voices.find(({name})=>/ElsaNeural/iu.test(name)),
    
  • 您应该再次检查您的CS语音订阅所在的区域是否支持使用神经语音。我在
    westus
    westus2
    中使用神经语音进行测试。如列表所示,测试
    westus
    失败,而
    westus2
    能够转换具有上述“ElsaNeural”语音的TTS
  • 当遵循上述步骤时,我能够成功地使用提供的神经声音


    希望有帮助

    似乎这是一个尚未修复的错误。其他用户已在此处提出问题: