基于MATLAB软件的音乐合成毕业论文(2)

2019-08-26 18:36

河北经贸大学毕业论文

基于MATLAB软件的音乐合成

1 绪论

1.1 研究背景及意义

如今,信息化、数字化程度越来越高,语音信号的处理技术作为基于数字信号处理技术与语音学知识对语音信号进行处理的新兴技术被越来越多的高科技产业广泛应用,这项技术成为信息科学工程与研究领域的核心技术之一。

MATLAB在信号处理与通信领域应用广泛,是一款数值计算和编程语言结合的优秀计算机软件。音乐信号合成作为语音信号处理的一部分,属于MATLAB软件重要应用领域之一。MATLAB音乐合成系统的设计针对于许多其他的音乐合成处理软件不易学习、操作不便等问题,利用MATLAB语言编程以及GUI界面设计来实现音乐信号的简单合成以及各种加工处理,程序更加易懂,操作更加简便,在各类教学工作中具有很大的实际应用意义。由于音乐信号可以看成是一系列频率与振幅不同的正弦波叠加并加以不同包络形成的,所以,可以基于这个特点利用MATLAB软件分析处理不同音频信号来进行简单的音乐合成。该软件系统作为教学辅助软件可以为语音信号处理课程的教学提供一定的帮助,可以让学生们更好地深入理解信号与系统等主干课程的内容,充分发挥自身的创新能力与实践能力。如今在各高校,MATLAB作为语音信号处理的学习工具已经成为学生们必须学习与掌握的软件。

1.2 研究的主要内容

本设计运用MATLAB软件要实现的功能:第一是要利用相关的语音处理函数进行简单的音乐合成,对音乐进行降噪、加谐波以及升降度处理;第二是用傅里叶变换分析经相应处理后的各音乐频谱;第三是运用傅里叶级数的原理来再次合成音乐;第四是实现音乐字幕的动态显示。整个过程利用MATLAB GUI图形应用界面进行显示,完成基本操作,界面友好,能实现良好的人机交互。 在设计中解决的主要问题: ① 简单音乐的合成由于相位不连续产生高频分量而使其质量不佳的问题可通过包络修正,消除噪音。② 音乐的基波所对应频率的计算。③必须充分了解音乐的节拍,即每个音调的持续时间,减少失真。④

1

河北经贸大学毕业论文

在设计GUI界面时的布局、各种参数设置以及各个模块演示编程的问题。 本设计使用的是MATLAB2013a软件,设计所实现的功能都在GUI图形应用界面体现出来,便于研究与操作。通过本设计让用户更直观地了解简单音乐处理的几种方法,并在各种相应处理前后的对比中更容易接受与其对应的方法及特点,学会并掌握 MATLAB信号处理的编程以及MATLAB下GUI的设计。

2

河北经贸大学毕业论文

2 MATLAB软件的简介

MATLAB(matrix&laboratory)矩阵实验室,作为一款拥有算法开发、数据分析及数值计算、创建用户界面等强大功能的仿真软件,被美国Math Works公司发行,将众多功能合成在一个便于操作的视窗交互化环境中。在科学研究、工程计算、信号处理、图像处理等方面得到广泛应用。而在本设计中用到的是MATLAB2013a时频域分析、音乐合成及GUI图形应用界面等信号处理方面的功能。

2.1 MATLAB的发展史

1980年,身为美国New Mexico大学计算机系系主任的Cleve Moler为了让学生方便地调用EISPACK和LINPACK,编写了它们的接口程序,命名为MATLAB。在此之后,国内外许多大学将MATLAB作为教学辅助软件广泛使用。

