基于MFCC与HMM的语音识别系统
项目介绍
本项目实现了一个完整的语音识别系统,能够通过分析语音信号识别不同的说话人。系统采用MFCC(梅尔频率倒谱系数)进行语音特征提取,使用HMM(隐马尔可夫模型)对说话人语音特征进行建模,并通过Viterbi算法实现高效的识别分类。该系统支持对预录制的语音文件进行识别,也支持通过麦克风实时录制并识别语音。
功能特性
- 语音信号预处理:实现端点检测、预加重、分帧加窗等预处理操作
- MFCC特征提取:提取语音信号的梅尔频率倒谱系数特征参数
- HMM模型训练:使用隐马尔可夫模型对训练语音样本进行建模
- Viterbi识别算法:通过动态规划实现未知语音的识别分类
- 可视化界面:提供语音录制、特征显示和识别结果展示功能
使用方法
训练阶段
- 准备训练数据:将不同说话人的语音样本按说话人分类存储为wav格式
- 运行训练程序:系统将自动提取每个说话人的语音特征并训练对应的HMM模型
- 保存模型:训练完成后生成每个说话人的HMM模型参数文件(mat格式)
识别阶段
- 选择识别模式:可选择文件识别模式或实时录音识别模式
- 进行识别:系统将提取待识别语音的MFCC特征,通过Viterbi算法计算与各模型的匹配度
- 查看结果:系统输出识别出的说话人ID标签、置信度分数及相关可视化图形
系统要求
- MATLAB R2018b或更高版本
- 信号处理工具箱
- 统计学和机器学习工具箱
- 音频处理工具箱
- 16kHz采样率、单声道音频输入设备(用于实时录音)
文件说明
主程序文件整合了语音识别的完整流程,包括语音信号的预处理操作、特征参数的提取计算、隐马尔可夫模型的训练与优化、基于动态规划的识别分类算法执行,以及图形用户界面的构建与交互功能。该文件实现了从语音输入到识别结果输出的全链路处理能力,并提供训练与识别两种工作模式的可视化操作接口。