你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 语音中的高清语音

Foundry 工具中的 Azure 语音通过神经高清 (HD) 语音不断推进文本转语音技术。 我们的 HD 语音可理解内容,自动检测输入文本中的情绪,并实时调整语调以匹配情绪。 它们保持一致的语音角色,同时提供增强的表达力、自然性和控制力。

高清语音概述

Azure 语音提供两个高级 HD 语音模型,每个模型针对不同的用例进行优化:

型号 语音计数 主要特征 最适用于
DragonHD 30 多种微调语音 专业品质、准确发音、多声源支持 需要高质量输出的企业应用程序
DragonHDOmni 700 多种语音(包含所有已发布的语音和新的 AI 生成语音) 样式支持,多语言,灵活添加新的语音和样式。 多样化的应用程序,内容创建,广泛的角色多样性

HD 语音的主要功能

以下是 Azure HD 语音的主要功能:

关键功能 说明
类人类语音生成 神经网络文本转语音 HD 声音可以生成高度自然和类似于人类的语音。 该模型基于数百万小时的多语言数据进行训练,使模型能够准确解释输入文本,并使用适当的情感、速度和节奏生成语音,无需手动调整。
对话 神经网络文本转语音 HD 声音可以复制自然语音模式,包括自发暂停和强调。 给定对话文本时,模型可以重现常见的音素,如停顿和填充词。 生成的声音听起来像是有人直接与你交谈。
韵律变化 神经网络文本转语音 HD 声音在每个输出中引入了轻微的变化,以增强真实感。 这些变化使语音听起来更自然,因为人类的声音会自然地表现出变化。
高保真度 神经网络语音合成(HD)声音的主要目标是生成高保真音频。 我们系统生成的合成语音可以紧密模仿人类语音的质量和自然性。

Azure 语音 HD 声音与其他 Azure 文本转语音声音的比较

Azure 语音 HD 声音与其他 Azure 文本转语音声音相比如何? 下面是详细的比较:

功能 / 特点 Azure 语音 HD 声音 Azure OpenAI HD 声音 Azure 语音合成(非 HD)
区域 请参阅 语音服务区域 请参阅 语音服务区域 在数十个区域中可用。 请参阅 语音服务区域
语音数 30 6 超过 500
多语言 是(仅适用于多语言声音)
SSML 支持 一部分 SSML 元素的支持。 一部分 SSML 元素的支持。 支持 Azure 语音中 完整的 SSML 功能
开发选项 语音 SDK、语音 CLI、REST API 语音 SDK、语音 CLI、REST API 语音 SDK、语音 CLI、REST API
部署选项 仅限云 仅限云 云、嵌入式、混合和容器。
实时或批量合成 仅实时 实时和批量合成 实时和批量合成
延迟 小于 300 毫秒 大于 500 毫秒 小于 300 毫秒
合成音频的采样率 8、16、24 和 48 kHz 8、16、24 和 48 kHz 8、16、24 和 48 kHz
语音输出音频格式 opus、mp3、pcm、truesilk opus、mp3、pcm、truesilk opus、mp3、pcm、truesilk

支持的 Azure 高保真语音

Azure 语音提供两组具有不同模型体系结构的 HD 语音:

Dragon HD 语音

Azure 语音 HD 声音值采用 voicename:DragonHD:version 格式。 冒号前的名称(例如en-US-Ava)是声音角色名称及其原始语言环境。

若要确保使用的是我们提供的基准模型的最新版本,请使用版本 LatestNeural

例如,对于角色 en-US-Ava ,可以指定:

  • en-US-Ava:DragonHDLatestNeural:始终使用最新版本的 DragonHD 基础模型。

下表列出了可用的 DragonHD 语音:

