跳到主要内容

语音合成(TTS)

文字转语音(Text-to-Speech,TTS)技术将书面文字转化为自然流畅的语音,是人机交互中不可或缺的输出模态。从早期机械感十足的机器人声音,到如今与真人难以区分的神经网络语音,TTS 技术经历了深刻的变革。

TTS 任务定义

TTS 的核心任务:

输入:文字字符串(可包含标点、数字、英文缩写等)
输出:音频波形(PCM 数据,通常 22050Hz 或 24000Hz 采样率)

高质量 TTS 系统需要满足:

  • 自然度:语音听起来自然、流畅,不机械
  • 可懂度:发音准确清晰,听众能轻松理解
  • 情感表达:语调、节奏、重音符合语义情感
  • 说话人一致性:在长段语音中保持音色的一致性
  • 实时性:对话场景下需要低延迟输出(首字节时间 <500ms)

传统拼接合成

最早的 TTS 系统采用**单元选取(Unit Selection)**方法:将大量真人录音切割为音素、音节等单元,合成时从数据库中检索最匹配的单元进行拼接。

  • 优点:拼接单元来自真实录音,音质局部逼真
  • 缺点:拼接边界处有明显不自然感;数据库通常只支持单一说话人;录制成本高昂
  • 代表系统:CMU Festival、AT&T Natural Voices(早期商业系统)

统计参数合成(HMM-TTS)

基于**隐马尔可夫模型(HMM)**的参数合成方法:

  • 不直接拼接录音,而是从数据中学习声学参数(基频 F0、频谱参数)的统计模型
  • 合成时从模型中生成参数序列,再通过**声码器(Vocoder)**将参数转换为音频波形
  • 代表工具:HTS(HMM-based Speech Synthesis System)
  • 优点:声音平滑连贯,支持多说话人;缺点:声音听起来"机械",缺乏自然度

神经 TTS 演进

WaveNet(DeepMind,2016)

WaveNet 是神经 TTS 的里程碑,使用**扩张因果卷积(Dilated Causal Convolution)**直接在波形级别生成音频:

  • 每个采样点的生成条件化于所有历史采样点
  • 膨胀卷积的感受野覆盖数百毫秒的历史音频
  • 音质显著优于 HMM 系统,接近真人水平

缺点:自回归生成,实时率远低于 1(每秒只能生成约 0.02 秒音频),无法实时使用。

Tacotron / Tacotron 2(Google,2017-2018)

Tacotron 系列引入了两阶段的神经 TTS 框架(至今仍是主流架构模式):

文字 → 文本编码器(LSTM/Transformer)
→ 注意力机制(对齐文字与声学帧)
→ 声学解码器 → 梅尔频谱(Mel Spectrogram)
梅尔频谱 → 声码器(WaveNet/Griffin-Lim)→ 音频波形

Tacotron 2 配合 WaveNet 声码器,生成质量已达到令人满意的自然度。

FastSpeech / FastSpeech 2(微软,2019-2020)

FastSpeech 解决了 Tacotron 的两个核心问题:

  • :自回归生成逐帧输出,FastSpeech 改为非自回归并行生成,速度提升 30 倍
  • 对齐不稳定:依赖注意力对齐有时会跳字或重复,FastSpeech 引入显式**时长预测器(Duration Predictor)**明确控制每个音素对应多少帧

FastSpeech 2 进一步增加了**音高(Pitch)能量(Energy)**预测,使情感控制成为可能。

声码器(Vocoder)

声码器将声学特征(梅尔频谱)还原为音频波形,是 TTS 音质的关键:

  • WaveNet:最高质量,但速度慢(不实用于实时)
  • WaveGlow(NVIDIA,2018):基于 Flow 的并行声码器,实时推理
  • HiFi-GAN(2020):GAN-based 声码器,速度快(实时率 >100x)、质量高,成为当前最广泛使用的声码器之一
  • BigVGAN:HiFi-GAN 的改进版,更好的泛化性

零样本声音克隆

零样本声音克隆(Zero-shot Voice Cloning)只需极少量参考音频(3-30 秒)即可合成任意文字的对应说话人声音,是近年最引人注目的 TTS 进展。

XTTS(Coqui,2023)

XTTS 是目前最强大的开源零样本克隆模型:

  • 仅需 3-6 秒参考音频
  • 支持 17 种语言(含中文)的克隆与合成
  • 推理速度可达实时,适合对话场景

Tortoise TTS

Tortoise 以极高的克隆质量著称,通过多次采样和重排序提升质量,但速度较慢,更适合离线高质量生成。

Fish Speech

国内开源项目,专门针对中文进行优化,支持多说话人、情感控制,生成质量接近商业水平。

实时 TTS:VITS / Fish Speech

VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech) 实现了完全端到端的 TTS,直接从文字生成波形,无需中间梅尔频谱:

  • 结合 VAE + 对抗训练 + Flow 实现高质量生成
  • 推理速度快,适合实时对话
  • 支持通过说话人 embedding 实现多说话人

VITS2Fish Speech 在 VITS 基础上进一步提升中文效果和稳定性。

商业 TTS API 对比

服务商产品中文质量克隆功能实时延迟特色
ElevenLabs-良好是(3-30s)中等情感控制最佳,英文顶级
微软 AzureNeural TTS优秀是(自定义声音)稳定性强,声音库丰富
阿里云语音合成优秀中文最优选之一
科大讯飞语音合成极佳中文 TTS 国内领先
Google CloudText-to-Speech良好WaveNet 加持
OpenAITTS API一般否(6 种预设)集成简单,GPT 生态

在 AI 语音助手中的应用

TTS 是 AI 语音助手(如 Siri、小爱同学、ChatGPT Voice Mode)的声音输出层,关键工程要求:

  • 流式输出:LLM 生成文字的同时,TTS 即时合成,减少等待时间(TTFA,Time to First Audio)
  • 停顿自然性:在标点符号处的停顿要自然,不能机械地"读字"
  • 中断处理:用户打断说话时,TTS 能快速停止当前合成
  • 情感匹配:根据对话内容的情感色彩调整语调(兴奋、安慰、正式等)
  • 多说话人:同一对话中不同角色使用不同音色(角色扮演、多人对话场景)