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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于幅度调制的语音信号合成课程设计说明书.doc)为本站会员(龙***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于幅度调制的语音信号合成课程设计说明书.doc

1、课程设计说明书 设计题目:基于幅度调制的语音信号合成 专 业: 电子信息工程 班 级: 设计人: 学 号: 山 东 科 技 大 学 山 东 科 技 大 学 课 程 设 计 任 务 书 电子信息工程 专业 一、 课程设计题目: 基于幅度调制的语音信号合成 二、 设计原始资料: MATLAB 软件编程环境;PC 机 三、 设计应解决下列各主要问题: 1、选择合适的语音合成方法,并用 MATLAB 实现; 2、选择合适的方法对语音信号进行分析处理; 3、利用幅度调制法进行语音合成。 四、 设计说明书应附有下列图纸: 五、命题发出日期: 2013-12-15 设计应完成日期: 2013-12-27 设

2、计指导教师(签章) 教研室主任(签章) 指导教师对课程设计的评语 指导教师(签章): 年 月 日 摘 要 语音信号处理是一门比较实用的电子信息工程专业课程,而语音是人类获 取信息的的重要来源和利用信息的重要手段。通过语言相互传递信息是人类最 重要的基本功能之一。语音信号是一种非平稳的时变信号,它携带着各种信息。 在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取 语音中包含的各种信息。 Matlab 是一个数据分析和处理功能十分强大的工程实用软件。本文介绍了 利用 matlab 软件实现驱动声卡采集语音信号和语音信号采集后的处理方法,并 通过实例利用 matlab 分析了语音

3、信号处理的过程,并最终得到合成的语音信号。 关键词:语音信号处理 语音合成 MATLAB 目 录 1 绪论 5 2 设计与实现 6 2.1 相关知识简介 6 2.2 语音合成方法确定 8 2.2.1 LPC 线性预测参数法 8 2.2.2 振幅调制法 10 2.3 语音合成步骤 11 2.3.1 男声处理 11 2.3.2 女声处理 15 2.3.3 声音调幅载波 19 3 设计总结与心得体会21 4 附录22 4.1 参考文献22 4.2 程序代码23 1、绪 论 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处 理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术

4、之一。 通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。 同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信 方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和 其他智能机器的应用,提高社会的信息化程度。 语音合成技术和语音识别是实现人机语音通信,建立一个有听和讲能力的 语音系统所必需的两项关键技术。使电脑具有类似于人一样的说话和听懂人说 话的能力,是 90 年代信息产业的重要竞争市场。和语言识别相比,语言合成的 技术相对说来要成熟一些,是该领域中近期最有希望产生突破并形成产业化的 一项技术。 综观语言合成技术的研究,语音合成发展方向为:

5、1.、提高合成语音的自 然度;2、丰富合成语音的表现力;3、降低语音合成技术的复杂度;4、多语种 文语合成等,认真学习并研究语音信号的合成技术,对于我们开拓知识,提高 能力,以及在后续课程的学习具有重要的意义。 2、设计与实现 2.1 相关知识简介 人发声的声波区间:男 80Hz-500Hz;女 100Hz-1KHz,针对男女声音频 率的不同,可以在频域上进行一些处理; 共振峰:是指在声音的频谱中能量相对集中的一些区域,共振峰是音质的 决定因素。因此可以通过此特点来提取声音的一些特性; 数字滤波器设计原理:数字滤波是数字信号分析中最重要的组成部分之一, 与模拟滤波相比,它具有精度和稳定性高、系

6、统函数容易改变、灵活性强、便 于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等 方面,经典数字滤波器是使用最广泛的一种线性系统。 数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进 行加工处理,或者说利用数字方法按预定的要求对信号进行变换。 FFT:离散傅立叶变换的快速算法,可以将一个时域信号变换到频域来处 理。 比如:x=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*700*t) 的图像与频谱如下,可 以很直观的看到 x 的频率集中在 50,100,700 处。 0 200 400 600 800 1000 1200 14

