- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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--声道长度不对后
您可能关注的文档
最近下载
- 地下室注浆工程合同.docx
- 2022年12月贵州省普通高中学业水平合格性考试语文模拟试题(含答案).pdf
- 新形势下高素质农民培训模式浅析-教育培训论文-教育论文.docx
- Unit 6 Is he your grandpa 第1课时 Lead-in & Cartoon time 译林版(三起)(2024)英语三年级上册.pptx
- 《童年》读书分享PPT.ppt
- 2023年高职单考单招机械类专业理论模拟考试.doc
- 银行公众号运营规划方案(含预估效果).pdf VIP
- 信息通信建设工程预算定额(5册合集).docx VIP
- 篮球裁判员暨社会体育指导员试题含答案.doc
- 煤矿安全规程题库.doc
文档评论(0)