基于二进制小波变换与短时自相关函数的语音基音周期检测系统
项目介绍
本项目实现了一种改进的语音基音周期检测算法。通过二进制小波变换对含噪语音信号进行多尺度分解,提取关键频带信息;结合短时自相关函数分析语音信号的周期性特征;采用自适应阈值策略解决传统方法在噪声环境下阈值设定的难题。系统能够准确识别浊音段的基音频率,适用于不同信噪比环境下的语音处理场景。
功能特性
- 多尺度信号分析:采用二进制小波变换进行频带分解,有效捕捉语音信号的共振峰特征
- 双重检测机制:结合短时自相关函数与时频分析,提高基音周期检测的鲁棒性
- 自适应阈值:根据信号噪声水平动态调整检测阈值,适应不同信噪比环境
- 可视化分析:提供完整的信号处理过程可视化,便于算法调试和结果验证
- 参数可配置:支持灵活的帧长、采样率等参数设置,满足不同应用需求
使用方法
基本调用方式
% 读取语音文件并执行基音检测
pitch_results = main('speech.wav', 16000, 0.05, 0.02);
输入参数说明
- 语音信号数据:支持.wav格式文件路径或直接输入采样数组
- 采样频率参数:默认16kHz,可根据实际数据调整
- 噪声等级参数:可选参数,用于模拟不同信噪比环境(默认0)
- 分析帧长设置参数:默认20ms,建议范围15-30ms
输出结果
- 基音周期轨迹图(时域显示)
- 基音频率数值序列(Hz)
- 检测置信度指标(0-1范围)
- 二进制小波分解各层系数可视化
- 短时自相关函数分析对比图
- 检测结果统计报告(包含浊音段占比、平均基频等)
系统要求
- MATLAB R2018b或更高版本
- 信号处理工具箱(Signal Processing Toolbox)
- 小波分析工具箱(Wavelet Toolbox)
- 至少4GB内存(推荐8GB以上)
- 支持音频文件读写功能
文件说明
主程序文件整合了完整的基音周期检测流程,实现了语音信号预处理、二进制小波变换分析、短时自相关计算、自适应阈值检测、结果可视化与统计分析等核心功能模块。该文件作为系统入口,协调各算法组件协同工作,完成从原始语音输入到基音轨迹输出的全过程处理。