语音合成
注释
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
语音合成(也称为文本转语音(TTS)可将书面文本转换为语音音频。 当虚拟助手阅读通知、导航应用报出方向或辅助功能工具帮助用户以听觉方式使用书面内容时,你会遇到语音合成。
语音合成系统通过四个不同的阶段处理文本。 每个阶段以增量方式转换输入,生成最终音频波形,听起来自然且清晰。
文本规范化:标准化文本
文本规范化通过将缩写、数字和符号扩展为语音形式,为发音准备原始文本。
考虑这句话:“史密斯博士在2023年12月15日订购了3件商品,总计25.50美元。”
规范化系统将其转换为:“Doctor Smith ordered three items for twenty-five dollars and fifty cents on December fifteenth, two thousand twenty-three.”
常见的规范化任务包括:
- 扩展缩写(“Dr.”变为“Doctor”、“Inc.”成为“Incorporated”)
- 将数字转换为单词(“3”变为“三”、“25.50”变为“二十五点五零”)
- 处理日期和时间(“2023/12/15”成为“二零二三年十二月十五日”)
- 处理符号和特殊字符(“$”变为“dollars”、“@”变为“at”)
- 根据上下文来区分同音词(将“read”解释为现在时态而非过去时态)
文本规范化可防止系统尝试发音原始符号或数字,这将产生非自然或不可理解的输出。
小窍门
不同的域需要专用规范化规则。 医疗文本处理药物名称和剂量的方式不同于财务文本处理货币和百分比。
语言分析:将文本映射到音素
语言分析将规范化文本分解为 音素 (声音的最小单位),并确定如何发音每个单词。 语言分析阶段:
- 将文本分段为单词和音节。
- 在词典(发音词典)中查找单词发音。
- 应用 G2P 规则或神经模型来处理未知字词。
- 标记音节边界并标识强调的音节。
- 确定相邻声音的拼音上下文。
书写符号到音素转换
字形到音素(G2P)转换将字形(graphemes)映射到发音(音素)。 英语拼写无法可靠地指示发音,因此 G2P 系统同时使用规则和学习模式。
例如:
- “though” 转换为 /θoʊ/
- “through”一词转换为 /θruː/
- “咳嗽”一词转换为 /kɔːf/
每个单词都包含字母“ough”,但发音差异很大。
新式 G2P 系统使用根据发音字典训练的神经网络。 这些模型学习拼写和声音之间的模式,处理不常见的字词、适当名称和区域变体比基于规则的系统更优雅。
确定音素时,语言分析通常使用 转换器 模型来帮助考虑 上下文。 例如,单词“read”在“我 读 书”中发音不同(目前时态: /riːd/)和“我昨天 读 过这本书”(过去时态: /rɛd/)。
韵律生成:确定发音
韵律指的是使语音听起来自然的节奏、重音和语调模式。 韵律生成决定了要如何说出词语,而不仅仅是要发出哪些声音。
韵律的元素
Prosody 包含多个声乐特征:
- 音调轮廓:表示疑问或陈述的上升或下降声调模式
- 持续时间:每个音符应持续多久,以达到强调效果或形成自然的节奏感
- 音量强度:音量变化,突出显示重要字词
- 暂停:帮助理解的短语或句子之间的中断
- 重音模式:在单词和句子中会强调哪些音节
Prosody 对语音文本的解释方式产生了重大影响。 例如,请考虑以下句子如何更改含义,具体取决于强调哪个音节或单词:
- “我 从来没有说他吃蛋糕。
- “我从来没有说 他 吃蛋糕。
- “我从来没有说他 吃 蛋糕。
- “我从来没有说他吃 蛋糕。
基于Transformer的韵律预测
现代语音合成系统使用转换器神经网络来预测韵律。 Transformer模型擅长理解整个句子的上下文,而不仅仅是相邻的单词。
语调生成过程
- 输入编码:转换器接收具有语言特征的音素序列(标点符号、部分语音、句子结构)
- 上下文分析:自注意力机制识别字词之间的关系(例如,代词所指代的名词,句子的边界在哪里)
- 韵律预测:模型输出每个音符的音调、持续时间和能量的预测值
- 风格因素:系统考虑说话风格(中性、表达性、对话性)和说话人特征
转换器通过学习数千小时的录音语音及其对应的文本,来预测语音的韵律特征。 该模型发现了模式:问题在句末音调上升,逗号表示短暂暂停,强调的单词略微拉长,句末的单词通常音调下降。
影响韵律选择的因素:
- 语法:子句边界指示暂停的位置
- 语义:重要概念得到强调
- 话语上下文:对比信息或问题的答案可能会产生额外的压力
- 说话人标识:每个语音都有特征音调范围和说话速率
- 情感语气:兴奋、关注或中立影响韵律模式
韵律预测会生成一个目标规范:“以 180 赫兹的频率、中等强度发出音素 /æ/,持续 80 毫秒,然后停顿 200 毫秒”。
重要
声韵极大地影响自然性。 机器人语音通常来自平淡单调的语调,而不是来自不完美的音位发音。
语音合成:生成音频
语音合成根据音素序列和音素规范生成最终音频波形。
波形生成方法
新式系统使用神经网络声码器——一种可直接生成音频样本的深度学习模型。 常用的 vocoder 体系结构包括 WaveNet、WaveGlow 和 HiFi-GAN。
合成过程:
- 声学特征生成:声学模型(通常是Transformer模型)将音素和韵律目标转换为梅尔光谱图——声音频率随时间变化的可视化表示形式。
- Vocoding:神经声码器将梅尔频谱图转换为原始音频波形(每秒 16,000-48,000 个样本的振幅值序列)
- 后期处理:系统应用筛选、规范化或音频效果以匹配目标输出规范
注释
是什么让神经声码器有效?
- 高保真度:生成接近录音室录音的音频质量
- 自然性:捕捉微妙的声乐特征,如呼吸和语音质量
- 效率:新式硬件上的实时生成(对于交互式应用程序很重要)
- 灵活性:适应不同的说话人、语言和说话风格
vocoder 实际上进行与自动语音识别相反的操作——语音识别将音频转换为文本,而 vocoder 将语言表示转换为音频。
运行中的完整管道
当你请求进行语音合成“陈博士的预约在下午3点”时:
- 文本规范化 将其扩展到“陈医生的预约是下午三点”
- 语言分析将其转换为音素:/ˈdɑktər ˈtʃɛnz əˈpɔɪntmənt ɪz æt θri əˈklɑk pi ɛm/
- 韵律生成预测到在“appointment”一词上音调略微上升,在“is”之后有一个停顿,并在“three”上有重读
- 语音合成 生成与这些规范匹配的音频波形
整个过程通常在现代硬件上不到一秒完成。