基于MATLAB的语音信号仿真与分析
2014-12-19杜海龙黄池军
杜海龙 黄池军
(郑州大学西亚斯国际学院,河南 郑州 451150)
语音信号的仿真与处理技术一直以来都是很热门的研究领域,具有重要的理论和实践研究价值。针对语音信号自身的时域频域特性的研究是语音信号处理技术能够取得进一步突破的重要基础,必须有针对性地对语音信号做一个系统性分析[1]。 语音信号传输过程中会受到噪声的干扰, 导致语音质量的下降从而降低了语音辨识度, 因此要进行滤波滤去不需要的噪声或者混频干扰[2]。 除了要对语音信号的本质以及干扰进行分析之外,声音特殊效果的处理仍具有重大的科研和生活意义[3,4],例如电影中对声音进行特效处理以达到某种特殊的效果。
1 语音信号的采集
课题使用麦克风录取声音, 通过声卡转换器进行格式转换,然后得到MATLAB 环境下的.wav 文件。 在MATLAB 环境下对原始语音信号进行了抽样,并在时域和频域进行了对比,结果如图1 所示。
图2 短时平均幅度
图1 原始和抽样后的信号时频域分析
2 语音信号的分析
语音信号幅度值的变化一般用短时能量显示,鉴于短时能量对高电平非常敏感, 可以采用短时平均幅度用来表征语音信号能量大小,结果如图2 所示。 两者的主要区别在于计算时取样值的大小不同,但这些参数在处理时对取样值都做平方处理,在一些应用上可能会带来一些好处。 图3 为语音信号的语谱图。
3 语音信号的加噪和滤波处理
图3 采集信号的语谱图
图4 语音信号添加噪声之后的对比
图5 FIR 滤波对比图
图6 IIR 滤波对比图
图4 为原始和加噪之后信号波形和频谱对比,从图中可以看到,加了噪声之后的信号,频谱明显发生了变化,幅值明显增大。 通过sound 函数可以听到明显的杂音,通过调整加噪声的幅度值倍数大小可以改变原始语音和噪声的比例, 实现各种效果的加噪。 图5 和图6 为分别设计FIR 和IIR 滤波器对加噪后的信号进行滤波分析的比较。在FIR 滤波中,滤波后的波形与加噪之前的很接近,语音信号变化不大,但仍存在杂音;在IIR 低通滤波中,可听辨出明显不同的滤波效果,较FIR 低通的音质效果明显提高,杂音减少。
4 语音信号的处理和GUI 界面的设计
回声和添加背景音乐语音特效的处理结果如图7 和图8所示,处理前后信号发生明显变化,通过sound 函数可以感受不一样的听觉效果。综合以上,课题设计了GUI 人机交互界面操作平台,如图9,可以方便地实现对语音信号的采集分析和处理。
图7 回声特效
图8 添加背景音乐
图9 GUI 人机交互界面
5 结语
课题基于MATLAB 完成了对语音信号的仿真和处理,在时频域方面进行了分析,通过人为添加噪声和滤波进行分析,通过DSP 技术进行了特殊效果处理, 最后设计了GUI 界面对语音信号的各模块处理功能进行了集成。
[1]陈怀琛.数字信号处理教程—MATLAB 释义与实现[M].北京:电子工业出版社,2003.
[2]刘敏,魏玲.MATLAB 通信仿真与应用[M].北京:国防工业出版社,2001.
[3]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2000.
[4]李垚光,等.精通MATLABGUI 设计[M].北京:电子工业出版社,2008.