ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:97.25KB ,
资源ID:9942709      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9942709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音信号处理技术.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音信号处理技术.docx

1、语音信号处理技术语音信号处理技术五 设计实现摘 要语音信号处理技术是语音处理领域中新近发展起来的一个学科分支。Matlab是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集、分析和处理相当便捷。本文对话音变换的多种方法和多种音频特效的实现方法进行了讨论,并给出了Matlab 语言的描述。综合话音变换和一部分音频特效技术,设计了一种广泛适合于电影配音、话音安全以及娱乐等多领域的实时变声器,并在短时傅里叶基础上分析了语音信号的频谱。关键词:话音变换,音频特效,Matlab,短时傅里叶变换 AbstractThe speech signal processing techno

2、logy is in the field of speech processing newly developed a subject branch. Matlab is a data analysis and processing functions very strong engineering practical software, the use of it to carry on the speech signal collection, analysis and processing is quite convenient.In this paper, the voice of a

3、 variety of methods and a variety of transform audio effects method of realization of the discussions, and gives the Matlab language description. Comprehensive voice transform and some of the audio special effects technology, design a widely suitable for soundtrack, voice security and entertainment

4、the fields of real-time voice changer, and in the short-time Fourier analysis based on the speech signal spectrum.Keywords: Voice transformation Special sound efficiency Matlab STFT前 言(一)课题介绍随着数字化时代的来临,科学技术的进步而生产发展需求的与日俱增,促进了数字信号处理学科的发展,产生了各种巧妙的信号处理算法;特别是计算机技术的飞速发展,为数字信号处理增添了巨大的生命力。而语音信号是最常见、应用最广泛的信

5、号之一,研究数字技术在语音信号上的应用具有十分重要的意义。本文所设计的语音信号短时傅里叶分析和特效处理系统,可以实时录放音,并对声音信号进行延时、频谱搬移。语音信号的短时傅里叶变换解决了FFT在非平稳随机过程中的应用局限。在此基础上,对语音信号进行了各种场景的模拟,此技术广泛应用于电影配音、话音安全以及娱乐等多领域。(二)文献综述/前景与改进。随着计算机技术和信息技术的发展, 语音交互已经成为人机交互的必要手段, 而语音信号的采集和处理是人机交互的前提和基础。 Matlab是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件, 它以矩阵运算为基础, 把计算、 可视化、 程

6、序设计融合到了一个简单易用的交互式工作环境中。 同时由于Matlab是一个数据分析和处理功能十分强大的工程实用软件, 它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化, 使人机交互更加便捷。Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件, 它可以将声音文件变换为离散的数据文件, 然后利用其强大的矩阵运算能力处理数据, 如数字滤波、 傅里叶变换、 时域和频域分析、 声音回放以及各种分析图的呈现等。数字信号处理一书中,阐述了离散信号的Z变换,离散傅里叶变换,信号的窗函数处理方法等,这些都是语

7、音信号处理的基础知识。书中详细介绍了窗函数的工作原理及设计方法,同时给出了多种离散数字信号的傅里叶变换算法。 数字信号处理实践教程一书提供了不同层次、不同类型的DSP处理实例,为本设计提供了参考。 MATLAB基础与应用介绍了MATLAB的使用方法,操作过程,语言描述,信号处理工具箱的应用方法等。 通信原理一书介绍了信号的各种表现形式,不同信号所对应的调制与解调办法,为语音信号的频谱搬移提供了参考。本设计还参考了Matlab在数字语音分析中的应用、基于Matlab实现对语音信号的频谱分析、基于帧的实时话音变换技术与DSP实现等方面的学术论文,当中讲述了语音信号的特征,如何有效处理语音信号及相关

