小论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于Matlab 的语音信号采集与分析系统设计
太原理工大学
摘要:现代语音信号的采集与分析技术是建立在声学测量理论和电子技术数字信号处理的一门高速发展的技术,本文详细介绍了一款基于Matlab 的语音信号采集与分析系统,该系统通过声卡和Matlab 的数据采集工具箱低成本地实现了语音信号的实时采集,并利用Matlab 强大的数值计算和信号处理功能高精度地完成了语音信号的分析工作,其具有使用方便,价格便宜,通用性强等优点。 关键词:Matlab ,语音信号,信号采集与分析,声卡
ABSTRACT : Modern speech signal acquisition and analysis is based on acoustic measurement theory and digital signal processing electronics a rapid development of technology , this article mainly introduce a Matlab-based speech signal acquisition and analysis system. The system using the sound card and Matlab toolbox of data acquisition finally realize the real-time data acquisition of speech signals with
low-cost way. And taking advantage of Matlab’s powerful numerical calculation and signal processing function accurately completed the speech signal analysis. It has a lot of advantages, for example it’s easy and cheap for most people.
KEY WORDS :Matlab, speech signal, signal acquisition and analysis, sound card
0.引言
语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。
语音信号的分析与处理作为一个重要的研究领域,随着通信技术的发展,语音采集和分析仪器的小型化、智能化、数字化以及多功能化的发展越来越快,分析速度较以往也有了大幅度的提高。但现在市场上一般的语音分析系统大部分价格昂贵、操作复杂,且仅能用于特定的测量分析项目。基于以上不足,设计一款
基于Matlab 的语音信号采集与分析系统[1]
,其具有使用方便,价格便宜,通用性强等优点。
1.语音信号的采集过程
Matlab 中提供了强大的数据采集工具箱[2](DAQ- Data Acquisition Toolbox) ,可满足控制声卡进行数据采集的要求。语音数据采集过程如图1-1所示。
声卡
计算机
基于Matlab 中数据采集箱
语音信号输入
图1-1 语音数据采集过程
在Matlab 环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集与播放[3],它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而方便的完成语音信号的处理和分析,使用
Matlab 语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。
在Matlab 环境中,可以通过以下三种方法驱动声卡:一是将声卡作为对象处理采集语音信号;二是调用调用wavrecord 功能函数采集语音信号;三是运用audiorecorder 对象采集语音信号。
2.语音信号的分析与处理
语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法[4]。信号的频域分析是研究信号特征的重要手段之一,通常是对信号进行傅里叶变换,这一方法在许多领域都发挥了重要作用。
在进行时域分析时,要对输入的信号进行预加重,其目的是为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率。对比预加重前和预加重后的语音信号频谱,可以看出,预加重后的频谱在高频部分的幅度得到了提升,信号的频谱变得平坦。
由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅里叶变换虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。我们将每个短时的语音称为一个分析帧。一般帧长取10-30ms 。我们采用一个长度有限的窗函数来截取语音信号形成分析帧。通常会采用矩形窗和汉明窗,下图2是加不同窗函数时的语音波形及频谱图。
100
200
-101原始语音
样点数幅度
1000
200030004000
-40-30
-20-100
加矩形窗时语音谱
频率/Hz
对数幅度/d B
100
200
-1
01
窗选语音
样点数
幅度
01000
200030004000
-60
-40-200
加汉明窗时语音谱频率/Hz
对数幅度/d B
图2 加不同窗函数时的语音波形及频谱图