You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Microsoft Azure文本转语音语音配置不同语音风格?

解决Azure文本转语音无法应用语音风格的问题
  • 问题出在配置方式错误:speech_config不存在speech_synthesis_voice_style这个属性,直接设置不会生效;且speak_text_async仅支持纯文本输入,无法解析语音风格这类高级参数。
  • 正确做法是用**SSML(语音合成标记语言)**定义语音风格,Azure文本转语音的高级语音特性(风格、语调等)都需要通过SSML实现。

修正后的代码示例:

import azure.cognitiveservices.speech as speechsdk

speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
speech_config.speech_synthesis_voice_name = "en-US-DavisNeural" 

# 构造包含语音风格的SSML
ssml = """
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-US-DavisNeural">
    <mstts:express-as style="shouting">
      Hi, this is Davis
    </mstts:express-as>
  </voice>
</speak>
"""

speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)
# 使用SSML专用的合成方法
result = speech_synthesizer.speak_ssml_async(ssml).get()
  • 额外注意事项:
    • 确认所选语音支持目标风格,比如en-US-DavisNeural支持shouting、cheerful等风格,可通过Azure语音服务的语音列表查看具体支持特性。
    • SSML必须包含正确的命名空间声明,否则风格设置不会生效。

内容的提问来源于stack exchange,提问作者Grawlix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:57:16