基于MATLAB的音乐分析与合成演示程序的设计

来源 :科技风 | 被引量 : 0次 | 上传用户:ciissyma
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:利用MATLAB GUI平台,设计了一个音乐分析与合成综合演示系统。用户通过简单的鼠标点击操作,就可以实现音乐载入、波形显示、频域分析、音乐合成以及音频播放等一系列功能。该演示系统可以让用户更直观地理解音乐信号分析与合成的基本原理,激发对音频信号分析和处理的兴趣。
  关键词:MATLAB;音乐分析与合成;傅里叶变换
  Abstract:Using Matlab GUI platform,a music analysis and synthesis integrated demonstration system is designed.Through simple mouse click operation,users can achieve a series of functions such as music loading,waveform display,frequency domain analysis,music synthesis and audio playback.The demo system can make users understand the basic principle of music signal analysis and synthesis more intuitively and stimulate their interest in audio signal analysis and processing.
  Key words:MATLAB;music analysis and synthesis;Fourier transform
  1 緒论
  MATLAB是是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,在信号处理领域已得到广泛的应用[1]。MATLAB还可以快速生成GUI(图形用户界面)程序。图形用户界面程序由一系列按钮、菜单、列表框、滑动条和文本框等控件组成,用户只需要通过鼠标和键盘操作,就可以实现各种运算,实现相应功能,具有形象生动、方便灵活的特点,是现代软件普遍采用的一种交互方式。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,故运用它来进行音乐信号的采集、分析和处理相当便捷。
  2 乐理知识介绍
  将调式中的音,从以主音开始到以主音结束,由低到高(叫做上行),或者由高到低(叫做下行)以阶梯状排列起来,就叫做音阶。基本音阶为C调大音阶,也有D调、F调等。不同的音阶有不同的声音频率,而不同的声音频率也对应着不同的信号波形。利用软件模拟,可以用不同的频率代表不同的音阶,从而起到调节音调的作用,进而可以用数学方法模拟出原唱的效果[2]。由于不同的乐器其信号包络信号也不同,故在音乐合成研究中,常用少量的直线来近似表示复杂的包络形状。于是,乐音信号的波形包络就呈折线分布。同时,为了保证在两个乐音的邻接处信号幅度为零,也经常采用指数衰减的信号包络来表示。如果连接的音符产生了一个杂音,可以通过加包络来消噪音[3]。
  3 音乐分析与合成演示平台的设计
  3.1 主界面
  在音乐分析与合成演示平台的设计中,每个模块的GUI程序设计都包含两个部分内容:GUI界面设计和m文件设计。GUI界面设计可以利用MATLAB提供的可视化GUIDE工具通过添加各种控件来完成;而m文件设计则主要根据界面设计,通过编写回调函数来实现相应的功能,音乐信号处理的功能均需在控件的回调函数中实现[4]。该音乐分析与合成演示系统的主界面如图1所示。主界面包含音乐信号分析和音乐信号合成两个子模块,分别点击对应的按钮就可以打开对应的子模块操作界面。
  3.2 音乐信号分析子模块
  该子模块的具有以下功能:
  (1)载入音频文件。用户点击载入音频按钮后,可载入计算机中的任意音频文件(.wav等)。载入完毕后,上方的坐标轴内将生成对应的时域波形。
  (2)音频的播放。载入音频后,点击播放音乐按钮,可播放当前载入的音频文件内容。
  (3)生成分析图像。完成(1)步骤后,在第一个弹出式菜单中选择一种分析种类(频谱分析/功率谱分析/倒谱分析)后,点击生成图像按钮,将会在右方的坐标轴内生成对应的图谱,如图2所示。
  (4)保存图像。用户在第二个弹出式菜单中选择一种保存图像类型(时域波形保存/频谱保存/功率谱保存/倒谱保存)后,点击保存图像按钮,将会弹出该类型图像的保存操作窗口(选择保存位置),进行保存。
  该音乐信号分析子模块可以分别实现频谱分析、倒谱分析以及功率谱分析等功能[5]。
  3.3 音乐信号合成子模块
  音乐信号合成子模块如图3所示。该模块可以用两种方法实现音乐信号的合成:(1)方法1(载入曲谱):在弹出式菜单中选择一种歌曲片段(东方红/雪绒花/小步舞曲)后,点击合成音频信号按钮,将会在坐标轴中生成该歌曲的时域波形,点击播放音乐按钮后,将会播放当前选择的歌曲片段。选择输入中下拉菜单的第二个曲目《雪绒花》。通过部分歌曲音阶可知对应的频率为:392 261.63 293.66 329.63 349.23 392 261.63 261.63 440 349.23 392 440 493.88 523.25 261.63 261.63 349.23 392 349.23 329.63 293.66 329.63 349.23 329.63 293.66 261.63 293.66 329.63 293.66 261.63 246.94 261.63。每小节有两拍,一拍的时间是0.5s,因此各音节的持续时间分别为:0.5、0.25、0.25、1、0.5、0.25、0.25、1。在MATLAB中用一个行向量来存储这段音乐对应的抽样点,再用sound函数播放音乐即可[6]。《雪绒花》的合成效果图如图3所示。   (2)方法2(琴键输入):通过按下琴键来输入音频信号,输入完毕后,点击播放按钮,将会按照顺序合成所有按下琴键的音频信号并生成对应的时域波形,同时播放合成的音频信号,点击重新输入按钮,之前输入的音频信号将被清除,可以重头开始输入。每个琴键都有对应的频率,因此可以通过GUI上的按键及MATLAB的相关函数实现琴键输入的效果。按下前三个白色琴键的输出效果图如图4所示。
  4 结语
  本文在MATLAB 2017 for windows 10的环境下,建立了一个音乐信号分析与合成演示程序。它以图形窗口为主窗口,加入了下拉菜单、控制按钮、坐标轴等模块,实现了音乐信号的采集、播放、处理,以及信号功率谱、频谱、倒谱图的分析和图形显示。另外,通过按钮可在MATLAB图形窗口上实现音乐信号的输入与合成,收到的效果清晰直观。
  参考文献:
  [1]宋晓婷.利用MATLAB合成音乐的函数模拟实现与比对[J].太原师范学院学报:自然科学版,2018,17(1):27-32.
  [2]張林,王艳芬,张晓光,等.基于MatlabGUI的数字信号处理演示平台设计[J].实验技术与管理,2016,243(12):154-157.
  [3]连丽红.基于Matlab的信号与系统实验平台开发[J].实验技术与管理,2016(6):150-153.
  [4]罗湘娟,陈丽,谢超.基于MATLAB的音乐分析与合成研究[J].科技经济导刊,2017(15):32.
  [5]金波.基于Matlab的“信号与系统”实验演示系统[J].实验技术与管理,2011,27(12):104-107.
  [6]闫红梅,吴冬梅,吴延海.Matlab在周期信号分解及频谱中的应用[J].实验技术与管理,2016(5):37-39,43.
  基金项目:南阳师范学院教学研究项目(2019-JXYJYB-65,2017-JXYJYB-20);南阳师范学院课堂教学模式改革项目(2019-JXYJKT-26);南阳师范学院大学生实践教学活动创新项目(SPCP2020427)
  作者简介:毛艺晓(1999— ),女,浙江舟山人,本科,主要研究方向:计算机技术应用。
  通讯作者:王志鹏(1982— ),男,河南南阳人,副教授,主要研究方向:光学信息处理。
