我正在开发一个聊天机器人,它使用Azure SpeechRecognizer和SpeechSynthesizer与用户交谈。在5-10转后,聊天机器人停止说话,即使我得到了整个句子的ResultReason.SynthesizingAudioCompleted状态。
例如,聊天机器人只说“听起来很棒”。即使当我传递“听起来很好。告诉我更多”时,ResultReason.SynthesizingAudioCompleted状态也会全部返回。(注释掉的代码是我尝试过的东西,但它没有改变这种行为)
result = speech_synthesizer.speak_text(chatbot_utterance)
# result = speech_synthesizer.speak_text_async(chatbot_utterance).get()
if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
print("Speech synthesized to speaker for text [{}]".format(mindmeld_response))
# speech_synthesizer.stop_speaking_async()我已经在谷歌上搜索了一段时间了,但我不会超过速率限制(这每隔几秒钟就会给语音合成器打一次电话),我也不知道还有其他可能的问题。有没有人对可能出了什么问题有任何想法?
这些是我正在使用的包,我正在使用Python3.7开发一个MacOS。
azure-cognitiveservices-speech 1.20.0
azure-common 1.1.28
azure-core 1.24.0
azure-identity 1.10.0
azure-mgmt-core 1.3.0
azure-mgmt-media 9.0.0
azure-storage-blob 12.12.0发布于 2022-07-15 08:26:13
此行为表示违反了自由层限制。尽管从用户的角度来看,在TTS下,它们可能不会超过50万字符/月,但是事务速率是导致输出受限的原因。请参阅TTS 这里下的限制。这是最有可能的20次交易/秒限制被打破。要确认这一点,您可以请求客户将其语音资源的定价层更改为“标准”,并测试相同的文本或话语。如果它运行良好,那么它们需要停留在标准层上,或者进一步错开免费层的请求。
https://stackoverflow.com/questions/72984893
复制相似问题