声音名称 性别 状态 注意
de-DE-Florian:DragonHDLatestNeural GA
de-DE-Seraphina:DragonHDLatestNeural 女性 GA
en-US-Adam:DragonHDLatestNeural GA
en-US-Alloy:DragonHDLatestNeural 预览
en-US-Andrew:DragonHDLatestNeural GA
en-US-Andrew2:DragonHDLatestNeural GA 已针对对话内容进行优化
en-US-Andrew3:DragonHDLatestNeural 预览 已针对播客内容进行优化
en-US-Aria:DragonHDLatestNeural 女性 预览
en-US-Ava:DragonHDLatestNeural 女性 GA
en-US-Ava3:DragonHDLatestNeural 女性 预览 已针对播客内容进行优化
en-US-Brian:DragonHDLatestNeural GA
en-US-Davis:DragonHDLatestNeural GA
en-US-Emma:DragonHDLatestNeural 女性 GA
en-US-Emma2:DragonHDLatestNeural 女性 GA 已针对对话内容进行优化
en-US-Jenny:DragonHDLatestNeural 女性 预览
en-US-MultiTalker-Ava-Andrew:DragonHDLatestNeural 预览
en-US-Nova:DragonHDLatestNeural 女性 预览
en-US-Phoebe:DragonHDLatestNeural 女性 预览
en-US-Serena:DragonHDLatestNeural 女性 预览
en-US-Steffan:DragonHDLatestNeural GA
es-ES-Tristan:DragonHDLatestNeural GA
es-ES-Ximena:DragonHDLatestNeural 女性 GA
fr-FR-Remy:DragonHDLatestNeural GA
fr-FR-Vivienne:DragonHDLatestNeural 女性 GA
ja-JP-Masaru:DragonHDLatestNeural GA
ja-JP-Nanami:DragonHDLatestNeural 女性 GA
zh-CN-Xiaochen:DragonHDLatestNeural 女性 GA
zh-CN-Yunfan:DragonHDLatestNeural GA

Dragon HD Omni 语音

Dragon HD Omni 是 Azure 语音的统一下一代模型,可将预生成语音和 AI 生成的语音组合到一个灵活的平台中。 它具有超过 700 种语音,具有增强的表达能力、多语言支持、高级样式控件和自动样式预测。

Dragon HD Omni 的主要功能

  • 700 多个语音:包括具有改进质量的大多数以前的语音,以及具有不同特征的 300 多个 AI 生成的语音
  • 高级样式控件:使用自然语言说明的自动样式预测(最初可用于 en-US-Avaen-US-Andrew
  • 多语言支持:所有 Dragon HD Omni 语音都支持多种语言,支持自动语言检测和 SSML <lang> 标记支持
  • 增强的韵律:利用自动上下文适应提高自然度
  • Word 边界事件支持:为同步的应用程序启用精确的字级计时

Dragon HD Omni 支持的样式

Dragon HD Omni 支持一套全面的 100 多种说话风格。 在style内使用<mstts:express-as>属性应用以下任一样式:

angrychill surferconfusedcuriousdetermineddisgustedembarrassedemo teenagerempatheticencouragingexcitedfearfulfriendlygratefuljoyfulmad scientistmeditativenarrationneutralnew yorkernewsreflectiveregretfulrelievedsadsantashysoft voicesurprised

注意

此版本的 en-US-Avaen-US-Andrew 支持语音风格。 样式结果与输入内容密切相关:模型根据文本的语义含义调整样式应用程序。

Dragon HD Omni 语音命名约定

Dragon HD Omni 语音的命名遵循以下模式:languagelocale-voicename:DragonHDOmniLatestNeural 可以通过在语音名称格式中添加后缀 :DragonHDOmniLatestNeural 来快速找到 Omni 版本。

示例:

之前的神经语音 Omni版语音名称
de-DE-ConradNeural de-DE-Conrad:DragonHDOmniLatestNeural

如何使用 Azure 语音 HD 声音

可以通过与非 HD 声音相同的语音 SDK 和 REST API 使用 HD 声音。

使用 Azure Speech HD 语音功能时需要考虑以下要点:

  • 声音区域设置:声音名称中的区域设置指示其原始语言和区域。
  • 基础模型
    • HD 声音附带一个基础模型,该模型可理解输入文本并相应地预测说话模式。 可以根据每个声音的可用性指定所需的模型(如 DragonHDLatestNeural)。
  • SSML 用法:若要在 SSML 中引用声音,请使用格式 voicename:basemodel:version。 冒号前的名称(例如de-DE-Seraphina)是声音角色名称及其原始语言环境。 基础模型会在后续更新中按版本跟踪。
  • 温度参数
    • 温度值为 0 到 1 的浮点,影响输出的随机性。 还可以调整温度参数来控制输出的变化。 更低的随机性会产生更稳定的结果,而更高的随机性会提供多样性而减少一致性。
    • 温度较低会导致随机性较低,从而导致更可预测的输出。 温度较高会增加随机性,从而带来更多样化的输出。 默认温度设置为 1.0。

下面是一个例子,说明如何在 SSML 中使用 Azure 语音 HD 语音:

<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-Ava:DragonHDLatestNeural' parameters='temperature=0.8'>Here is a test</voice>
</speak>

Dragon HD Omni 高级功能

通过 Express-As 进行风格控制

Dragon HD Omni 支持使用具有自然语言描述的 mstts:express-as 元素的高级样式控制。 下面是一个示例:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-us-ava:DragonHDOmniLatestNeural">
    <mstts:express-as style="sick">
      Ugh… I'm not feeling so great today. My head's pounding, and even my voice sounds like it's been through a blender. I think I need to lie down for a bit… maybe some soup would help.
    </mstts:express-as>
  </voice>
</speak>

多语言支持

所有 Dragon HD Omni 语音都支持使用自动语言检测的多种语言。 还可以使用该 <lang xml:lang> 标记显式指定说话语言和口音:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" 
        xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-us-ava:DragonHDOmniLatestNeural">
    <lang xml:lang="fr-FR">
      Bonjour ! Ce matin, j'ai pris un café au jardin du Luxembourg. Il faisait frais, mais très agréable. Ensuite, j'ai acheté une baguette et quelques macarons. Paris est vraiment charmant.
    </lang>
  </voice>
</speak>

词边界事件

Dragon HD Omni 支持词边界事件,允许在卡拉OK、实时字幕和交互式语音体验等同步应用中实现精确的词级计时。

当单词边界事件触发时,它提供:

  • 文本:口述单词
  • AudioOffset:音频流中的时间偏移量(毫秒)
  • TextOffset:单词在输入文本中的位置

包含字边界事件的 Python 示例

import azure.cognitiveservices.speech as speechsdk

def word_boundary_cb(evt):
    print(f"Word: '{evt.text}', AudioOffset: {evt.audio_offset / 10000}ms, TextOffset: {evt.text_offset}")

speech_config = speechsdk.SpeechConfig(subscription="YourSubscriptionKey", region="YourServiceRegion")
synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)