Cleve Moler和John Little在1984年创建了Math Works并推出了MATLAB DOS版,即第一版,其核心是用C语言编写。自此之后,MATLAB不断发展,功能愈加强大。MATLAB5.x版本于20世纪90年代末期推出,可以处理更多的数据结构。2000年,MATLAB6.0被发行,其操作界面拥有了程序、历史信息及变量管理三个窗口。并且替换为FFTW系统,使得计算速度更佳。2001年,MATLAB6.1及Simulink4.0问世和2002年,公司推出MATLAB6.5,其功能更加强大。2004年发行了MATLAB7.0版本,在编程环境、数据可视化、计算和文件I/O等方面的功能进行了改善。随后几年,公司陆续推出了MATLAB7.1~7.14版本,不断优化性能。近几年公司推出了MATLAB2012b(8.0版)及MATLAB2013a版本,有了很大改变,最明显的是其桌面,在主窗口中,工具条取代了菜单和工具栏。重新设计了帮助文档,在搜索、浏览及筛选功能上有进一步的提高。到目前为止,还有MATLAB2014a和MATLAB2014b版本。在本设计中用到的是MATLAB2013a版本,此版本较之前版本添加了许多新函数,功能也更加强大,使用更加方便快捷。

3

河北经贸大学毕业论文

2.2 MATLAB的系统构成

MATLAB软件可以说是由以下五大部分组成,分别是:软件的开发环境、数学函数库、软件的编程语言、图形处理系统以及该软件的应用接口(API)。

MATLAB开发环境是一个方便用户使用的集成工作空间,拥有M文件的编程与调试环境,许可用户进行数据的输入与输出。MATLAB软件的数学函数库拥有全面的计算算法,可以说从加减法最基本的算法到傅里叶变换等复杂算法都涵括在内。所以说,MATLAB能够解决很多复杂的数据计算与工程设计仿真运算。MATLAB语言的语法特征与C++语言非常相似,是在矩阵与数组的基础上进行设计的语言。操作者能够在命令窗口输入命令语句后就可执行该命令,也能够先编写好程序,保存为.M文件后再执行程序。MATLAB的图形处理系统的功能应用主要体现在GUI图形用户应用界面,能够使向量与矩阵完成图形化显示,满足用户的特殊要求。MATLAB软件应用程序接口主要完成的功能是能让MATLAB语言与其他编程语言进行交互,例如在MATLAB中调用C语言程序等。

4

河北经贸大学毕业论文

3 MATLAB音乐合成的原理

在本设计中,通过MATLAB软件对音乐信号频率与时长的分析与组合来完成音乐的简单合成。所以在设计过程中,根据音调用频率来体现,节拍用时长来体现的原理,用MATLAB软件进行编程来存储音乐的频率与时长,通过将正弦波形的不同叠加与包络设置来仿真实现音乐的音调与节奏的变化。

3.1 所涉及的乐理知识简述

要想实现音乐的合成,就要了解合成音乐所需要的相关数据,也就是音乐的三个特性:音调、响度、音色。音乐的音调就是音的高低,需要考虑影响音调的主要因素即声波的频率。音乐的响度是音的强弱,需要考虑影响响度的主要因素即声波的振动幅度。而音乐音色的变化是由音乐波形中谐波的作用产生的。 3.1.1 音调与唱名

在日常生活中,读音乐曲谱时发出的1( do)、2( re)、3(mi)、4(fa)......这些就称作为唱名。这些唱名分别代表着相应的基波频率。但是只有当确定了音乐的音调之后才能确切的知道各个唱名所真正代表的基波频率值。例如乐谱为1=C,代表着音调为C调则“1( do)”的基波频率是261.6Hz,若乐谱为1=E则“1( do)”频率是239.6Hz,乐谱为1=G则“1( do)”的频率是392.1Hz,“3(mi)”的频率是493.9Hz。 3.1.2 音色与谐波

音色的变化是由音乐波形中谐波的作用产生的。在音乐的专业中所指的“泛音”指的就是谐波,在得知音调之后,只能确定音乐信号的基波频率值,但是谐波频率无法确定。不同的乐器会发出不同的音色,这是由于不同的谐波成分和频谱结构导致的。并且不同的乐器所发出的的音乐包络波形是不同的,为了便于用程序来表示波形包络,通常把音乐的复杂包络函数近似直线化,所以音乐波形的包络通常都是折线型。 3.1.3 十二平均律

十二平均律,在音乐领域中作为一种音乐定律的方法,指将音乐的八度按照频率等比例地分成十二份。由于“五度相生律”和“十二平均律”发音非常相似

5


基于MATLAB软件的音乐合成毕业论文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常见食物热量及蛋白质含量表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: