基于MATLAB的音频解析与合成

时间:2022-10-27 02:10:42

基于MATLAB的音频解析与合成

摘要:该文基于Matlab软件对音频信号进行解析,利用基础波形合成法对不同乐器的信号进行合成,最终实现Matlab仿真。

关键词:Matlab;音频;信号

中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)19-0171-02

1 概述

对于音频信号的研究一直都是较为热门的话题,从早期的磁带机录音到现在的数码录音设备,都体现着科技的进步,其中,对音频信号的分析和编解码技术一直都是研究的热点[1]。通过基于Matlab的音频解析和合成的研究可以推进现阶段有关音频的数字信号的软硬件的发展,同时可以应用到嵌入式系统和DSP芯片中,增强计算精度和提高算法速度的功能。

2 音频信号的解析

2.1 音乐信号的解析

针对五种不同乐器演奏的《梁祝》,分析不同乐器音频信号的差别。使用狸窝软件进行时间截取和格式转换,分析得到频谱如下:

对于乐器来说,低频段表示音色的丰满度,高频段表示音色的明亮度。从图1至图5可以看出,古筝的泛音较强,这印证了我们听觉的感受,钢琴和笛子的频谱主要集中在500Hz~1000Hz的低频范围内,音色最为丰满,它们的主要区别在于钢琴泛音较多。

2.2 语音信号的时频特征分析

短时平均能量和平均过零率在语音信号时频分析中是最基本的方法,尤其在端点检测中占据重要地位。由于语音信号是一种非平稳信号系统,在研究的过程中,不能利用处理平稳信号的方法对其分析,但在短暂的时间内,语音信号可以看作是平稳的,因此用短时平均能量分析方法和短时平均过零率是可行的[2]。

语音信号的短时平均能量的可表示为:

从图6中可以看出,“t”是清音所以在前段部分短时平均能量很小,但短时平均过零率高,“a”是浊音所以后段部分短时平均能量大,但短时平均过零率低,无声部分为两段,能量几乎为0,过零率在前段表现为0,后段部分表现骤然下降为0,可以结合短时平均能量和短时平均过零率区分清音和浊音。

3 音频信号的合成

3.1 音乐信号的合成

本程序以“新年好”歌曲为例,利用Matlab中对于简单波形的处理和声音的输出方面的功能,合成简单的歌曲,此程序中音乐的音调频率处于国际标准[3],新年好这首歌为F调,通过对基波和一次谐波二次谐波等直至N次谐波的权系数的改变,可以使产生的声音的音色产生变化,并且可以模拟出钢琴,吉他等乐器声音。

此程序通过固定音调的频率简单合成歌曲,可以听出歌曲每个音节之间有啪的断音,这是因为相邻音节之间的相位不连续所造成,下面通过指数衰减包络来改善现状,并且增加多次谐波以改善音乐的厚重感,使其听起来更有层次。并且利用改变谐波参数和谐波次数简单模拟了钢琴A2的声音,用这种方法还可以简单模拟其他乐器的声音。

3.2 语音信号的合成

语音合成是通过机械的、电子的方法产生人造语音的技术。音色各异的语音具有不同的共振峰模式,因此,以每个共振峰频率及其带宽作为参数,可以构成共振峰滤波器。再用若干个这种滤波器的组合来模拟声道的传输特性(频率响应),对激励源发出的信号进行调制,再经过辐射模型就可以得到合成的语音[4]。这就是共振峰合成技术的基本原理。

通过共振峰作为滤波器的不同来调节基础发音,就可以得到不同的合成语音。在基础的合成语音上增加一些个性特征,就可以合成出带有个性音色的合成声音。除了共振峰的语音合成技术外,还有基于波形的合成技术,它是利用不同的波形组合在一起,从而形成新的发音。

4 结论

本文利用Matlab软件对不同音频信号进行分析。在语音信号处理中,利用时频信息分析是一种常见的方法,通过这种方法可以得到短时平均能量和短时平均过零率,这些参数可以区分不同的语音信号。在对音频信号进行解析研究后,本文最后利用波形合成法对不同的乐器进行合成,并进行Matlab仿真,可以得到不同乐器的合成声信号。

参考文献:

[1] 李丹.音频信号的过采样处理及转换[D]. 复旦大学, 2007.

[2] 张登奇,蒋敏. 基于Matlab的音频信号处理技术实现[J]. 电脑知识与技术,2009(5).

[3] 苏培煦.频率与音调――物理与音乐之一[J]. 邯郸师专学报,2000,10(3).

[4] 刘卫强.基于Matlab的音频信号综合分析处理[J]. 德州学院学报,2014(4):33-42.

上一篇:高职智慧校园的平台建设 下一篇:基于MATLAB平台的商学院校数学教育教学一体化...