7、00 1600 1800 2000-4 -2 0 2 4 x=sin(2*pi*50*t)+sin(2*pi*f100*t)+sin(2*pi*700*t)一 一 一 0 100 200 300 400 500 600 700 800 900 10000 500 1000 x一 一 一 分帧处理:语音信号可以认为是短时平稳的。在 550ms 的范围内,语音频 谱特性和一些物理特性参数基本保持不变。我们将每个短时的语音称为一个分 析帧。一般帧长取 1030ms。可以看出分帧后一帧声音信号具有明显的周期性。 0 200 400 600 800 1000 1200 1400 1600 1800 20

8、00-0.5 0 0.5 1 一一一一一一一一 0 50 100 150 200 250 300 350 4000 20 40 60 80 100 一一一一一一一一 窗函数:加窗函数来减小数据采样时带来的谱间泄漏。Hanning 窗在大多数 场合很有效,它具有良好的频率分辨率,并降低了频率泄漏。分帧时配合使用 Hanning 窗可以很好的对信号去噪,提取包络等处理。 MATLAB 音频文件相关函数: wavrecord(fs*t,fs):以 fs 为采样率录音,录音时长为 t; wavwrite(y,fs,16,luyin.wav):将 luyin 文件储存; wavread(yuyin.wa

9、v):读取 yuyin 文件; sound(a*y,b*fs):以 a 倍振幅,b 倍频率试听 y 文件。 2.2 语音合成方法确定 2.2.1 LPC 线性预测参数法 1.语音生成模型 通过对声管的研究,发现它可以用一个 N 阶全极点滤波器表述,即: 111()()NkkkkGGVz azpz 对于典型的男声,N=10,所有的极点 要分别构成共轭对以保证 系数ipia 都是实数。就可以得到产生语音信号的离散语音模型,如图所示: 脉冲序列发生器 声道模型 V(z) 简化的语音生成模型 语音信号 假设激励信号用 e(n)表示,语音信号用 s(n)表示,根据全极点模型表达式, 有: 1 ()()(

10、)NksnasGen 从而可以用声管模型对激励信号进行滤波得到语音信号。 2. 语音预测模型 假设已经知道了系数ai,那么生成模型的输入和输出对换,就构成了语音 的预测模型,即语音信号 s(n)送入预测滤波器,得到预测残差 e(n) 1 ()()Nkensasn 发端需要把误差 e(n)传到收端,收端可以用 e(n)作为上述差分方程的激励 得到重建语音。在发端,语音 s(n)是滤波器的输入,而误差 e(n)是输出。系数 ai也需要从发端传到收端,但因为语音具有短时平稳性,即在短时间内(比 如 10ms) ,系数 ai可以认为不发生变化,所以也不必太频繁地传输,同时采用 预测技术后,可以大幅度地

11、降低语音的带宽。这种通过现行预测方法压缩语音 数据量的技术称为线性预测编码。 3. 语音重建模型 如果知道激励信号 x(n)和滤波器系数ai,就可以利用激励生成重建语音 了和语音生成模型的公式完全相同 1 ()()Nksnxsn 但这个模型被称为语音重建模型,为了同生成模型区分开, 称为重建语s 音,如果 x(n)正好等于 e(n),那么重建语音就会和原始语音 s(n)完全相同。 语音的非平稳性(虽然短时平稳)导致预测系数ai是时变的,一般每 1020ms 就会发生一些变化以产生不同的音节。在这种情况下,滤波过程也要 分段进行,即每次用不同的滤波器系数,但相邻两次滤波必须要保持滤波器的 状态不

12、发生变化。 4. 分析与合成语音 需要做的 处理 声道模 型 V(z) 线性预测 系统 需要做的 处理 重建的语音原始语音 滤波器系数ai e(n) x(n) 分析和合成语音的系统框图 首先,抽样的语音信号被分成 10ms 长的段;然后,对每段数据进行统计 分析,计算相邻样点的相关性并最终得到最佳预测系数。合成过程就是利用这 些预测系数,以及周期的单位样值序列作为输入,依次得到每段合成语音。 通过以上理论分析发现,LPC 线性预测参数法的特点:虽然原理清晰,调 节灵活,但实现过程较复杂,步骤较多,同时得到的音质较差。因此我们采取 下一种方法:振幅调制法。振幅调制法相比于 LPC 线性预测参数法

13、较易实现。 2.2.2 振幅调制法 振幅调制法相比于 LPC 线性预测参数法较简单,易于实现,同时步骤较少, 因此可以减少积累误差。振幅调制法的原理如下: 男声信号输入 女声信号输入 时频域分析处理 时频域分析处理 提取包络 提取音色频率 振幅调制 得到合成声音 时频域分析处理 下面具体介绍振幅调制法的具体过程以及如何用 MATLAB 实现,同时将 设计过程及其中遇到的问题和解决办法列写出来。 2.3 语音合成步骤 2.3.1 男声处理 男声信号最关键的操作是提取频谱包络。语音包络携带了语音信号的语义 和个性化信息,准确提取频谱包络是语音分析的一项重要任务。在许多科学领 域的信号处理中,都需要

14、提取信号的包络信息,因此现在有许多成熟的信号包 络提取方法。目前最常用的方法就是希尔伯特变换。同时近年又兴起一种新的 时频分析方法小波变换,由于它具有良好的时频局部化特性和多尺度分析 的功能,应用日益广泛。利用小波变换(采用己调高斯小波)提取信号包络的 效果比希尔伯特变换更好。 但是由于对于语音信号处理方面的知识储备不足,而且由于现在没有成型 的小波变换模型供参考,因此本设计最终采用的是基于希尔伯特变换的包络提 取。 同时在设计的过程中由于对包络的概念理解不清,也走了不少弯路,不过也取 得了一些意外的效果。 在数学与信号处理的领域中,一个实值函数的希尔伯特变换是将信号 s(t)与 1/(t)做

