CC 咖啡猫的工作空间 Coding Space

语音合成与识别

原始素材:8-人工智能/8.09-speech-synthesis-recognition.md

从语音合成到声音克隆,探索 AI 如何让机器拥有“声音”

选择一个场景开始体验 AI 音频

0. 引言:物理声波的“数字化翻译”

人类的语音和世界上的各种声音,本质上是空气振动产生的连续物理声波 。但计算机的脑子里只有 01,它听不见声音。因此,让 AI 处理声音的第一步,就是跨越“物理世界”与“数字世界”的鸿沟。

这个过程叫做声数转换 (A/D 转换) ,其核心输出就是 脉冲编码调制 (PCM) 波形,也就是我们常见的音频数据。它由两个核心指标决定:

  1. 采样率 (Sample Rate) :一秒钟内给声波拍多少次“照片”。比如 16kHz 就是一秒钟记录 16,000 个振幅数字。
  2. 位深度 (Bit Depth) :每次拍照的“标尺”有多精细。16-bit 意味着振幅有 65,536 个层级的区分度。

但这带来了一个问题:一秒钟 16,000 个数字,一句话几十万个数字,信息量大且冗杂。如果直接把这长长的一维波形丢给神经网络去处理,这就好比让一个人通过凑近看毛衣上的一根根毛线结构,去判断这件毛衣的图案好不好看 ——这显然是极其困难的计算挑战。

1. 特征工程:给 AI 戴上“人类的耳朵”

既然直接看“一维波形 (Time-Domain)”行不通,科学家们便想到了一个降维打击的办法:把一维的声音,变成二维的频率图谱 (Frequency-Domain)。

1.1 从一条线到一张图:短时傅里叶变换 (STFT)

想象一下,听一首交响乐时,我们很少去在意某个瞬间空气振动的位移总量,我们更在意的是这段时间里有哪些乐器(不同频率)、声音有多大(能量)

通过短时傅里叶变换 (STFT) 这个数学魔法,我们可以把平铺直叙的声波,拆解成一张包含“时间、频率、能量(颜色深浅)”的二维矩阵图片,这被称为 频谱图 (Spectrogram) 。至此,处理声音的问题,被巧妙地转化为了 AI 更擅长处理的“看图”问题。

1.2 迎合听觉习惯:梅尔刻度 (Mel Scale)

物理学上的频率分布是线性的(0-100Hz 的跨度和 10000-10100Hz 一样长)。但人类的耳朵是非常“双标”的 :我们对低沉的声音(低频)变化极其敏感,却对尖锐的高保真声音(高频)的细微差别迟钝不已。

为了让 AI 能像人类一样,“把有限的注意力放在更重要的地方”,研究者引入了非线性的 梅尔滤波器组 (Mel Filterbanks) 。它在低频区域划分极细,高频区域则粗略包裹。 经过对数转换后,我们得到了当代音频 AI 的灵魂基石——梅尔频谱 (Mel-Spectrogram)

声音是波,但 AI 看到的是频谱图。探索波形如何变成 AI 能理解的“图像”

参数 说明
FFT 窗口 1024 短时傅里叶变换窗口大小
梅尔滤波器 80 模拟人耳非线性感知
刻度类型 特点
人耳感知(梅尔刻度) 非线性:100Hz→200Hz 与 10000Hz→10100Hz 感知差异相同
线性刻度 等距频率间隔,不符合人耳感知

2. 让大模型学会“外语”:两种主流生成范式

当提取完特征后,我们该如何教 AI 生成声音?目前学术界和工业界有两大并行的“魔法阵”。

2.1 范式一:把声音当文字 (Audio Tokenization)

伴随 ChatGPT 的火爆,科学家们思考:如果把声音也变成一个接一个的“汉字(Token)”,大语言模型(LLM)是不是就能直接唱歌说话了?

  • 压缩与量化 :依靠强大的 神经编解码器 (Neural Codec,如 EnCodec) 和 VQ-VAE 架构,一段几兆大小的音频会被极限压缩,最终变成一本字典里的一个个离散代号(比如序列:[82, 105, 33...])。
  • 生成接龙 :AI 模型只需像做文字接龙一样,预测下一个声音 Token 是什么。这极大地统一了多模态学习的底层架构!

🎵 音频 Tokenization:神经编解码器

编码流程:原始波形 (24kHz, 16-bit)Conv 1→4 (CNN 下采样,降维 320x)VQ 量化离散 Token (~1.5 kbps, Codebook 索引) → 解码流程:ConvT 4→1 (转置卷积上采样)重建波形 (24kHz)

模型 采样率 帧率 码本大小 层数 码率
EnCodec-24k 24 kHz 75 Hz 1024 4 1.5 kbps
EnCodec-48k 48 kHz 75 Hz 1024 5 3.0 kbps
SoundStream 16 kHz 50 Hz 1024 4.5 6.0 kbps
SNAC 24 kHz 43 Hz 4096 4 0.98 kbps
优势 说明
高效传输 将音频压缩到 ~1.5 kbps,比原始音频小 256 倍,适合网络传输
语言模型友好 离散 Token 可被 LLM 直接处理,实现文本到音频的统一建模
音乐生成 MusicGen、AudioLDM 等模型使用音频 Token 生成音乐和音效
语音合成 VALL-E、SoundStorm 等 TTS 模型直接生成音频 Token

