你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
什么是高清声音? (预览版)
注意
此功能目前处于公开预览状态。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
Azure AI 语音在文本转语音技术领域继续取得进展,推出了神经网络文本转语音高清 (HD) 声音。 HD 语音可以理解内容,自动检测输入文本中的情绪,并实时调整说话语调,使之与情绪匹配。 HD 语音保持与其神经网络语音(和非高清语音)一致的声音特征,甚至会通过增强的功能提供更多价值。
神经网络文本转语音 HD 声音的主要功能
以下是 Azure AI 语音 HD 声音的主要功能:
关键功能 | 说明 |
---|---|
类人类语音生成 | 神经网络文本转语音 HD 声音可以生成高度自然和类似于人类的语音。 该模型基于数百万小时的多语言数据进行训练,使模型能够准确解释输入文本,并使用适当的情感、速度和节奏生成语音,无需手动调整。 |
对话 | 神经网络文本转语音 HD 声音可以复制自然语音模式,包括自发暂停和强调。 给定对话文本时,模型可以重现常见的音素,如停顿和填充词。 生成的声音听起来像是有人直接与你交谈。 |
韵律变化 | 神经网络文本转语音 HD 声音在每个输出中引入了轻微的变化,以增强真实感。 这些变化使语音听起来更自然,因为人类的声音会自然地表现出变化。 |
高保真度 | 神经网络文本转语音 HD 声音的主要目标是生成高保真音频。 我们系统生成的合成语音可以紧密模仿人类语音的质量和自然性。 |
版本控制 | 对于神经网络文本转语音 HD 声音,我们发布了相同声音的不同版本,每个版本都有独特的基础模型大小和配方。 这样,你就有机会体验新的声音变体,或者继续使用特定版本的声音。 |
Azure AI 语音 HD 声音与其他 Azure 文本转语音声音的比较
Azure AI 语音 HD 声音与其他 Azure 文本转语音声音相比如何? 它们在特性和功能方面有何不同?
下面是 Azure AI 语音 HD 声音、Azure OpenAI HD 声音和 Azure AI 语音声音之间的功能比较:
功能 | Azure AI 语音 HD 声音 | Azure OpenAI HD 声音 | Azure AI 语音声音(非 HD) |
---|---|---|---|
区域 | 美国东部、东南亚、西欧 | 美国中北部、瑞典中部 | 在数十个区域中可用。 请参阅区域列表。 |
声音数 | 12 | 6 | 超过 500 |
多语言 | 否(仅对主要语言执行) | 是 | 是(仅适用于多语言声音) |
SSML 支持 | 对一部分 SSML 元素的支持。 | 对一部分 SSML 元素的支持。 | 对 Azure AI 语音中全套 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 AI 语音 HD 声音
Azure AI 语音 HD 声音值采用 voicename:basemodel:version
格式。 冒号前的名称(例如 en-US-Ava
)是声音角色名称和其原始区域设置。 基础模型会在后续更新中按版本跟踪。
目前,DragonHD
是 Azure AI 语音 HD 声音的唯一基础模型。 若要确保你使用的是我们提供的最新版本的基础模型,而无需进行代码更改,请使用 LatestNeural
版本。
例如,对于角色 en-US-Ava
,可以指定以下 HD 声音值:
en-US-Ava:DragonHDLatestNeural
:始终使用我们稍后提供的基础模型的最新版本。
下表列出了当前可用的 Azure AI 语音 HD 声音。
神经网络声音角色 | HD 声音 |
---|---|
de-DE-Seraphina | de-DE-Seraphina:DragonHDLatestNeural |
en-US-Andrew | en-US-Andrew:DragonHDLatestNeural |
en-US-Andrew2 | en-US-Andrew2:DragonHDLatestNeural |
en-US-Aria | en-US-Aria:DragonHDLatestNeural |
en-US-Ava | en-US-Ava:DragonHDLatestNeural |
en-US-Brian | en-US-Brian:DragonHDLatestNeural |
en-US-Davis | en-US-Davis:DragonHDLatestNeural |
en-US-Emma | en-US-Emma:DragonHDLatestNeural |
en-US-Emma2 | en-US-Emma2:DragonHDLatestNeural |
en-US-Jenny | en-US-Jenny:DragonHDLatestNeural |
en-US-Steffan | en-US-Steffan:DragonHDLatestNeural |
ja-JP-Masaru | ja-JP-Masaru:DragonHDLatestNeural |
zh-CN-Xiaochen | zh-CN-Xiaochen:DragonHDLatestNeural |
如何使用 Azure AI 语音 HD 声音
可以通过与非 HD 声音相同的语音 SDK 和 REST API 使用 HD 声音。
下面是使用 Azure AI 语音 HD 声音时要考虑的一些要点:
- 声音区域设置:声音名称中的区域设置指示其原始语言和区域。
- 基础模型:
- HD 声音附带一个基础模型,该模型可理解输入文本并相应地预测说话模式。 可以根据每个声音的可用性指定所需的模型(如 DragonHDLatestNeural)。
- SSML 用法:若要在 SSML 中引用声音,请使用格式
voicename:basemodel:version
。 冒号前的名称(例如de-DE-Seraphina
)是声音角色名称和其原始区域设置。 基础模型会在后续更新中按版本跟踪。 - 温度参数:
- 温度值为 0 到 1 的浮点,影响输出的随机性。 还可以调整温度参数来控制输出的变化。 更低的随机性会产生更稳定的结果,而更高的随机性会提供多样性而减少一致性。
- 温度较低会导致随机性较低,从而导致更可预测的输出。 温度较高会增加随机性,从而带来更多样化的输出。 默认温度设置为 1.0。
下面是如何在 SSML 中使用 Azure AI 语音 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>
Azure AI 语音 HD 声音支持和不支持的 SSML 元素
包含输入文本的语音合成标记语言 (SSML) 确定了文本转语音输出的结构、内容和其他特征。 例如,可以使用 SSML 来定义段落、句子、中断/暂停或静音。 可以使用事件标记(例如书签或视素)包装文本,由应用程序稍后处理。
Azure AI 语音 HD 声音不完全支持其他 Azure AI 语音声音支持的 SSML 元素或事件。 特别需要注意的是,Azure AI 语音 HD 声音不支持字边界事件。
有关 Azure AI 语音 HD 声音支持和不支持的 SSML 元素的详细信息,请参阅下表。 有关如何使用 SSML 元素的说明,请参阅语音合成标记语言 (SSML) 文档。
SSML 元素 | 说明 | Azure AI 语音 HD 声音支持 |
---|---|---|
<voice> |
指定声音和可选效果(eq_car 和 eq_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 AI 语音 HD 声音与 Azure OpenAI HD 声音进行了比较,但 Azure AI 语音支持的 SSML 元素不适用于 Azure OpenAI 声音。