语音信号处理.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

信号分析与处理课程设计

———语音信号处理

姓名

学号

专业

指导教师

设计日期

1引言

MATLAB是美国MathWorks公司推出的一种面向工程和科学计算的交互式计算软件。它以矩阵运算为根底,把计算、可视化、程序设计融合在一个简单易用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程实用软件。本文介绍了用MATLAB处理音频信号的根本流程,并以实例形式列出了常用音频处理技术实现程序。

2MATLAB处理音频信号的流程

分析和处理音频信号,首先要对声音信号进行采集,MATLAB数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集[1]。Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。本文以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的根本流程是:先将WAV格式音频信号经wavread函数转换成MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,那么可用wavwrite转换成WAV格式文件或用sound、wavplay等函数直接回放。

下面分别介绍MATLAB在音量标准化、声道别离合并与组合、数字滤波、数据转换等音频信号处理方面的技术实现。

4系统初步流程图

图2.1列出了整个语音信号处理系统的工作流程:

图2.1语音信号处理系统的工作流程

其中信号调整包括信号的幅度和频率的任意倍数变化。如下列图2.2

信号采集

信号采集

信息提取

信号调整

信号滤波

信号变换

效果显示

图2.2信号调整

信号调整

信号调整

幅度调整

频率调整

信号的滤波采用了四种滤波方式,来观察各种滤波性能的优缺点:

信号滤波

信号滤波

切比雪夫—I型低通滤波

椭圆数字带通滤波

切比雪夫—Ⅱ型带阻滤波

切比雪夫—Ⅱ型高通滤波

图2.3语音信号滤波的方式

在以上三图中,可以看到整个语音信号处理系统的流程大概分为三步,首先要读入待处理的语音信号,然后进行语音信号的处理,包括信息的提取、幅度和频率的变换以及语音信号的傅里叶变换、滤波等;滤波又包括低通滤波、高通滤波、带通滤波和带阻滤波等方式。最后对处理过的语音信号进行处理后的效果显示。以上是本系统的工作流程,本文将从语音信号的采集开始做详细介绍。

3音量标准化

录制声音过程中需对声音电平进行量化处理,最理想的量化是最大电平对应最高量化比特,但实际却很难做到,常有音轻问题。利用MATLAB很容易实现音量标准化,即最大电平对应最高量化比特。根本步骤是:先用wavread函数将WAV文件转换成列数组变量;再求出数组变量的极值并对所有元素作归一化处理;最后用wavwrite函数复原成音量标准化的WAV文件。程序如下:

clear;closeall;clc;

[Y,FS,NBITS]=wavread(xp.wav); %将WAV文件转换成变量

FS,NBITS %显示采样频率和量化比特

Ym=max(max(max(Y)),max(abs(min(Y))));%找出双声道极值

X=Y/Ym; %归一化处理

wavwrite(X,FS,NBITS,xps.wav); %将变量转换成WAV文件

结果显示:

4声道别离合并与组合

立体声或双声道音频信号有左右两个声道,利用MATLAB实现双声道别离、两路声道合并和两个单声道组合成一个双声道等效果,实际上是利用了MATLAB的矩阵抽取、矩阵相加和矩阵重组运算。

以xps.wav为例,实现别离、合并和组合处理的程序如下:

clear;closeall;clc;

[x,FS,NBITS]=wavread(xps.wav); %将WAV文件转换成变量

x1=x(:,1); %抽取第1声道

x2=x(:,2); %抽取第2声道

wavwrite(x1,FS,NBITS,xps1.wav); %实现1声道别离

wavwrite(x2,FS,NBITS,xps2.wav); %实现2声道别离

%如果合并位置不对前面补0--声道长度不对后

文档评论(0)

寒傲似冰 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8071104010000026

1亿VIP精品文档

相关文档