在语音合成 (TTS) 系统中,声码器负责将中间声学表示(例如频谱图或语言特征)转换为原始音频波形。这个过程弥合了 TTS 模型输出的符号或参数表示与最终可听语音之间的差距。例如,现代神经 TTS 流水线通常首先生成一个梅尔频谱图,它编码了频率和时间信息,但缺少相位数据。声码器的作用是推断缺失的相位细节,并重建听起来自然、逼真的人类可感知波形。没有这一步,输出将仍然是抽象的表示,无法用于播放。
技术过程涉及通过模拟声学特征和时域信号之间的关系来合成波形。传统的声码器,如 Griffin-Lim 算法,使用迭代方法从频谱图估计相位信息,但这些方法通常会产生听起来像机器人的语音。神经声码器,例如 WaveNet 或 Parallel WaveGAN,采用深度学习直接生成高保真音频。例如,WaveNet 使用自回归网络逐步预测每个音频样本,利用输入频谱图中的模式。相比之下,基于 GAN 的声码器,如 HiFi-GAN,训练一个生成器来产生波形,同时由一个判别器评估其逼真度,从而实现更快的合成。这些方法解决了平衡音频质量和计算效率的挑战,这对于实时应用至关重要。
将声码器集成到 TTS 系统中的开发者必须权衡质量、速度和资源使用。例如,WaveNet 等自回归模型生成高质量音频,但由于逐样本生成而速度较慢。非自回归的替代方案,如 Parallel WaveGAN,牺牲了一些保真度以换取更快的推理速度,使其适用于语音助手等实时应用。此外,声码器在很大程度上依赖于输入特征的质量——估计不佳的频谱图会导致输出中出现伪影。NVIDIA 的 Tacotron 或 Google 的 TFGAN 等工具提供了预训练的声码器模型,开发者可以针对特定用例进行微调。理解这些权衡有助于开发者根据项目需求选择合适的声码器架构,无论优先考虑自然度、延迟还是计算限制。