💡神经音频编解码器: EnCodec (Meta)、SoundStream (Google)、SNAC 等模型使用 VQ-VAE 架构将音频压缩成离散 Token。这些 Token 可以被语言模型处理,实现高质量的音频生成和压缩。

2.2 范式二:把声音当画作 (Spectrogram Generation)

这是目前大量成熟语音软件的基石方案,可控性极佳。

  • 谱图生成 :AI 模型并不输出最终的音频波形,而是直接学习“文本”到“二维梅尔频谱图”的映射,像画家一样画出一张声学特征图。
  • 还原波形 (Vocoder) :由于频谱图丢失了相位等细节信息无法直接播放,我们需要一个声码器 (Vocoder,如 HiFi-GAN) 充当翻译官,将这张图完好无损地等效还原回能推动喇叭振动的一维波形。

3. 双端互逆:ASR 与 TTS 的协同翻译

让机器拥有“耳朵”和“嘴巴”,其实是在做两场南辕北辙的翻译:

  • 自动语音识别 (ASR) :将声音翻译为文字。这是一道多对一的收敛选择题 。模型(如 Whisper)必须在充满嘈杂环境噪音、口音变化、同音字干扰(“期中”与“期终”)的海量音频中,提炼锁定出唯一正确的语义文字。
  • 文本转语音 (TTS) :将文字翻译为声音。这是一道一对多的发散创作题 。同样一句干瘪的“你好”,它可以带着一万种不同的语速、情绪、停顿和嗓音。模型必须有能力脑补出这些缺失的参数。

探索语音识别和语音合成的互逆过程:ASR (音频 → 文本) | TTS (文本 → 音频)

维度 ASR(语音识别) TTS(语音合成)
输入 音频波形 文本序列
输出 文本序列 音频波形
难点 噪声、口音、同音词 韵律、情感、自然度
Pipeline 音频 → 特征 → Encoder → Decoder → 文本 文本 → Encoder → Decoder → 声码器 → 音频
本质 多对一的收敛选择题 一对多的发散创作题

互逆关系: ASR 和 TTS 是语音技术的两个核心方向,互为逆过程。ASR 将连续的音频信号转换为离散的文本,TTS 则将离散的文本转换为连续的音频信号。两者都依赖于声学模型和语言模型。

4. 从“挤牙膏”到“直通车”:TTS 核心架构换代

在了解了基础流程后,我们看看 TTS 引擎是如何追求极致速度和连贯性的。

  • 串行笨方法 (自回归 AR) :老一代模型必须遵循时间先后,生成完上一毫秒,才能以此为基准预测下一毫秒。这种方法虽然稳妥,但极易卡壳且速度缓慢
  • 神级预判 (非自回归 NAR) :后续的模型引入了时长预测器 (Duration Predictor) ,不再排队生成,而是一次性为每个声素“算命”出它该有的时长,接着兵分多路瞬间并行输出整句音频
  • 常微分快车道 (流匹配 Flow Matching) :这是当下的终极前沿方案 (如 F5-TTS)。它运用连续正规化流和常微分方程 (ODE) 等复杂数学原理,摒弃了传统的生硬搭建。模型学习的是一条从“纯白噪声”到“完美频谱”的最优直达运动轨迹(概率流)。不仅计算效率呈指数级上升,其声音的平滑与自然度也达到了巅峰。

探索文本如何变成语音,以及不同架构的优劣对比

TTS Pipeline:1. 文本处理 (分词 & 音素, G2P)2. 文本嵌入 (特征提取)3. 流匹配 (最优传输)4. 声码器 (频谱转波形)

特性 自回归 (AR) 非自回归 (NAR) 流匹配 (Flow)
生成速度 很快
音质 中高
稳定性
可控性
代表模型 类型 特点
Tacotron 2 AR 经典 AR 模型,音质优秀
FastSpeech 2 NAR 并行生成,速度快
F5-TTS Flow 最新 SOTA,10 步生成
CosyVoice Flow 阿里开源,支持多语言

TTS 演进趋势: 从早期的自回归模型(如 Tacotron)到非自回归(如 FastSpeech),再到最新的流匹配模型(如 F5-TTS),TTS 技术正在向更快、更稳定、更高质量的方向发展。

5. 零样本声音克隆 (Zero-Shot Voice Cloning)

仅仅在几年前,要想用 AI 模仿某人的声音,还得让他在极其安静的录音棚录上几万句话并花费数天训练模型。而今天,仅需 3 秒钟的语音条 ,AI 就能以假乱真。

这背后依赖一项核心技术:说话人特征编码器 (Speaker Encoder) 和度量学习。

  • 这不仅是一个监听器,更是一个**“基因提取仪”** 。它的任务是剥离掉音频里的背景噪音和具体说了什么话(Text),强行且唯一地抓取出关于你的生理恒定特征:声带有多宽?共鸣音腔有多大?咬字有什么习惯?
  • 这些特征最终会被压扁成一个几百维的说话人嵌入向量 (Speaker Embeddings, 如 x-vector) 。这串如同条形码般的数字完全表征了你的声音身份。随后的 TTS 模型只要“带上这串向量”进行条件生成,吐出的任何语言都会带上你的嗓音特色。