其他文献
智能制造对制造类专业已经比较成熟,课程设置也非常合理。对非制造类专业,存在机械、电气、信息技术等专业基础课程不足,对理解智能制造概念有些模糊。本文根据我院学生特点
网络信息技术时代的到来,使得媒体和舆论愈渐进入人们的视野,现代青年大学生目前所了解的主要是以微博、微信为代表的新媒体。新媒体技术和互联网技术的快速发展,更是对广大
伴随着现代理念、时尚潮流不断深入人心,首饰从最初的饰品到奢侈品,再到艺术理念的表现载体,逐渐成为艺术工作者钟情于情感表达的形式与内容。在现代概念首饰设计的瓶颈阶段,
随着我国空间技术的发展,我国建立了2000国家大地坐标系,但大多数的测量成果使用的是1980西安坐标系,而2000国家大地坐标系的精度优于1980西安坐标系,因此实际中常进行这两种坐标系的转换。针对测量成果坐标系转换到2000国家大地坐标系的问题,采用了布尔莎模型进行坐标系转换,通过实例验证了布尔莎模型转换的可行性。
列车速度传感器故障会导致擦轮现象,列车运行异响,造成乘客恐慌。本文介绍一种便携式列车制动速度传感器性能监测装置,包括装置的组成和工作原理,操作便捷灵活,提高列车检修
随着未来中国空间站的建成,后续太空教学活动与搭载项目的日益增多,对实验过程进行图像采集处理显得至关重要。本文采用OV2640摄像头,通过STM32微控制器进行数据的传输与处理,并将实验图像实时显示在液晶屏上,为空间教育类实验提供适应性广、接口统一的实验平台。
当人们对高质量生活的追求,对此保证食物的温湿度也有了一定的要求,为了保证烘干食物的温湿度控制线性、互换性、重复进行,本设计采用AT89S51单片机作为控制电路的核心,使用D
乡村生态环境问题是一个复杂且综合的领域,牵涉到多方社会主体,单纯依靠政府已经无法满足当前乡村生态环境治理的需求。乡村传统的信任基础、乡规民约的规范习惯以及政府的政
本文旨在充分调研发展中地方物流业务的现状和问题的前提下,通过对现代化智能物流系统和遗传算法的国外内研究,结合现代物流传输的特点,阐述了基于发展中地方物流的智能化传
本文研究并提出了一种可以提升二维翼型积冰模拟精度的方法。采用时间多步法进行冰层增长计算,利用基于流场特征的网格自适应方法,对计算网格进行自适应优化,得到更精确的流