(音乐)基于LabVIEW的电子琴设计_第1页
(音乐)基于LabVIEW的电子琴设计_第2页
(音乐)基于LabVIEW的电子琴设计_第3页
(音乐)基于LabVIEW的电子琴设计_第4页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于LabVIEW的电子琴的设计摘要 随着电子计算机的不断发展,以及软件开发技术的日新月异,电子计算机在数据的实时分析和处理,现实存贮等方面的优势与传统仪器相比越来越明显,随着计算机性价比的不断提升,传统仪器价格又高居不下,加上传统仪器的功能单一,发展虚拟仪器已经成为一个不可阻挡的历史潮流。在20世纪80年代,美国国家仪器公司(NI)最早提出了虚拟仪器的概念,引发了传统仪器领域的一场重大变革,使得计算机网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了“软件即是仪器”的先河。而虚拟仪器的设计,需要图形化的开发环境LabVIEW。本文讲解了基于LabVIEW的电子琴的设计,通过对声音的频率设置,以及LabVIEW中的常用编程控件,来实现电子琴发声,本程序能实现电子琴基本演奏功能,还有音乐播放功能。关键词:虚拟仪器,LabVIEW,电子琴音乐类Electric Piano Design Based on LabVIEWAbstract With the rapid development of computer technology and software development technology, the advantagement of the computer in analyzing, processing, displaying, storing the data becomes more and more obvious. At the same time, developing virtual instrument has become an irresistible trend of history along with high cost performance of computer, high price of traditional instruments and the single function of the traditional instruments. In this environment, the American NI company firstly began to the study of the virtual oscilloscope; and then launched a plat for the LabVIEW. This thesis designs a set of virtual oscilloscope based on the basic structure of the virtual instrument and related knowledge of signal processing in authors procession. It analyzes the definition, structures and trend of development of the virtual instrument. It introduces the basic knowledge related with virtual oscilloscope, which is Fourier transform. Virtual instrument is composed of hardware and software in two parts. This thesis introduces the hardware simply, but studies the software at full length. Based on the study of the two parts of the virtual instrument, the author designs the spectrum analysis module, memory module, display module and measurement module.Key Words: Virtual Instrument, LabVIEW, Electronic piano目录第1章 绪论11.1 电子琴的特色11.2 电子琴的构成11.3 电子琴的发展11.4 产品优势21.5 电子琴的意义2第2章 系统软件的开发平台LabVIEW简介32.1 LabVIEW的基本概述32.2 LabVIEW的模板分析52.2.1工具模板52.2.2 控件选板72.2.3 函数选板7第3章 电子琴的软件设计93.1 设计任务93.2 单按键发声93.3 电子琴设计113.4 播放声音文件13第4章 打包生安装文件16总结25参考文献26致谢27音乐类第1章 绪论1.1 电子琴的特色电子琴又称作电子键盘,属于电子乐器,发音音量可以自由调节。音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等)。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。另外,电子琴还安装有效果器,如混响、回声、延音,震音轮和调制轮等多项功能装置,表达各种情绪时运用自如。电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。还常作为独奏乐器出现,具有鲜明时代特色。 电子琴的自动节奏部分,为老师给学生进行节奏感的教学提供了有利条件。老师可让学生合着自动节奏反复打拍子,甚至可以运动身体,比如合着节奏踏步、走步,做操等,从中用心和身体去领略各种节奏的律动。并且可以了解各种各样的音乐风格,增加其综合音乐素养。普及型电子琴的演奏有较大一部分是通过自动和弦伴奏来配合完成的,在音乐中和弦的连接推动了旋律地进行,不同的和声连接,形成了不同的音乐色彩。1.2 电子琴的构成 本次设计的电子琴是由36个琴键所构成,包含有高音、中音、低音的音阶以及半音阶共同组成。也就是所谓的黑键跟白键。1.3 电子琴的发展 1959年,由雅马哈(YAMAHA)株式会社生产了世界上第一台立式电子琴,取名为”伊莱克通“(Electone),它有三层键盘。1980年,随着电子集成电路的出现,电子琴开始向小型化发展,雅马哈等厂家生产了便捷式单键盘电子琴(Portatone Portasound)。1983年,雅马哈生产的电子合成器DX7和电钢琴问世。1986年,HX系统高级历史电子琴问世。我们现在常见并熟悉的双排键电子琴是日本于1991年之后生产的EL,ELS系列以及便携式双排键DDK7。在中国,1958年北京邮电学院研制了一台电子管单音电子琴。由于种种原因,至1977年后,我国才大批生产电子琴。1989年,我国年产儿童电子琴200万台,并出口39万台。中国的电子琴事业正在迅速发展。 电子琴发展很快,琴的各项功能日趋完善。音色和节奏有最初的几种发展到现在的几百种。除寄存音色外,还可通过插槽外接音色卡。合成器的某些功能,如音色的编辑修改、自编节奏、多轨录音、演奏程序记忆等也运用到电子琴上。1.4 产品优势 目前市场上的电子琴都比较昂贵,利用LabVIEW编程能够简单又方便的实现钢琴的功能。由于学习LabVIEW时间有限,和对其掌握的不够透彻,本产品对于实现高真电子琴模拟还有一段距离。但已经能基本实现电子琴的一份功能,基本能满足使用。1.5 电子琴的意义 1.电子琴的发明极大地推动了流行音乐的发展;现代的流行音乐离不开电子琴,键盘手一般是现代电声乐队的中坚力量。 2.电子琴的发明使人们可以演奏出未曾拥有的音色,丰富了人们情感的表现;电子琴创造出了许多其他乐器无法演奏出的音色,甚至自然不存在的音色,这些音色帮助了人们通过音乐表现自己的情感。 3.电子琴的发明推动了音乐的普及,它让音乐真正成为了大众的音乐,成为了人类社会不可缺少的东西。 电子琴作为科技与音乐的产物,在信息化和电子化的时代,为音乐的大众化做出了不可磨灭的贡献,现代歌曲的制作,很多都需要电子琴才能完成,然后才通过媒介流传开来,电视剧电影插曲、电视节目音效、甚至你的手机铃声,都很可能包含电子琴的身影。第2章 系统软件的开发平台LabVIEW简介2.1 LabVIEW的基本概述LabVIEW是美国国家仪器公司开发的,基于G语言(Graphics Language)的虚拟仪器开发工具。其特点是用图形化的符号来代替传统的文本语言,从而达到直观,简洁,易懂的目的。1992年8月labVIEW2.5实现了从MaCintosh平台到Windows又砰台的移植,从 LabVIEW3.0版本开始,LabVIEW作为一个完整优异的图形化软件开发环境得到了工业界和学术界的认可,并开始迅速占领市场,赢得了广大用户的青睐。 它的基本特点是: 1.具有良好的用户接口其用户接口类似于传统仪器的面板,包括按钮、旋钮、图形显示组件、控制组件等。通过鼠标和键盘向程序输入数据,操作结果由软件在计算机屏幕上生成。 2.编程方式简单、直观采用图形语一言(G语言)、图标和联机代替文本形式编写程序,是对具体编程问题的图形化解决方案。 3.具有层次结构和模块化的特点每一个VI可以作为顶层程序,也可以作为其它程序的子程序。 4.提供程序调试功能程序调试工具包括在源代码中可以设置断点,可以单步执行,也可以启动。 LabVIEW创建虚拟仪器过程 创建虚拟仪器的过程分为三步: 1.创建前面板。前面板是图形化用户界面,用于设置输入数值和观察输出量。它模仿了实际仪器的面板。前面板包含了旋钮、按钮、图形和其他控制与显示对象。通过鼠标和键盘输入数据、控制按钮,也可在计算机显示器上直接观看结果。若想要在数字控制中输入或修改数值,只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。 2.创建框图程序。在前面板窗口的主菜单windows中选择 ShowDiagram将前面板窗口切换到框图程序窗口,此时会看到与前面板对象对应的端口。根据需要在功能模板中找到所需的节点,并将节点图标放置到框图程序窗口。用数据连线将这些端口和节点的图标连接起来,形成一个完整的框图程序。 3.创建图标。一个虚拟仪器的图标/连接端口就像一个图形(表示某一虚拟仪器)的参数列表。这样,其它的虚拟仪器才能将数据传输给子仪器。图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序的子程序。运行和调试程序。运行和调试程序是任何一门编程语言编程的最重要的一步。在LabVIEW中,用户可以通过两种方式来运行程序:运行和连续运行。如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。调试程序时可以利用单步执行、设置断点、设置探针来显示数据流动方向。图2.1 LabVIEW前面板图2.2 LabVIEW程序框图2.2 LabVIEW的模板分析LabVIEW是一种图形化设计语言,在一个虚拟仪器VI的开发过程中,主要利用模板创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类:工具(Too1s)选板、控制(Controls)选板和功能 (Functions)选板或称函数选板。图2.3 工具选版2.2.1工具模板工具选板为编程者提供了各种用于创建、修改和调试VI程序的工具(如图所示)。该模板可以在windows菜单下选择 ShowToolsPalette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状,它包括了以下工具包。 操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具的形状。 选择工具,用于选择、移动或改变对象的大小当它用于改变对象的连框大小时,会变成相应形状。 标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。 连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。 对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。 漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游 断点工具:使用该工具在VI的框图对象上设置断点。 探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。 颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。 自动选择工具 工具模版提供用于操作,编辑前面板和流程图上的对象的各种工具。如果需要选用某项操作工具,只需要用鼠标点击该工具图标即可。2.2.2 控件选板图2.4 控件选版控件选板拟仪器的面板是通过软件实现的。就是LabVIEW将传统仪器上的各种旋纽、开关.、显示屏等所有可能涉及到的操作部件,都做成外形相似的“控件”分类存于控制模板上。设计仪器模板时,只需根据需要选择合适的“控件”放在面板相应的位置上即可。每个图标代表一个子模板(如图所示)。控制模板可以用Windows菜单的 ShowControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。它只有当打开前面板窗口时才能调用。2.2.3 函数选板 图2.5 函数选板图2.6 函数选板子选板函数选板编程子选板功能模板就是LabVIEW将传统仪器上的各种测试功能、信号分析文件操作以及输入/输出(1/0)接口设备的驱动做成可供直接调用的库函数。使用时只需根据预完成的功能与操作,从子模板上选择相应的“图标”放在流程图编辑窗口中相应的位置上即可。该模板上的每一个顶层图标都表示一个子模板(如图所示)。它可以用Windows菜单下的Show Funetionspalette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。而且它只有打开了框图程序窗口后才能出现。它包括结构子模板、数值运算子模板、布尔逻辑子模板、字符串运算子模板、数组子模板、类子模板、比较子模板、时间和对话框子模板、文件输入/输出子模板、仪器控制子模板、仪器驱动程序库、数据采集子模板、信号处理子模板、数学模型子模块、图形与声音子模块、通讯子模板、应用程序控制子模块、底层接口子模块、文档生成子模板、示教课程子模板、用户自定义的子Vl模板和选择VI子程序等子模板。 本章介绍了当今在测控领域内的虚拟仪器开发软件LabVIEW语言,它满足了实现虚拟测试仪器的条件,是虚拟仪器开发环境中图形化语言的杰出代表之一。第3章 电子琴的软件设计3.1 设计任务使用LabVIEW设计一个运行于计算机的电子琴软件,软件实现弹奏功能和音频文件播放功能。其中弹奏功能:每按下一个琴键,扬声器播放对应频率声音。播放音频文件:在VI目录下放入程序中指定名字的.wav音频文件,在程序中可以选择播放。3.2 单按键发声 设计电子琴,首先得用播放声音之类的控件,在选择播放波形还是播放放声音过程的控件时,我选用了播放波形的控件,原因是因为波形的频率容易设置,能让声音听起来更接近,而播放音频文件,在网上很难找到相应的音频,而自己录制的话,由于条件有限,很难完成,就选用了播放波形控件。先试着让一个按键发出声音,选用波形产生控件,可设置声音频率,然后选择播放波形控件如图3.1所示将其与对应的对应的频率相连接就能实现声音的产生如图3.2所示,右击信号仿真器的频率,创建一个输入控件,让后将控件转换为常量,在其中对其输入对应的频率。图3.1 波形产生控件 图3.2 频率发声图 给其设置对应的按键,选择按键的属性如图3.3所示图3.3确定按钮属性设置 可以设置这个按钮的大小跟颜色,使控件看起来像一个电子琴的琴键,设置好后可以保存这个控件,控件如图3.4所示。保存为.ctl格式的一个文件,以免设置别的按键时跟此次所设定的参数不一样,而导致电子琴的琴键看起来不整齐,而影响美观。图3.4 设置好后的按键这是我设置的电子琴白键,而电子琴是由白健跟黑键共同构成的,所以还得用以上步骤设置一个黑色的按键如图3.5所示,同样保存为.ctl格式,留着待用。图3.5 设置后的黑键 3.3 电子琴设计在设计完电子琴单按键发声后,需要把每个按键有顺序的排布,而每个按键发声都是一个事件,所在在程序的后面板需要把他们放在时间结构中,在事件结构中对每个按键发声进行设置。选择事件结构如图3.6所示。 图3.6 事件结构的选择在程序中选择事件结构,然后将本分支所处理的单按键放入该分支页面中,然后进行设置,由于电子琴的琴键通常需要按下去才会发出声音,所以本分支出发的条件就设置为当鼠标按下时触发。事件结构设置如图3.7所示。图3.7 事件结构的设置给对应的每个按键频率进行设置,然后将他们放在事件结构的每个分支中进行相同步骤的设置。没个按键对应的频率如表3.1所示。表3.1 各个音阶所对应的频率音符名频 率(Hz)音符名频 率(Hz)音符名频 率(Hz)低音1261.6256中音1523.2511高音11046.502低音1.5277.1826中音1.5554.3653高音1.51108.731低音2293.6648中音2587.3295高音21174.659低音2.5311.127中音2.5622.254高音2.51244.508低音3329.6276中音3659.2551高音31318.51低音4349.2282中音4698.4565高音41396.913低音4.5369.9944中音4.5739.9888高音4.51479.978低音5391.9954中音5783.9909高音51567.982低音5.5415.3047中音5.5830.6094高音5.51661.219低音6440中音6880高音61760低音6.5466.1638中音6.5932.3275高音6.51864.655低音7493.8833中音7987.7666高音71975.533 将事件结构的每个按键都设置为鼠标按下,如图3.8所示。当然前提是要放置够足够的确定按钮(已经设置为相应的按键),这样就可以实现按下一个键,发一个音。一个简易的电子琴按键发声的程序的基本功能就已经实现了。图3.8 前面板的控件一定要按次序排布为电子琴的样子,如图3.9所示如从左到右白健依次是低音、中音、高音的1 2 3 4 5 6 7,黑键也是依次是低音、中音、高音的半音阶。图3.9 设置后的电子琴按键3.4 播放声音文件播放声音文件是本次设计中带的一个小功能,主要是播放自己添加在程序中的几首歌曲,在真实的电子琴中,按下某个特定的键,可以演奏已经预设好的音乐,甚至是伴奏,但播放声音文件跟这些功能是基本一致的,由于在电脑上弹奏歌曲必定不如在真实的电子琴上进行弹奏,所以也没有必要用伴奏之类的设置,而是将其改进为播放歌曲。首先先介绍下整个播放声音文件的程序框图。 图3.10 播放声音程序框图 程序的主要功能为预设声音文件的路径、音量大小、播放、暂停、停止和播放声音文件。先来介绍设置声音文件的路径,在前面中放入一个下拉列表,在下拉列表的属性中的编辑项中如图3.11所示设置对应的文件名字。图3.11 编辑项设置在后面板中将下拉列表与条件结构相连,条件结构中添加一个分支,由于下拉列表的项值都是唯一的,所以将其与条件结构的分支相对应。然后在函数选板中选择创建路径的控件,在基路径上选择连接当前VI路径,在条件结构中与其想对应的项值中放入字符串常量,在其中输入所对应的歌名,前面的.是LabVIEW中当前VI路径的一种形式。整个路径设置如图3.12所示。图3.12 文件路径获取到声音文件将他连接到声音文件信息上,声音文件信息如图所示。3.13文件信息控件介绍路径输出给读取声音文件,将声音文件连接到配置声音输出中,对其音频文件进行操作,例如设置声音大小,播放、暂停与停止功能的实现,就是在这部分完成的。第4章 打包生成安装文件由于拥有LabVIEW程序的电脑比较少,也就是说LabVIEW这个软件并不是很普及。对于我来说,我希望自己的VI程序能在别人的计算机上运行,对此也就有了设计中的打包生成独立文件的一个环节。首先打开我们的程序VI中的程序菜单中项目选项中选择新建项目,如图4.1所示。图4.1 新建项目 在这个菜单后会弹出如图4.2的所示的面板。图4.2 新建项目弹出面板 点击添加,程序就会添加到项目中。如图4.3所示。图4.3右击上面的我的电脑,弹出如图4.4所示菜单。 图4.4点击添加-文件后如图4.5所示。图4.5由于VI中含有音频文件,所以在此处要将几个音频文件分别添加到程序中进行操作。如图4.6所示。图4.6由于要生成安装文件前,必要将程序打包为应用程序,然后在包含在安装文件中才行,下面就先简单介绍下生成应用程序,如图4.7所示。图4.7 生成应用程序选择 点击后如图4.8所示。图4.8点击保存后,选择保存路径,输入文件名称后点击保存,如图4.9所示。图4.9点击确定后,弹出如图4.10所示面板。图4.10首先在信息中设置文件名称,保存路径,如图4.11所示。图4.11在源文件中设置启动VI以及始终包含文件,如图4.12所示。图4.12其余选择默认,选择生成,生成后返回项目界面,然后右键点击程序生成规范,生成安装文件,如图4.13所示。图4.13 选择源文件,将应用程序添加到安装程序中,如图4.14所示。图4.14点击添加将应用程序添加到右边电子琴目录下,如图4.15所示。图4.15其余选择默认,点击生成。返回项目浏览器,右键点击程序生成规范,选择生成全部,如图4.16所示。图4.16点击完成后,打开之前设置的保存路径,应用程序跟安装文件如图4.17和4.18所示。图4.17 应用程序图4.18 安装程序 所有文件都已经生成,打包生安装包文件也就完成了。总结随着毕业设计的完结,也就意味着大学四年马上就要结束了,本次毕设是用LabVIEW设计一款电子琴,毕业设计阶段是一个非常难得的理论与实践相结合的机会,通过本次的设计,让我摆脱了一直都是纸上谈兵的现状,实际结合的锻炼了我运用所学的专业基础知识,在老师的指导帮助下能基本独立的完成一款软件的编写,在起初开始拿到题目正式做设计时,突然发现有股力不从心,无从下手的感觉,但随着老师的第一次分析与指导,让我又看到希望,理清了头绪,明确了目标。虽然毕业设计的内容不多,但实际做起来比较繁琐。各种控件的应用,选择声音播放的系统,以及整个程序的关系。LabVIEW的逻辑性并没有像其它编程语言那么严谨,但是他对各种循环的选择或者使用让我费尽心思,在书上找了看,看了试。让我再一次学习了一遍,最终确定了主程序的框架,也给毕业设计起了一个良好的开端。在程序的制作过程中,在各方面都有所提高,虽然提高是有限的但也是全面的,因为这一次的毕业设计让我积累许多经验,是我更加深刻的学习了有关本专业的专业课程。这为我在未来的工作和学习中积累了宝贵的经验,也提高了我的应变能力,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论