synthesizer.synthesis_word_boundary.connect(word_boundary_cb)

ssml = """
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis'
       xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
  <voice name='en-us-ava:DragonHDOmniLatestNeural'>
    Hello Azure, welcome to Dragon HD Omni!
  </voice>
</speak>
"""

result = synthesizer.speak_ssml_async(ssml).get()

示例输出:

Word: 'Hello', AudioOffset: 110.0ms, TextOffset: 182
Word: 'Azure', AudioOffset: 590.0ms, TextOffset: 188
Word: ',', AudioOffset: 1110.0ms, TextOffset: 193
Word: 'welcome', AudioOffset: 1270.0ms, TextOffset: 195
Word: 'to', AudioOffset: 1750.0ms, TextOffset: 203
Word: 'Dragon HD Omni', AudioOffset: 1910.0ms, TextOffset: 206
Word: '!', AudioOffset: 2750.0ms, TextOffset: 216

Dragon HD Omni 的高级参数优化

Dragon HD Omni 支持高级参数优化,以自定义不同方案的语音输出。

参数参考

参数 违约 范围 目的
temperature 0.7 0.3–1.0 调控创造力与稳定性
top_p 0.7 0.3–1.0 过滤输出以确保多样性
top_k 22 1–50 限制考虑的选项数
cfg_scale 1.4 1.0–2.0 调整相关性和语音速度

调优策略

表现力与稳定性之间的关系:

  • 更高的 temperaturetop_ptop_k 值会导致语音更加富有表现力和情感上的变化。
  • 较低的值生成更稳定且可预测的输出
  • 建议:保持 top_p 等于 temperature 获得最佳结果

为了速度和上下文相关性:

  • cfg_scale 影响语音说话的速度以及语音与上下文的匹配程度
    • 更高的数值(1.8–2.0):语音速度更快且上下文相关性更强
    • 较低值 (1.0–1.2): 语音速度较慢,上下文对齐较少

建议的优化表

目标 建议的调整
更具表现力 增加 temperaturetop_ptop_k 一起
更稳定 首先降低temperature,然后根据需要进行调整top_p
更快速且更具针对性 增加 cfg_scale
较慢和中性 减少 cfg_scale

参数用法示例

单个参数调整:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" 
        xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-us-ava:DragonHDOmniLatestNeural" parameters="top_p=0.8">
    Hello Azure!
  </voice>
</speak>

多个参数的调整:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" 
        xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
  <voice name="en-us-ava:DragonHDOmniLatestNeural" parameters="top_p=0.8;top_k=22;temperature=0.7;cfg_scale=1.2">
    Hello Azure! Welcome to Dragon HD Omni!
  </voice>
</speak>

Azure 语音 HD 声音支持和不支持的 SSML 元素

包含输入文本的语音合成标记语言 (SSML) 确定了文本转语音输出的结构、内容和其他特征。 例如,可以使用 SSML 来定义段落、句子、中断/暂停或静音。 可以使用事件标记(例如书签或视素)包装文本,由应用程序稍后处理。

Azure 语音 HD 语音支持不同的 SSML 元素,具体会因模型而有所不同。

  • DragonHD 语音:支持一部分 SSML 元素(请参阅下表)
  • Dragon HD Omni 语音:支持额外元素,包括用于风格控制的 mstts:express-as 和单词边界事件

有关 Azure 语音 HD 语音支持的和不支持的 SSML 元素的详细信息,请参阅下表。 有关如何使用 SSML 元素的说明,请参阅语音合成标记语言 (SSML) 文档

SSML 元素 说明 DragonHD Dragon HD Omni
<voice> 指定声音和可选效果(eq_careq_telecomhp8k)。
<mstts:express-as> 指定讲话风格和角色。
<mstts:ttsembedding> 指定个人声音的 speakerProfileId 属性。
<lang xml:lang> 指定讲话语言。
<prosody> 调整音节、调型、范围、语速和音量。
<emphasis> 添加或删除文本的单词级强调。
<audio> 将预先录制的音频嵌入 SSML 文档中。
<mstts:audioduration> 指定输出音频的持续时间。
<mstts:backgroundaudio> 在您的 SSML 文档中添加背景音频,或将音频文件与文本转语音混合。
<phoneme> 指定 SSML 文档中的发音。
<lexicon> 定义如何在 SSML 中读取多个实体。 是(仅支持别名) 是(仅支持别名)
<say-as> 指示元素的文本的内容类型,例如数字或日期。
<sub> 指示应读出别名属性的文本值,而不是元素中包含的文本。
<math> 使用 MathML 作为输入文本,以便在输出音频中正确读出数学符号。
<bookmark> 获取音频流中每个标记的偏移量。
<break> 替代字词之间的默认中断或暂停行为。
<mstts:silence> 在文本前后或在两个相邻句子之间插入停顿。
<mstts:viseme> 定义一个人说话时面部和嘴巴的位置。
<p> 表示 SSML 文档中的段落。
<s> 表示 SSML 文档中的句子。

注意

尽管 本指南前面的部分 还将 Azure 语音 HD 语音与 Azure OpenAI HD 语音进行比较,但 Azure 语音支持的 SSML 元素不适用于 Azure OpenAI 语音。

HD Flash 语音

HD Flash 语音是所选 DragonHD 语音的优化变体,目前支持中文(zh-CN)和英语(en-US)文本。 这些语音提供增强的自然性,可在标准 Azure 区域(eastus、、westeuropesoutheastasia)以及中国区域(chinaeast2chinanorth2、)chinanorth3中使用。

下面是可用 HD Flash 语音的完整列表:

声音名称 性别
zh-CN-Xiaochen: DragonHDFlashLatestNeural 女性
zh-CN-小晓:DragonHDFlashLatestNeural 女性
zh-CN-Xiaoxiao2:DragonHDFlashLatestNeural 女性
zh-CN-Yunxia:DragonHDFlashLatestNeural
zh-CN-Yunxiao:DragonHDFlashLatestNeural
zh-CN-Yunye:DragonHDFlashLatestNeural
zh-CN-Yunyi:DragonHDFlashLatestNeural

注意

HD Flash 仅支持在 zh-CNen-US 中的文本。

在 DragonHD 和 Dragon HD Omni 之间进行选择

这两种 HD 语音模型都提供高质量的合成,但它们提供不同的用例:

注意事项 DragonHD Dragon HD Omni
语音数 30 多个经过微调的语音 700 多个语音(包括以前的语音和新的 AI 生成的语音)
语音多样性 仅限于预定义角色 包含所有库语音的多种不同特征
样式控件 仅限温度和高级参数 Ava 和 Andrew 支持自动风格预测和 100 多种风格控制
用例 客户服务、辅助功能、以一致性为中心的应用程序 内容创建、有声书、播客、多样化的角色需求

何时使用每个模型

如果你选择DragonHD:

  • 为了达到高质量,需要为特定语言创建特定的语音角色。
  • 构建企业客户服务应用程序
  • 希望通过温度和高级参数进行微调控制

如果符合以下情况,请选择 Dragon HD Omni:

  • 需要具有多种语音选项的灵活性
  • 正在创建多样化的内容(音录、播客、讲故事)
  • 希望从当前神经语音升级,但相关区域设置尚未支持 HD 模型
  • 对于不同的用例,需要广泛的角色多样性