15、卷积,以得到 s(t)。因此,希尔伯特变换结果 s(t)可以被解读为输入是 s(t )的线性时不变系统的输出,而此系统的脉冲响应为 1/(t)。这是一项有 用的数学工具,用在描述一个以实数值载波做调制的信号之复数包络,出现在 通讯理论中发挥着重要作用。 希尔伯特变换的数学表达式: s(t)=H(s)= s(n)h(t-n)dn=(1/)(s(n)/(t-n)dn 其中 h(t)=1/(t) Hilbert 变换具有两个性质: 性质 1 序列 x(n)通过 Hilbert 变换器后,信号频谱的幅度不发生变化,这是 因为 Hilbert 变换器是全通滤波器,引起频谱变化的只是其相位。 性质 2 序

16、列 x(n 与其 Hilbert 变换是正交的。 MATLAB 提供了计算 Hilbert 变换的函数,其格式为 y=Hilbert(x)。但需注 意的是,该函数计算出的结果是序列的解析信号,其虚部才是序列的 Hilbert 变 换。 我们首先对采集到的语音信号进行预处理,截取片段,滤除其中的噪声。 对采集语音信号分析其频谱后,发现其含有一定的高频噪声,因此决定设计一 个低通滤波器对其进行滤波。 设计的低通滤波器(设计为子程序)如下: 对采集到的信号选取的参数为:通带频率:400Hz。阻带频率:420Hz。试 听有较好的效果。 处理过程及结果如下: 0 1 2 3 4 5 6 7 8 9 x

17、104 -1 0 1 一一一一 0 100 200 300 400 500 600 700 800 900 10000 500 一一一一一一一 0 1 2 3 4 5 6 7 8 9 x 104 -0.2 0 0.2 一一一一一一一一一一 0 100 200 300 400 500 600 700 800 900 10000 500 一一一一一一一一一一 其次我们对信号进行分帧处理。由于语音信号的短时平稳特性,可以将平 稳过程的处理方法和理论引入到语音信号的短时处理中,将语音信号划分为很 多短时的语音段,每个短时的语音段称为一个分析帧。这样,对一帧语音信号 进行处理就相当于对特征固定的持续信号

18、进行处理。在处理时,按帧取数据, 处理完后再取下一帧。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比 值一般取为 0.20.5。 设计的分帧算法如下,考虑到调试方便特设计为子函数的形式,方便调用 调试: 然后我们就可以按帧对信号进行处理,通过不断的尝试调试,最终发现最 优的处理方法为:1、每一帧进行加窗处理(Hanning 窗) ;2、对每一帧进行希 尔伯特变换;3、帧合并;4、从中抽取出处理后的语音信号。 至此,男声语音包络提取完毕。 波形图如下: 0 1 2 3 4 5 6 7 8 9 x 104 -0.2 -0.1 0 0.1 0.2 一一一一一 0 200 400 600 800 1

19、000 1200-0.2 -0.1 0 0.1 0.2 一一一一一一一一一 0 50 100 150 200 250 3000 0.5 1 一一一 0 50 100 150 200 250 3000 0.5 1 一一一一一一一一 0 50 100 150 200 250 3000 20 40 一一一一 0 50 100 150 200 250 300-5 0 5 一一一一 0 1 2 3 4 5 6 7 8 9 x 104 -0.2 -0.1 0 0.1 0.2 一一一一一 0 1 2 3 4 5 6 7 8 9 x 104 -1 0 1 2 3 一一一一一一一一 2.3.2 女声处理 对于女

20、声,我们主要想提取其音色及频率,然后用其与男声的包络进行幅 度调制。但是最终的提取效果总是不是太好,尝试了很多种办法,都不能达到 理想的效果。因此最终决定直接用女声信号来调制男声信号,发现总体能取得 较能接受的效果。虽然效果不佳,但是在整个过程中收货颇多。下面将所进行 的尝试过程列写下来,总结原因,希望以后有机会还能再进一步进行优化处理。 首先分析人的发音特性。众所周知,一切物体发声的原理都是振动出声, 由空气传出,那在物体振动的时候出来的频率都是一个波形,这个波总可以分 解为一系列不同频率正弦波的叠加,含一个基波和许多谐波,即内含各种频率 成分,音色的不同,就是这些谐波的含量都不相同。因此我

21、们可以根据这个特 性来提取这些谐波成分,然后加到男声包络上,可能会有不错的结果。 0 200 400 600 800 1000 1200 1400 1600 1800 2000-0.5 0 0.5 1 一一一一一 0 50 100 150 200 250 300 350 4000 20 40 60 80 100 一一一一一一一一 通过上面这两张图片可以看出短时内的基波谐波分布,并呈现出周期特性。 并可以看到短时内声音主要频率都是集中分布的,因此我们可以用一个带阻滤 波器来把“基波”滤除掉,然后依次把得到的“谐波”加到包络上。 方法如下: 设计的带阻滤波器子函数: 0 100 200 300 4

22、00 500 600 700 800 900 1000-300 -250 -200 -150 -100 -50 0 一 一 一 一 一 一 一 一 一 一 一 处理前声音特效: 0 1 2 3 4 5 6 7 8 9 x 104 -0.4 -0.2 0 0.2 0.4 一一一一 0 200 400 600 800 1000 1200 1400 1600 1800 20000 200 400 600 一一一一一一一一 处理后声音特效: 0 1 2 3 4 5 6 7 8 9 x 104 -0.2 -0.1 0 0.1 0.2 一一一一一一一 0 200 400 600 800 1000 1200

23、 1400 1600 1800 20000 200 400 600 一一一一一一一一一一一 对比发现差别不是很明显,并未达到预期的效果。而且加载到男声的包络 上后并没有明显的效果。原因可能是滤波器的选取不合适。这里用的是切比雪 夫型滤波器。带阻滤波器的设计及参数选择都是一个不好把握的问题。用 FIR 滤波器还是 IIR 滤波器;用椭圆滤波器还是切比雪夫型滤波器还是其他类型滤 波器;脉冲响应不变法以及双线性变换法的在使用中区别;是否进行加窗处理; 参数选取多少合适等等一系列问题待解决。因此最终没有达到较好的效果。但 是在处理这些问题的过程中,真正把数字信号处理课程中的内容做到学以致用。 最后决定

24、对女声信号不进行音色提取处理,直接加载到包络上,最终得到 的结果可以接受。 最终女声处理素材如下: 截取李娜的青藏高原的高潮部分,并进行相应的低通滤波去噪处理。 0 0.5 1 1.5 2 2.5 3 3.5 4 x 105 -1 0 1 一 一 一 一 一 一 一 一 0 1 2 3 4 5 6 7 8 x 104 -1 0 1 一 一 一 一 一 一 一 一 0 500 1000 1500 2000 2500 3000 3500 40000 1000 2000 一 一 一 一 一 一 可见声音频率集中在 1500Hz 以上,不愧为“华语第一女高音” ,李娜 的声音已经可以在三个八度的音域内

25、自由驰骋,她的歌唱技艺已达到了一 种自由王国的境界。特怀着崇拜的心情来对这段语音信号进行处理。 2.3.3 声音调幅载波 信号调制:信号调制主要有三种基本调制方法,分别为幅度调制(AM) , 频率调制(FM )和相位调制(PM ) 。 信号调制原理是将低频信号加载到高频载波信号的过程,或者说把信息加 载到信息载体上以便传输的处理过程,称为调制。所谓“加载” ,其实质是使高 频载波信号(信息载体)的某个特性参数随信息信号幅值的大小程线性变化。 基于调幅调制的语音信号合成是以男生信号作为调制信号,女生信号为载波信 号来合成一种以女生语音信号声色表述男生语音内容的新信号。这种调制方式 是用传递的低频

26、信号去控制作为传送载体的高频振荡波的幅度,是已调波的幅 度随调制信号的大小线性变化,而保持载波的角频率不变。 本设计采用的是幅度调制的方法,用采集到的男生信号去对女生信号进行 幅度调制,实现语音合成的目的。 幅度调制的原理如下(以正弦信号为例): 0 200 400 600 800 1000 1200 1400 1600 1800 2000-2 -1 0 1 2 x=sin(2*pi*50*t)+sin(2*pi*1000*t)一一一 0 200 400 600 800 1000 1200 1400 1600 1800 2000-1 -0.5 0 0.5 1 y=sin(10*pi*t)一一一

27、 0 200 400 600 800 1000 1200 1400 1600 1800 2000-1 -0.5 0 0.5 1 一一一一一一一 有了以上的例子我们就可以对男女声信号进行调制了,实现过程如下: 0 1 2 3 4 5 6 7 8 x 104 -0.5 0 0.5 1 1.5 一 一 一 一 一 一 0 1 2 3 4 5 6 7 8 x 104 -1 -0.5 0 0.5 1 一 一 一 一 一 一 0 1 2 3 4 5 6 7 8 x 104 -2 0 2 4 一 一 一 一 一 0 500 1000 1500 2000 2500 3000 3500 40000 1000 2

28、000 3000 一 一 一 一 一 一 一 一 一 可见合成信号的时域波形与男声的时域波形较为相像,频率与女生信号的 相差无几,合成信号的特征取得较满意的效果。 3、设计总结与心得体会 在这两个周的课程设计中,我学到了很多平常在书本上学不到的东西,比 如未曾接触过得语音信号的处理以及 MATLAB 软件的大规模应用,这让我收获颇 多。同时设计过程中遇到许多问题,有的已经解决,有的还待优化。同时,我 们通过向老师请教,查阅大量资料,与同学激烈探讨,将本来不懂的设计课题 变为了一个个明确编程任务,分工合作,最终完成了本次课程设计。 由于时间和知识水平的限制,虽然课程已经完毕,但我们的设计还是存在

29、 很多不足,比如设计方法还有很多没尝试,具体步骤还能优化等等。 设计中遇到很多问题,和别的课题的同学交流获得了巨大的收获,这在以 前的设计中是没有的,因此增加了以后处理大课题的信心。 4、附录 4.1 参考文献 1 高西全 数字信号处理(第三版) 西安电子科技大学出版社 2 陈怀琛 MATLAB 及在电子信息课程中的应用(第三版) 电子工业 出版社 3 王卫东 高频电子电路(第 2 版) 电子工业出版社 4 韩纪庆 语音信号处理(第 2 版) 清华大学出版社 5 语音信号的合成及其 matlab_GUI 实现 燕山大学课程设计 6 王猛 基于分帧平稳小波变换的语音干扰效果定量评估 电子对 抗2

30、008 年第 3 期 7 张绪省 信号包络提取方法-从希尔伯特变换到小波变换 电子科 学学刊1997 年第 1 期 4.2 程序代码 男声信号录入及滤波程序: clc;close all;clear all; yy=wavrecord(44100*6,44100); wavwrite(yy,44100,16,luyin.wav); x,fs=wavread(luyin.wav); x=x(1:90000);%片段截取 figure; subplot(411) plot(x); title(原始信号) sound(x,fs); y=fft(x); y=y(1:1000); subplot(412

31、); plot(abs(y); title(原始信号的频谱) a=lvbo(180,220,fs,x);%低通滤波器参数选择 a=a(3639:93638);%片段截取 ,消除位移 subplot(413) plot(a); title(低通滤除噪声后的信号) y=fft(a); y=y(1:1000); subplot(414); plot(abs(y); title(低通滤除噪声后的频谱) sound(10*a,fs); wavwrite(a,44100,16,LPFlvbo.wav); 男声包络提取程序: clc;close all;clear all; % yy=wavrecord(4

32、4100*6,44100); % wavwrite(yy,44100,16,luyin.wav); % hc,fs=wavread(luyin.wav); hc=wavread(LPFlvbo.wav); hc=hc(1:90000); fs=44100; t=0:1/fs:(length(hc)-1)/fs; figure(1) subplot(211) plot(hc); title(纯语音波形); %-进行分帧,加窗处理 framelength=256; %窗长 framemove=80; %帧移 y_frame=fenzhen(hc,framelength,framemove,9000

33、0); subplot(212) plot(y_frame); title(对纯语音分帧看结果); % 求帧数, size 返回矩阵的行数和列数 nf=size(y_frame,1); w=hamming(framelength);% 汉明窗 y_window=; %忽略第一个 for k=1:nf y_row=y_frame(k,:).*w ; % 加汉明窗 y_row=hilbert(y_row); %对每一帧进行希尔伯特变换取包络 y_row=(abs(y_row); y_window=y_window;y_row ; end figure subplot(411) plot(w); t

34、itle(窗函数); subplot(412) plot(y_window); axis(0 300 0 1) title(对每帧加窗看结果); %-谱减系数设定 及噪声谱估计 a=2; b=1; % 2=a=4,1=b=7 是系数的可调范围 a=2,b=1 时是基本谱 减法 n_noise=10; % 取前十帧语音作为背景噪声 y_noise=mean(y_window(1:10,:); noise_amplitude=abs(fft(y_noise); % 噪声的谱估计 y_fft=fft(y_window); y_amplitude=abs(y_fft) ; %fft 后 y 的幅度 y

35、_angle=angle(y_fft) ; % fft 后 y 的相位 % figure subplot(413) plot(y_amplitude); title(窗的幅度); subplot(414) plot(y_angle); title(窗的相位); % 谱减过程 y_enhanced_amplitude=; for k=1:nf y_temp=y_amplitude(:,k).a-b*noise_amplitude.a; % 谱相减 y_temp0=y_temp.(1/a); y_enhanced_amplitude=y_enhanced_amplitude y_temp;%得到处

36、理后的幅度 矩阵 end y_enhanced_fft=y_enhanced_amplitude.*exp(i*y_angle); % 恢复原来的相位 y_enhanced=real(ifft(y_enhanced_fft); % fft 反变换求得增强后的分帧语音, 取的是实部 y_output=; for k=1:nf-1 y_output=y_output y_enhanced(k,1:80); % 从增强后的分帧语音中抽取出最 终的语音序列 end y_output=y_output y_enhanced(k,:); figure subplot(211) plot(hc); titl

37、e(纯语音波形); subplot(212) plot(y_output); title(分帧处理后的包络);%-做出处理前后图形,给出直观对比 sound(hc,fs) sound(y_output,fs) wavwrite(y_output,44100,16,y_output.wav); 声音合成程序: clc;close all;clear all; y,fs= wavread(y_output.wav); sound(y,fs); y=lvbo(180,220,fs,y); y=y(1:80000); figure subplot(211); plot(1:length(y),y); title(男生信号包络); % g,fs=wavread(青藏高原); fs subplot(212); g1=g(1:80000);%截取片段 xxx1:90000 plot(g1); title(女声信号片段); g1=g1 % z1=g1.*y; for i=1:80000; z(i)=4*z1(i);%增大幅度 end figure a=fft(z); a=a(1:4000) subplot(211) plot(z); title(合成的信号); subplot(212) plot(abs(a) title(合成信号的频率特性); sound(z,fs)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。