一、语音信号预处理:构建识别基础
语音识别的起点是原始音频信号的规范化处理。首先需进行采样率转换,将不同设备采集的音频统一为16kHz或8kHz标准采样率,确保时间分辨率一致。例如,电话音频通常为8kHz,而高清语音需16kHz以保留高频成分。
降噪处理是关键环节,采用谱减法或维纳滤波消除背景噪声。谱减法通过估计噪声谱并从信号谱中减去,公式为:
[ \hat{X}(k) = \max(|Y(k)|^2 - \beta|\hat{N}(k)|^2, \epsilon)^{1/2} ]
其中( Y(k) )为含噪信号频谱,( \hat{N}(k) )为噪声估计,( \beta )为过减因子,( \epsilon )防止数值下溢。
端点检测(VAD)通过能量阈值与过零率分析确定语音起止点。例如,设置能量阈值为最大能量的20%,当连续5帧能量超过阈值时标记语音开始。此步骤可减少静音段计算量,提升系统效率。
二、特征提取:从波形到特征的映射
特征提取的核心是将时域信号转换为声学模型可处理的特征向量。梅尔频率倒谱系数(MFCC)是主流方法,其流程如下:
- 分帧加窗:将音频切分为25ms帧,重叠10ms,使用汉明窗减少频谱泄漏。
- 傅里叶变换:计算每帧的短时频谱,获得幅度谱与相位谱。
- 梅尔滤波器组:将线性频率映射到梅尔刻度,模拟人耳非线性感知。梅尔频率公式为:
[ m = 2595 \cdot \log_{10}(1 + f/700) ] - 对数运算:对滤波器组输出取对数,压缩动态范围。
- 离散余弦变换(DCT):提取倒谱系数,通常保留前13维作为MFCC特征。
滤波器组特征(FBANK)是MFCC的前置步骤,直接使用滤波器组能量作为特征,保留更多频域细节,适用于深度学习模型。例如,Kaldi工具包默认使用40维FBANK特征。
三、声学模型:语音到音素的映射
声学模型的任务是将特征序列映射为音素或字序列。深度神经网络(DNN)已取代传统GMM-HMM成为主流架构。
卷积神经网络(CNN)通过局部感受野与权值共享提取频域与时域局部特征。例如,使用2D卷积核处理频谱图,捕捉谐波结构与共现模式。
循环神经网络(RNN)及其变体LSTM、GRU擅长处理时序依赖。LSTM通过输入门、遗忘门、输出门控制信息流,公式为:
[ it = \sigma(W{xi}xt + W{hi}h{t-1} + b_i) ]
[ f_t = \sigma(W{xf}xt + W{hf}h{t-1} + b_f) ]
[ o_t = \sigma(W{xo}xt + W{ho}h{t-1} + b_o) ]
[ c_t = f_t \odot c{t-1} + it \odot \tanh(W{xc}xt + W{hc}h_{t-1} + b_c) ]
[ h_t = o_t \odot \tanh(c_t) ]
其中( x_t )为输入,( h_t )为隐藏状态,( c_t )为细胞状态。
Transformer模型通过自注意力机制捕捉长程依赖,适用于长语音序列。例如,使用多头注意力计算特征间相关性,公式为:
[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V ]
其中( Q, K, V )分别为查询、键、值矩阵,( d_k )为维度。
四、语言模型:文本先验知识的注入
语言模型提供词汇序列的概率分布,辅助解码器生成合理文本。N-gram模型统计N个词共现频率,例如二元模型概率:
[ P(wn|w{n-1}) = \frac{C(w{n-1}, w_n)}{C(w{n-1})} ]
其中( C )为计数函数。
神经网络语言模型(NNLM)通过词嵌入与深度网络学习上下文表示。例如,使用LSTM预测下一个词的概率分布:
[ ht = \text{LSTM}(e(w{t-1}), h{t-1}) ]
[ P(w_t|w{<t}) = \text{softmax}(W_h h_t + b) ]
其中( e(w) )为词嵌入向量。
Transformer-XL模型引入相对位置编码与段循环机制,处理超长文本依赖。例如,通过记忆缓存保存历史隐藏状态,提升长文档识别准确率。
五、解码搜索:最优路径的寻找
解码器的目标是在声学模型与语言模型约束下,寻找最优词序列。维特比算法通过动态规划搜索最优状态序列,适用于小规模词汇表。例如,计算每个时间步的最优路径得分:
[ \deltat(j) = \max{i} \left[ \delta{t-1}(i) \cdot a{ij} \right] \cdot bj(o_t) ]
其中( a{ij} )为状态转移概率,( b_j(o_t) )为观测概率。
加权有限状态转换器(WFST)将声学模型、语言模型、发音词典编码为有限状态机,通过组合与优化生成解码图。例如,使用Kaldi的compose-graphs工具构建HCLG解码图。
束搜索(Beam Search)在每一步保留top-K候选序列,平衡准确率与效率。例如,设置束宽为10,每步扩展候选并裁剪低分路径。
六、实用优化建议
- 数据增强:添加噪声、变速、音高变换提升模型鲁棒性。例如,使用MUSAN数据库添加背景噪声。
- 模型压缩:采用知识蒸馏将大模型压缩为小模型,如将Transformer蒸馏为LSTM。
- 端到端优化:使用联合CTC-Attention训练,缓解对齐问题。例如,Espnet工具包支持多任务学习。
- 实时性优化:量化模型权重至8位整数,使用TensorRT加速推理。
语音识别技术已从传统混合模型迈向端到端深度学习,但核心原理仍围绕信号预处理、特征提取、声学建模、语言建模与解码搜索。开发者需根据场景选择合适架构,结合数据增强与模型优化,构建高效准确的识别系统。未来,随着多模态融合与低资源学习的发展,语音识别将在更多领域展现价值。