TTS 概述
目录
TTS 概述#
为 Riva TTS 服务实现的文本到语音 (TTS) 管道基于两阶段管道。Riva 首先使用第一个模型生成梅尔频谱图,然后使用第二个模型生成语音。此管道形成一个 TTS 系统,使您能够从原始文本记录合成自然 звучащий 语音,而无需任何其他信息,例如语音的模式或节奏。
Riva TTS 支持流式和批量推理模式。在批量模式下,音频在生成请求文本的完整音频序列后才会返回,并且可以实现更高的吞吐量。在发出流式请求时,音频块会在生成后立即返回,从而显着减少大型请求的延迟(以首次音频时间衡量)。
试用#
在我们的演示平台上体验 Riva TTS: https://build.nvidia.com/explore/speech
预训练 TTS 模型#
用于在快速入门脚本中生成 RMIR 的 .riva
模型可以在以下 NGC 位置找到。下表还列出了受支持的语音名称和使用这些模型生成的示例。
语言 |
模型 |
数据集 |
G2P |
性别 |
语音 |
语音示例 |
---|---|---|---|---|---|---|
英语 (en-US) |
美式英语 |
IPA |
多说话人 |
|
||
英语 (en-US) |
美式英语 |
IPA |
多说话人 |
|
||
英语 (en-US) |
美式英语 |
IPA |
多说话人 |
|
||
英语 (en-US) |
LJSpeech |
ARPABET |
|
|||
英语 (en-US) |
美式英语 |
ARPABET |
多说话人 |
|
||
普通话 (zh-CN) |
中文普通话 |
IPA |
多说话人 |
|
||
西班牙语 (es-ES) |
公共/专有 |
IPA |
女性 |
|
||
西班牙语 (es-ES) |
公共/专有 |
IPA |
男性 |
|
||
美式西班牙语 (es-US) |
公共/专有 |
IPA |
多说话人 |
|
||
意大利语 (it-IT) |
公共/专有 |
IPA |
女性 |
|
||
意大利语 (it-IT) |
公共/专有 |
IPA |
男性 |
|
||
德语 (de-DE) |
公共/专有 |
IPA |
男性 |
|
注意
T5 TTS 目前是 Beta 版本。
语言支持#
Riva 语音 AI 技能提供多种语言的预训练模型,这些模型在上面部分列出。升级后的模型和新语言会定期发布。
要选择要部署的语言,只需在快速入门脚本的 quickstart
目录中的 config.sh
文件中更改变量 tts_language_code
即可。
Zero Shot TTS (Beta 功能)#
Riva 引入了 Zero Shot TTS 作为 Beta 功能。此功能允许用户提供语音提示,使模型能够适应提示中的声音并使用它合成语音。
情感混合 (Beta 功能)#
Riva 现在支持情感强度的混合作为 Beta 功能。这将允许用户控制音频中的情感。此功能可通过 SSML emotion attribute 访问。目前,量化仅支持 Female
的 calm
、angry
、fearful
、neutral
和 happy
,以及 male
的 calm
、happy
和 neutral
。
自定义发音词典#
Riva TTS 支持提供文本词典,以获取服务器合成的特定单词的所需发音。此自定义词典必须包含一个单词(字素),后跟所需的发音(音素),两者之间用两个空格分隔。不同的此类单词和发音对可以在输入词典文件的新行中提供。输入词典文件可以在从客户端配置请求时在 custom_dictionary
field 中传递。
检查已部署的模型#
一旦服务器运行,就可以通过 GetRivaSynthesisConfig
RPC 检索可用模型。对于每个可用于发出推理请求的模型,RPC 返回模型部署时使用的参数。
输出音频编码#
除了默认的脉冲编码调制 (PCM) 输出流之外,您还可以选择 Opus 编码和压缩流。压缩使您能够显着降低网络带宽。