ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

从波形到MFCC:Maths, CS AI Compendium数字信号处理零基础入门

从波形到MFCC:Maths, CS  AI Compendium数字信号处理零基础入门 从波形到MFCCMaths, CS AI Compendium数字信号处理零基础入门【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium本文基于开源教材Maths, CS AI Compendium一本以直觉为核心的数学、计算机与 AI 教科书带你零基础看懂数字信号处理的完整链路一段原始音频波形如何一步步变成语音识别模型能读懂的MFCC 特征。不需要任何数学基础全程图解读完就能明白语音 AI 为什么听得懂你说话。数字信号处理是什么为什么学 AI 绕不开它把声音想象成石子投入池塘石子是发声源涟漪是压力波水面上上下浮动的软木塞就是你的耳朵或麦克风。麦克风把声波转成电压模数转换器ADC再把它变成一串数字——这就是数字信号的诞生。数字信号处理Digital Signal Processing, DSP的任务就是把这串数字整理成机器学习模型能学习的结构化特征。整条链路可以拆成四大步阶段做什么通俗理解️ 采样与量化连续波形 → 离散数字给声音拍照存档 时频变换波形 → 频谱/语谱图从时间轴切到频率轴看信号 感知建模频谱 → 梅尔频谱模仿人耳的听感来划分频段 特征压缩梅尔频谱 → MFCC提炼出最能代表语音的 13 个数字这一章的完整笔记位于 chapter 09 - audio and speech/01. digital signal processing.md包含更详细的公式与可运行的练习代码。读懂声音波形振幅、频率与相位三要素一个最简单的纯音波形正弦波由三个要素决定它们是理解一切音频处理的起点振幅Amplitude波峰偏离零点的高度决定响度。人耳对响度范围极宽所以工程上用对数的**分贝dB**来度量——耳语约 30 dB正常对话约 60 dB。频率Frequency每秒振动的次数Hz决定音调。人耳大约能听到 20 Hz 到 20 kHz频率翻倍音调就升高一个八度。相位Phase波形从哪个位置开始决定波的起始时刻。两个同频率波相位相反时会相互抵消。 为什么钢琴和小提琴弹同一个音听起来不同它们的基频相同但泛音基频的整数倍和各自的幅度分布不同——这个差异叫做音色Timbre正是后续频谱分析要捕捉的核心信息。采样与奈奎斯特定理计算机如何录下声音真实音频是连续的而计算机只认离散的数字。**采样Sampling**就是按固定间隔测量信号的值采样率 $f_s$ 表示每秒测多少次CD 音频用44.1 kHz电话语音用8 kHz现代语音模型普遍用16 kHz。奈奎斯特-香农采样定理只要采样率不低于信号最高频率的 2 倍$f_s \ge 2 f_{max}$就能从采样值完美还原原始信号。如果采样率不够高于奈奎斯特频率$f_s/2$的分量会折返成假的低频这就是混叠Aliasing——比如 15 kHz 的音调用 16 kHz 采样后会听起来像 1 kHz。它就像电影里车轮转速接近帧率时出现的车轮倒转现象。混叠一旦发生就不可逆所以硬件会在采样前加低通抗混叠滤波器。采样之后还有量化Quantisation把每个采样值就近映射到有限档位。CD 用 16 位量化65536 档电话常用 8 位。FFT 做什么从时间域到频率域的切换波形只告诉你每个时刻的强弱却看不到频率信息。要分析音色、音调必须切换到频率域核心工具是**离散傅里叶变换DFT**及其高速算法FFTDFT 把一段 $N$ 个采样的信号分解成 $N$ 个频率分量每个分量的幅度给出该频率有多强。FFT把计算量从 $O(N^2)$ 降到 $O(N \log N)$是实时音频分析成为可能的关键也是整个计算机领域最重要的算法之一。把信号切成短帧、逐帧做 FFT、再把幅度谱并排拼起来就得到语谱图Spectrogram——横轴时间、纵轴频率、颜色深浅表示能量是音频处理中最重要的一张图元音显示为规则的横向条纹s 这类摩擦音则是高频片状能量。两个工程细节值得了解加窗Windowing帧的起止会引入人为跳变导致能量泄漏到所有频率。乘以Hamming 窗让帧边缘平滑过渡可大幅抑制频谱泄漏。时频折衷帧越长频率分辨率越高但时间定位越差反之亦然。语音领域的标准参数是25 ms 帧长、10 ms 跳长、512 点 FFT。梅尔尺度与梅尔滤波器组用人耳的方式划分频率物理频率是线性的但人耳听感不是440 Hz 到 880 Hz 和 880 Hz 到 1760 Hz 听起来都是升高一个八度。梅尔Mel尺度正是模拟这种感知特性的频率刻度——1000 Hz 以下近似线性以上近似对数。梅尔滤波器组是一组在梅尔尺度上等距排列的三角形带通滤波器语音系统常用 40~80 个低频区滤波器窄人耳在低频更敏感高频区滤波器宽。它把整条功率谱压缩成一小串每段频带的能量本质上就是在软件里复刻了人耳耳蜗的频率分辨能力。七步提取MFCC语音识别的经典特征MFCC梅尔频率倒谱系数是语音领域沿用数十年的经典特征表示。它的妙处在于保留频谱包络反映声道形状即发音身份同时丢掉基频细节对识别哪个字并不关键。完整流水线共 7 步预加重一阶高通滤波 $y[n]x[n]-0.97x[n-1]$补偿声道对高频的衰减分帧切成 25 ms 长、每 10 ms 推进一格的短帧加窗乘 Hamming 窗抑制频谱泄漏FFT计算每帧的功率谱梅尔滤波过三角形滤波器组得到梅尔频带能量取对数压缩动态范围并把频率成分的相乘变成相加契合人耳响度感知DCT 离散余弦变换对相邻高度相关的梅尔带做去相关能量集中在前几个系数——只保留前13 个MFCC-0 ~ 12。倒谱Cepstrum这个名字本身就是 spectrum 的字母重组因为 DCT 这一步相当于对频谱再做一次傅里叶变换低阶系数刻画声道共振共振峰高阶系数刻画基频谐波。实际系统中还会追加差分delta与二阶差分用相邻帧的有限差分捕捉频谱随时间的变化趋势凑成经典的39 维特征向量13 静态 13 一阶差 13 二阶差。几个常用参数速查参数常用值通俗含义帧长25 ms把信号定格的一小段时间跳长Hop10 ms相邻两帧的滑动步距窗函数Hamming让帧边缘柔和收尾FFT 点数512频率分析的精细程度梅尔滤波器数40~80划分的听觉频段数量MFCC 个数13最终保留的特征维度 现代深度学习模型已大量用对数梅尔频谱第 6 步的输出跳过 DCT直接喂给网络让模型自己学会去相关。但 MFCC 在低资源场景、传统机器学习管道以及打信号处理地基时依然重要。从特征到模型语音 AI 的全景图MFCC 只是入口。在典型的**自动语音识别ASR系统中特征提取之后还要经过声学模型、语言模型才能把语音变成文字而语音合成TTS**则是反方向把文字重新变回波形。整条链路的完整实现笔记分别在 chapter 09 - audio and speech/02. automatic speech recognition.md 与 chapter 09 - audio and speech/03. text to speech and voice.md。继续学习在 Compendium 中的章节地图学完本篇后建议按下面的路径继续深入想解决的问题对应章节文件波形与矩阵运算的数学基础chapter 01 - vectors/01. vector spaces.mdFFT 背后的线性代数chapter 02 - matrices/01. matrix properties.md语音识别与声学模型chapter 09 - audio and speech/02. automatic speech recognition.mdTTS、声纹与说话人分析chapter 09 - audio and speech/03. text to speech and voice.md全书大纲与学习方法README.md一句话回顾采样让声音变成数字 → FFT 让数字换到频率视角 → 梅尔滤波器组让它贴近人耳 → MFCC 把复杂频谱压缩成 13 个关键数字。这条链路就是几乎所有语音 AI 的消化系统。【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表