8、算法等。一 绪 论(一)语音信号处理的研究意义 当今,数字信号处理(DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科,它与国民经济息息相关,与国防建设紧密相连,它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。数字信号处理主要是研究用数字或符号序列表示和处理信号。处理的目的可以是削弱信号中的多余内容,滤除混杂的噪声和干扰,或者是将信号变换为容易分析和识别的形式,便于估计和选择它的特征参数。声音信号是一维连续信号,而计算机只能处理离散信号。为了从离散信号还原连续信号,根据采样定理,可以确定采样频率的最小值。

9、wav文件是一种数字声音文件格式,本课程设计基于Matlab分析了wav声音文件频谱与声音的关系。通过采集个人的一段声音进行频谱分析等处理,然后进行频谱分析和各种声音特效处理。/(二)国内外数字滤波器的研究背景和现状(三)本设计的主要研究内容本论文主要讨论了语音信号的分析及处理问题,分为七章:第一章为绪论,主要介绍了课题设计的背景、目的和意义。第二章介绍了语音信号的特点、分析的基本原理及相关Matlab的基础知识。第三章介绍了基于MATLAB的语音信号短时傅里叶变换的原理及理论基础。第四章介绍了常见的语音特效及其处理办法。第五章介绍了整个系统的设计流程、系统设计框图。详细介绍了各部分模块电路的

10、设计,并对最终效果进行调试。第六章总结了本次语音信号处理的设计工作。第七章 致谢词,感谢论文期间给与我帮助的老师同学。二 语音信号概述 语音信号处理技术是语音处理领域中新近发展起来的一个学科分支, MATLAB是一个数据分析和处理功能十分强大的工程实用软件, 运用它来进行语音信号的采集、分析和处理相当便捷。 文章介绍了在Matlab环境中如何采集语音信号和语音信号采集后的频谱分析处理, 并通过实例分析了语音信号处理的Matlab。随着计算机技术和信息技术的发展, 语音交互已经成为人机交互的必要手段, 而语音信号的采集和处理是人机交互的前提和基础。(一)语音信号的特点 语音转换(VC,voice

11、 conversion 或VT ,voice transformation )是指改变一个说话人(源说话人,source speaker )的语音个性特征,使之具有另外一个说话人(目标说话人,target speaker)的语音个性特征。 语音转换拥有很广泛的应用空间,例如: (1) 在文语转换(TTS,text-to-speech)系统中应用。 (2) 可以在电影配音中应用。 (3) 语音转换的思想可以用于恢复受损语音,帮助声道受损的说话人的语音提高可 懂度。 (4 ) 可用于在保密通信中进行语音个性化的伪装。 (5) 作为语音识别的前端预处理,减少说话人差异的影响。 语音的个性化特征可以分

12、为以下三类: 音段特征:描述的是语音的音色特征。特征参数主要包括基音频率、共振峰位 置、共振峰带宽、基音频率、能量等。 超音段特征:描述的是语音的韵律特征。特征参数主要包括因素的时长、基音 频率的变化(音调)、能量等。 语言特征:包括习惯用语、方言、口音等。 (二)语音信号处理的理论基础进行频谱分析时,在时域数据进行短时FFT处理之前都要进行加窗处理。 在FFT处理之后,普通频谱分析可以进行频域上的滤波处理,从而使频谱更加平滑。为了得到各种音频信号的特技效果,也需要对各种变声算法进行研究。1. 窗的选择一般来讲,一个好的窗函数的标准是:在时域因为是语音波形乘以窗函数,所以要 减小时间窗两端的坡

13、度,使窗口边缘两端不引起急剧变化而平滑过渡到零,这样可以使截出的语音波形缓慢降为零,减小语音帧的阶段效应;在频域要有较宽的3dB 带宽以 及较小的边带最大值。另外一方面,不同人的基音周期变化很大,主要集中在 70Hz1000Hz。所以窗一般选择在10ms20ms 之间。此外,为了避免在加窗时加入多 余的高频信号,应该使用平滑窗,例如汉明窗。2、变声算法的讨论语声可以分为声带振动的浊音部分、声带不振动的清音部分以及静音部分。在这里,我们主要是改变原始话音的基音频率,以达到变声的目的。 第一种方法是不修改采样数据,仅改变Fs 。这种方法操作非常简便。第二种方法是直接乘以一个余弦函数,把语音信号频段

14、搬移到较高频段,以达到变声的目的。第三种方法是插值以后重新抽样。基本过程是这样的:已知当前帧帧长FL(采样)点,采样频率Fs ,目标变换帧频率Fs,则目标变换帧帧长FL=FL*Fs/Fs 。记Rate = Fs/Fs ,那么FL=FL * Rate,其中Rate 为基频变化率。变换开始时,先求得FL 和FL的最小公倍数AL,再将原音频帧插值为AL点,最后将插值后的语音段重新抽样,得到长FL点的变声后的数据。 三种方法操作起来都还比较简单,但为了便于分析时域、频域特效,本设计选择了通信中常用的调制方法,即方案二。(三)Matlab基础MATLAB是Matrix Laboratory的缩写,由Ma

15、thWorks公司于1984年正式推出,内核采用C语言编写。MATLAB是一个包括数值计算,高级图形和可视化的集成科技计算环境,也是一种高级程序设计语言。灵活的MATLAB语言可使工程师和科学家简练地表达他们的思想,其强有力的数值计算方法和图形便于测试和探索新的思想,而集成的计算环境便于产生快速的实时结果。MATLAB得到了各个领域专家学者的广泛关注,其强大的扩展功能为用户提供了强有力的支持; 它集数学计算、图形计算、语言设计和神经网络等30多个工具箱于一体,具有极高的编程效率1,极大地方便了科学研究和工程应用。语音处理中往往把数字化的语音信号表示为一维或二维(对应于双声道立体声数据)矩阵,因

16、此基于矩阵运算的MATLAB就很自然地应用到语音处理领域。MATLAB提供了语音文件的读写函数以及录音和放音功能,如表1所示, 使用时只需按照函数的语法规则正确输入参数即可。通过这些函数可以得到语音的采样频率、量化精度和通道数等参数。同时,MATLAB提供了语音的和、 差等线性运算,以及卷积、 相关等非线性运算。对于语音处理中常用到的各种窗函数, MATLAB也都提供了相应的函数, 比如hamming(n)即长度为n点的汉明窗。MATLAB一个重要的特点是易扩展性。近几年来,有许多科学家、 数学家、 工程师等开发了一些新的、 有价值的应用程序, 这些应用程序都可以被纳入MATLAB工具箱。比如

17、voicebox工具箱, 其中包含了很多与语音信号处理相关的函数, 可以在有关网站上下载, 将其加入到MATLAB的搜索路径, 就可以作为MATLAB的库函数来方便地调用了。使用MATLAB编程与人们进行科学计算的思路和表达方式相近,不需要大量原始而传统的编程过程,要解决很多复杂的问题只需要短短的几条命令就能实现;研究人员可直观、方便地进行分析、计算及设计工作,从而能节省大量时间。 表1 与语音输入输出相关的函数 函数名 功能描述 wavread auread 读语音文件 wavwrite auwrite 写语音文件 sound wavplay 放音 soundsc 归一化放音 soundvi

18、ew 可视化语音输出 wavrecord 录音三 基于MATLAB的语音信号短时傅里叶变换时域上的原函数中含有包含全部信息量的频谱函数, 而频谱函数中也含有原函数, 我们可以在时域与频域之间对信号进行相互变换,这种变换通过称之为傅立叶变换。 傅立叶变换可将时域上较复杂的运算简化为相对简单的频域运算, 因而在信号处理中具有十分重要的作用, 例如通过傅立叶变换可以使信号的某些感兴趣的特性变得明显, 而在原始信号中这些感兴趣的特性可能含糊不清或甚至不明显。 在传统的语音信号的处理中,傅立叶变换也一直起主要作用。语音信号是一个非平稳过程, 而标准傅立叶变换仅适用于周期信号、 瞬变信号或平稳随机信号,因

19、此标准傅立叶变换不能用来直接表示语音信号。然而,对语音处理来说,短时分析的方法是一个比较有效的解决途径, 因为语音信号的特性是随时间缓慢变化的,因而可以假设它在一个短的段时间内保持不变。 将短时分析应用于频域分析即是傅立叶变换, 相应的频谱称为“ 短时谱” , 即有限长度的傅立叶变换。(一) 语音信号频谱分析理论基础进行频谱分析时, 在时域数据进行短时FFT处理之前都要进行加窗处理。 在FFT处理之后, 普通频谱分析可以进行频域上的滤波处理, 从而使频谱更加平滑。 最后IFFT观察恢复后的时域信号图形, 频谱分析过程 (如图1所示) 。 原始信号时域信号频域信号恢复后的时域信号图1 频谱分析过

20、程 (二) 短时傅里叶变换原理传统的傅立叶变换是一种纯频域分析, 它可将一般函数 f(x)表示为一簇标准函数的加权求和, 而权函数亦即 f的傅立叶变换。 设 f是 R 上的实值或复值函数, 则 f为一能量有限的模拟信号。在任意的有限区间上任意信号定义的任意函数都可以转化成单纯的正弦与余弦的和。傅立叶变换的定义如公式(1)所示: (1)由于可以认为语音信号是局部平稳的, 所以可以对某一帧语音进行傅立叶变换, 即短时傅立叶变换。其定义如下: (2)由公式(2)可以看到,短时傅立叶变换所选取的窗是音信号的标准傅立叶变换。在这里我们用下标n以区别于标准的傅立叶变换, w(n- m)是窗口函数序列。针对

21、不同的窗口函数序列,我们可以将得到不同的傅立叶变换的结果。由公式(2)知,短时傅立叶变换有两个自变量n 和 w, 所以它既是关于时间 n 的离散函数, 又是关于角频率 w的连续函数。当 n 固定不变时, 它们是序列w(n-m)x(n)的标准傅立叶变换或标准的离散傅立叶变换。可以从两个角度理解函数 X()的物理意义:第一种解释是,当n固定时, 如n=n0,则X()是将窗函数的起点移至n0处截取信号x(n),再做傅里叶变换而得到的一个频谱函数。这是直接将频率轴方向来理解的。另一种解释是从时间轴方向来理解, 当频率固定时,例如,则 X()可以看作是信号经过一个中心频率为的带通滤波器产生的输出。这是因

22、为窗口函数w(n)通常具有低通频率响应,而指数对语音信号x(n)有调制的作用,使频谱产生移位,即将x(n)频谱中对应于频率的分量平移到零频。四 基于MATLAB的语音信号特效处理基音是指发浊音时声带振动所引起的周期性,而基音周期是指声带振动频率的倒数。基音周期是语音信号最重要的参数之一,它描述了语音激励源的一个重要特征。不同的人以及同一个人在不同的年龄时期有不同的基音周期。人唱歌时,其基音频率范围大约是:童声高音频率范围为260-880Hz,低音频率范围为196-700Hz,女声高音频率范围为220-1.1KHz,低音频率范围为200-700Hz,男声高音频率范围为160-523Hz低音频率范

23、围为80-358Hz。 此外,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息。 (一) 语音信号常见的特效1、 音量调节 可改变文件的音量大小,存放为另一音量不同的文件。 2、 回声 模拟产生出不同的听音环境(峡谷,大厅,小厅,太空)。 3、 回响 多重的回声,模拟产生出不同的听音环境(峡谷,大厅,小厅,太空)。 4、 左右移动 使声音动态地从一边移到另一边。 5、 相位变化 左右声道的声音不同步,有延时。 6、 淡入淡出 声音由小变大,或由大变小。 (二) 语音信号特效处理的原理1、音量调节 直接将 PCM 采样数据点乘以调节系数就可以改变音量。2、回声 不同的听音环境中有不同

24、的吸声与反射系数的材料,所以反射回来的音量大小与延时是不同的。通过调整回声处理单元中的延迟音量与延迟时间两个参数,就可以模拟产生出不同的听音环境。根据研究,这两个参数可以确定如表2: 表2 回声效果参数 参数 峡谷 大厅 小厅 太空 延迟音量 0.45 0.4 0.4 0.65 延迟时间 500ms 100ms 60ms 180ms3、回响 在房间中,由于房间四壁对声音的反射,造成多个声音的混合而形成的特殊声音效果称为回响。回响的效果需要的参数与回声的相同,见表2。回响与回声不同的地方是,有放亏,所以听起来有多个回声,而回声是无反馈的。回声是回响的特殊表现。 4、左右移动 感觉声音从一边移到另

25、一边,即声音从左到右,或从右到左(只针对立体声)。 实现的时候可以对左声道音量线性增加的同时对右声道的音量线性降低(从右到左);或者是左声道的音量线性降低的同时对右声道的音量线性增加(从左到右)。 5、相位变化 实现方法:将左(或者右)声道前一段添 0,文件在播放的时候左右声道就会不同步右(左)声道的数据会超前。 6、淡入淡出 声音由小变大,由大变小,模拟音源由远到近,由近到远的变化。实现时,只需要线性改变音量即可。 五 设计实现(1) 提前录制一段语音文件,时间10s以内直接调用wavrecord函数实时录音语音信号的频谱分析:画出采样后语音信号的时域波形和短时傅里叶变换后的频谱图将信号加入

26、延时,再分析其时域波形与频谱,并分别与原始信号进行比较对原始语音信号进行音量变换、回声、回响、相位移动、淡入淡出等特效处理 回放语音信号系统设计流程图/miao shu 图2 系统设计流程图(2) 实时录放音实现方法MATLAB拥有非常强大的函数库,直接调用函数wavrecord即可实现实时录音。具体程序如下;fs=11025; %取样频率duration=3; %录音时间fprintf(Press any key to start %g seconds of recording.n,duration);pause;fprintf(Recording.n);y=wavrecord(durati

27、on*fs,fs); %duration*fs 是总的采样点数fprintf(Finished recording.n);fprintf(Press any key to play the recording.n);pause;(3) 信号延时的设计信号延时通常有以下方法:方法一:构造一个增益为1,相位与时间成正比变化的滤波器,让语音信号通过该延时网络,即可实现延时。方法二:原语音信号经采样后以离散数据形式存储在数组中,构造一个新的数组,数组前一段置零,后一段放置经采用后的语音数据。经比较,方法2简单易实现,故本设计采用方法二,。具体实现如下:z=zeros(1500,1);y; %对语音信号

28、进行延时(4) 频谱搬移的设计语音信号的频率一般比较低,把频率搬移到较高频段是实现变声常采用的一种方法。实际应用中常采用的频谱搬移有如下方法:方法一:插值以后重新抽样。基本过程是这样的:已知当前帧帧长FL(采样)点,采样频率Fs ,目标变换帧频率Fs,则目标变换帧帧长FL=FL*Fs/Fs 。记Rate = Fs/Fs ,那么FL=FL * Rate,其中Rate 为基频变化率。变换开始时,先求得FL 和FL的最小公倍数AL,再将原音频帧插值为AL点,最后将插值后的语音段重新抽样,得到长FL点的变声后的数据。 方法二:直接乘以一个余弦函数,把语音信号频段搬移到较高频段,以达到变声的目的。两种方

29、法操作起来都还比较简单,但为了便于分析时域、频域特效,本设计选择了通信中常用的调制方法,即方法二。具体程序如下:n7=length(y);t3=linspace(0,1,n7);%0-1之间有n7个点,保证截取的语音信号和载波信号所取点数相同y3=cos(2*2000*pi*t3);%f0=2000hzsm=y.*y3; %矩阵乘:(m*n).*(m*n)sm1=sm;(5) 短时傅里叶变换的设计语音信号是一个非平稳过程, 而标准傅立叶变换仅适用于周期信号、 瞬变信号或平稳随机信号,因此标准傅立叶变换不能用来直接表示语音信号。然而,对语音处理来说,短时分析的方法是一个比较有效的解决途径, 因为

30、语音信号的特性是随时间缓慢变化的,因而可以假设它在一个短的段时间内保持不变。 将短时分析应用于频域分析即是傅立叶变换, 相应的频谱称为“ 短时谱” , 即有限长度的傅立叶变换。基于短时傅里叶变换的频谱分析具体程序如下:NW=512;d=100; %连续段之间的重叠长度L=512; %每段长为512k=NW-d;Ts=fix(ns/k);%每段实际取的点数nfft=512;TF=zeros(Ts,nfft); %将存放三维谱图,先清零for i=1:Ts n1=(L-d)*(i-1)+1; n2=(L-d)*(i-1)+NW; xw=sm1(n1:n2); temp=fft(xw,nfft);

31、%FFT变换 temp=fftshift(temp); %频谱以0频为中心,保证所有频谱的坐标值一样 TF(i,:)=temp; %把谱图存放在TF中endsubplot(2,2,2)mesh(abs(TF); %三维绘图title(STFT-Move); xlabel(时间); %量化间隔,detylabel(频率 f/hz); grid;subplot(2,2,3);contour(abs(TF);%绘等高线图title(等高图-Move); xlabel(时间); ylabel(频率);axis equal ; %纵、横坐标轴采用等长刻度 set the axes aspect ratiogrid;(6) 信号特效处理的设计 语音信号的常见特效有:音量调节、回声 、回响、 左右移动 、相位变化、 淡入淡出 。具体实现程序如下:音量调节:fprintf(音

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1