只需几秒钟的参考音频,AI 就能学会任何人的声音

步骤 操作 说明
1 提供参考音频 男声 A(低沉磁性)、女声 B(温柔甜美)、童声(活泼可爱)、老人(沧桑稳重)等
2 AI 学习声音特征 加载音频编码特征提取音色构建嵌入 (x-vector)
3 输入文本生成语音 带上说话人嵌入向量进行条件生成
参数 建议
⏱️ 参考音频时长 3-10 秒即可,质量比时长更重要
环境要求 安静环境,避免背景噪音
内容选择 包含多种音调和语速效果更好

技术原理: 声音克隆通过提取参考音频的音色、语调和说话风格特征,构建说话人嵌入向量。生成时,TTS 模型结合文本内容和说话人嵌入,合成与参考声音相似的语音。

6. 赋予灵魂:情感节奏与细粒度风格控制

一句“真的吗”,既可以是惊喜,也可以是愤怒质疑。商业级的高阶 AI 不仅要“读对字”,更要“带有感情”。

学术界提出了 全局风格 Token (GST) 以及特征瓶颈机制。大模型可以从海量的人类演绎录音中聚类提取出对应的“伤心”、“激动”、“慵懒”等抽象的软向量。 在工程落地时,我们还引入了基频 (F0,掌控音调升降)、能量 (Energy,掌控音量爆破音) 等直观的适配器调节参数,赋予了创作者像捏游戏人物脸型一样,精细捏合“语音情绪”的能力。

__🎭 情感与风格控制

情感 描述 情感 描述
中性 平稳自然 开心 轻快愉悦
悲伤 低沉缓慢 愤怒 激昂有力
兴奋 热情高涨 平静 舒缓放松

情感向量空间 (Emotion Embedding):中性 开心 悲伤 愤怒 兴奋 平静

控制参数 范围 说明
语速 慢 / 正常 / 快 (1x) 调整播放速度而不改变音调
音调 低 / 正常 / 高 (0) 改变基频 (F0) 曲线
音量动态 柔和 / 适中 / 激昂 (100%) 调整音量包络
停顿控制 紧凑 / 自然 / 舒缓 (150ms) 调整句间和短语间的停顿长度

全局风格 Token (Global Style Token)

GST (Global Style Token) 是一种从参考音频中提取风格特征的方法。模型学习将情感、语速、语调等风格信息编码成一组 Token,在推理时可以通过选择或插值这些 Token 来控制合成风格。

参考音频编码

用户提供一段带有目标情感的参考音频,编码器提取其风格特征向量。这个向量作为条件输入到 TTS 模型,指导生成相似风格的语音。

细粒度控制

现代 TTS 模型(如 CosyVoice、F5-TTS)支持细粒度的风格控制,包括:

  • 速度控制: 调整音频播放速度而不改变音调
  • 音调控制: 改变基频 (F0) 曲线
  • 能量控制: 调整音量包络
  • 停顿控制: 调整句间和短语间的停顿长度

💡情感控制: 现代 TTS 系统不仅能合成自然的语音,还能精确控制情感、语速、语调等风格特征。这使得 AI 配音可以适应不同的应用场景,从平静的客服对话到激昂的演讲。

7. 结语

从基础的数字信号转换(PCM),到降维提纯(Mel-Spectrogram),直至时下大火的基于“流匹配算法(Flow Matching)”和“神经编解码(Neural Codec)”的多模态大基座,音频 AI 正在上演一场从机械仿真向原生理解的跃升。

未来的人工智能代理(AI Agent),将彻底打通人类视、听、说的高维链路,像拥有真人直觉一般应对每一次交流!

8. 核心术语速查表 (Glossary)

术语 英文全称 释义
PCM Pulse-Code Modulation 脉冲编码调制,最原始、最庞大的一维音频波形记录方式。
STFT Short-Time Fourier Transform 短时傅里叶变换,将声音从随时间变化的单一振幅,变为兼具频率与能量的数学分析方法。
梅尔频谱 Mel-Spectrogram 大模型处理声音的基础特征:一种经过对数与人类非线性听觉偏好调整后的高价值二维音频图谱。
神经编解码器 Neural Codec 依靠极其硬核的变分自编码残差技术,将超大尺寸连续声波高度压缩转化成离散标号(Token)的 AI 组件。
Vocoder 声码器 “逆向翻译官”:负责将二维的梅尔频谱图重新物理渲染回能驱动音响发声的一维音频波形。
Speaking Embeddings 说话人特征向量 将特定人员的专属嗓音音色固定下来的极高维度且不可变的数学 ID(如 x-vector)。
Flow Matching 流匹配 将正态分布转化为经验数据分布的一种无需昂贵微分随机计算,而是沿常微分方程建立一条常态直线平滑生成路径的前沿 AI 推断过程。