[具身智能-463]:无论语音识别,还是语音合成,为什么不直接在时域波形与文字之间映射,而必须通过中间的频域进行转换?
这是一个非常深刻且直击本质的问题这触及到了信号处理和深度学习在语音领域的核心逻辑。简单来说时域波形Waveform就像是“原材料”杂乱无章且冗余而频域Frequency Domain就像是“加工后的图纸”结构清晰且特征明显。之所以必须或者说倾向于经过频域转换主要基于以下三个核心原因1. 信息的“纠缠”与“解耦”在时域波形中声音的所有信息音高、音色、内容、音量都纠缠在一起。时域的困境如果你直接看波形你会发现即使是同一个人说同一个字只要语速快一点、声音大一点波形的形状就会发生剧烈变化。对于计算机来说直接从这些起伏的曲线中寻找规律就像是在“在一团乱麻中找线头”难度极大。频域的优势解耦通过傅里叶变换特别是短时傅里叶变换 STFT我们将声音分解为不同频率的正弦波叠加。基频音高对应低频部分的周期性。共振峰音色/内容对应频谱中能量集中的特定频段。关键点在频域中“说什么”内容主要体现在频谱的包络共振峰模式上而“谁在说”音高主要体现在基频上。这种解耦让模型更容易抓住“内容”这个核心特征而不被音高变化带偏。2. 符合人耳的听觉特性梅尔频谱计算机处理语音的目标是模拟人类的听觉感知而人耳本质上就是一个频谱分析仪。人耳的特性人耳对频率的感知是非线性的。我们对低频如 500Hz 到 1000Hz的变化非常敏感但对高频如 10000Hz 到 10500Hz的变化相对迟钝。梅尔频谱Mel-Spectrogram这是语音处理中的“黄金标准”。它模拟了人耳的这种特性对频率轴进行了非线性压缩低频密、高频疏。效果使用梅尔频谱作为中间表示相当于丢弃了人耳听不到的冗余信息保留了最核心的感知特征。这比直接把原始波形扔给网络要高效得多。3. 数据维度与计算效率时域的高维灾难一段 1 秒钟的语音如果是 16kHz 采样率就有16,000 个数据点。如果直接用这些点训练模型数据量巨大且存在极高的相关性相邻的采样点数值几乎一样这会导致模型极难收敛且推理速度极慢。频域的降维打击语音信号具有短时平稳性即在 20-40ms 内声音特性基本不变。我们不需要每 1/16000 秒分析一次只需要每 10ms 分析一帧。通过转换到频域如提取 MFCC 或 Fbank我们将每秒 16,000 个波形点压缩成了每秒 100 个特征向量每个向量几十维。数据量减少了几个数量级但关键信息却保留了下来。 补充视角端到端模型的“隐性”频域有人可能会说“现在的 WaveNet 或 VITS 等端到端模型不是直接输入/输出波形吗”答案是它们虽然表面上跳过了频域转换但在内部依然在学习频域特征。隐式学习深度神经网络特别是卷积神经网络 CNN的第一层往往会自动学习到类似“滤波器组”的东西。也就是说网络自己在内部偷偷做了一次“傅里叶变换”因为它发现直接处理波形太难了转换成频域特征才好处理。显式转换的意义既然网络内部也要学不如我们在外部先通过数学方法STFT把它转好这样网络就可以把更多的算力用来学习“语言”和“语义”而不是浪费算力去重新发明“傅里叶变换”。总结不直接在时域映射是因为时域波形太乱信息纠缠、太大计算量大、太原始不符合听觉。频域转换就像是给语音做了一次“提纯”让计算机能更容易地“看懂”声音。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2556285.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!