




免费预览已结束,剩余9页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
清华大学 基于LABVIEW钢琴界面设计课程名称: LABVIEW程序设计 题 目: LABVIE钢琴界面设计系统 院 系: 计算机学院 组 名: 张大伟 组 员: 张大伟 授课教师: 范 祥 林 日期:2018年6月10日 本实验是基于LABVIEW软件及mySQL制作的按键钢琴设计内容摘要整个装置可以完成实时弹奏,实时记录弹奏乐谱;还可以按照先前记录下来的乐谱播放钢琴曲。系统界面采用了拟物化的设计风格,古风字体,后现代化的虚拟按键。设计总体思想是利用mySQL的8个数字I/O通道作为琴键输入,通过LABVIEW编程合成出波形数据,经过D/A变换后通过AudioOut端口放大输出的。关键词:LabVIEW mySQL 按键钢琴 拟物化 第一章虚拟钢琴设计的目的与意义LABVIEW在测控领域的应用非常广泛。有别于其他编程语言其特点、应用大致可分为如下几个方面:测试测量:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIE在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LABVIEW驱动程序,使用LABVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LABVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。快速开发:根据笔者参与的一些项目统计,完成一个功能类似的大型应用软件,熟练的LABVIEW程序员所需的开发时间,大概只是熟练的C程序员所需时间的1/5左右1。所以,如果项目开发时间紧张,应该优先考虑使用LABVIEW,以缩短开发时间。仿真:LABVIEW包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以先在计算机上用。 LABVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。在高等教育领域,有时如果使用LABVIEW进行软件就可以达到同样的效果,使学生不致失去实践的机会。跨平台:如果同一个程序需要运行于多个硬件设备之上,也可以优先考虑使用LABVIEW。LABVIEW具有良好的平台一致性。LABVIEW的代码不需任何修改就可以运行在常见的三大台式机操作系统上:Windows、MacOS及Linux。2除此之外,LABVIEW还支持各种实时操作系统和嵌入式设备,比如常见的PDA、FPGA以及运行VxWorks和PharLap系统的RT设备。除此之外LABVIEW利用自身的附加模块可实现集成部署硬件,信号处理,分析和连接控制与仿真数据管理,记录与报表生成开发工具和验证,应用发布等机能,因此LABVIEW是一门应用广泛,软硬件结合简易的一门图形化编程语言,在工业、测试、应用开发等方面可发挥重要作用,这次课程设计正是让我们初步认识这个系统的机会,可以为我们在以后的相关领域的个人发展中,起到一个垫脚石的作用。第二章基于LABVIEW虚拟按键钢琴的设计与调试2.1总体设计要求:利用mySQL的8个数字I/O通道作为琴键输入,通过LABVIEW编程合成出所需频率的声音,经过D/A变换后通过AudioOut端口放大输出。而且可以同时按下两个或更多的按键,输出的声音也是这些声音的叠加。3仿照电子琴功能,还可以录入弹奏的声音并可以控制其播放已记录的声音。设计电子琴,首先得用播放声音之类的控件,在选择播放波形还是播放放声音过程的控件时,我选用了播放波形的控件,原因是因为波形的频率容易设置,能让声音听起来更接近,而播放音频文件,在网上很难找到相应的音频,而自己录制的话,由于条件有限,很难完成,就选用了播放波形控件。先试着让一个按键发出声音,选用波形产生控件,可设置声音频率。4然后选择播放波形控件如图将其与对应的对应的频率相连接就能实现声音的产生如所示,右击信号仿真器的频率,创建一个输入控件,让后将控件转换为常量,在其中对其输入对应的频率。2.2设计运行及调试:实验运行之后可实现如要求所示的所有内容,另外还添加了分区弹奏播放的功能(利用8个按键共可弹奏24个音阶。5这就需要将24个音阶分成三个区域按照要求选定区域,实时弹奏和播放声音记录文件时均可使用)现在就运行效果进行品评:程序运行后。 需等待几秒才可输入按键;同时灵敏度不强按键时间较短或者按键力度较轻均不能触发频率发声图给其设置对应的按键,选择按键的属性如所示确定按钮属性设置可以设置这个按钮的大小跟颜色,使控件看起来像一个电子琴的琴键,设置好后可以保存这个控件,控件如所。6格式的一个文件,以免设置别的按键时跟此次所设定的参数不一样,而导致电子琴的琴键看起来不整齐,而影响美观。调试过程中遇到几项问题,均得到一定程度的解决:用公式产生波形在进行滤波后得到的声音效果和钢琴音差距极大,而且还有尾音较刺耳。所以还是决定制作钢琴的音乐文件来作为模拟输入的波形。3效果好很多,但作为代价代码运行速率有所降低。作为钢琴界面另外一个关于声音的问题是声音合成的问题,波形只能相同采样率才能合成,因此需要多个按键同时按下的时候其他没有按下的也需要作为空白进行合成。这里解决方法是读取空白声音文件。2.3前面板界面设计在设计完电子琴单按键发声后,需要把每个按键有顺序的排布,而每个按键发声都是一个事件,所在在程序的后面板需要把他们放在时间结构中,在事件结构中对每个按键发声进行设置。选择事件结构。7事件结构的选择在程序中选择事件结构,然后将本分支所处理的单按键放入该分支页面中,然后进行设置,由于电子琴的琴键通常需要按下去才会发出声音,所以本分支出发的条件就设置为当鼠标按下时触发。关于TDMS数据采集,tdms是实时采集数据并写入。因此不必将其置于while循环之中。关于读取,按照先前的想法是依次读出数据,由于拥有LABVIEW程序的电脑比较少,也就是说LABVIEW这个软件并不是很普及。8对于我来说,我希望自己的VI程序能在别人的计算机上运行,对此也就有了设计中的打包生成独立文件的一个环节。首先打开我们的程序VI中的程序菜单中项目选项中选择新建项目。后来发现不能实现依次读出。这里利用数组暂存的功能先将数据读出到数组,再将其间隔时间按照每一列读出。第三章 基于LABVIEW便携式钢琴的系统设计3.1 系统总体设计函数选板子选板:函数选板编程子选板功能模板就是LABVIEW将传统仪器上的各种测试功能、信号分析文件操作以及输入/输出(1/0)接口设备的驱动做成可供直接调用的库函数。9使用时只需根据预完成的功能与操作,从子模板上选择相应的“图标”放在流程图编辑窗口中相应的位置上即可。该模板上的每一个顶层图标都表示一个子模板(如图所示)。它可以用Windows菜单下已经提意见有条件的ShowFunetionspalette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。而且它只有打开了框图程序窗口后才能出现。它包括结构子模板、数值运算子模板、布尔逻辑子模板、字符串运算子模板、数组子模板、类子模板、比较子模板、时间和对话框子模板、文件输入/输出子模板、仪器控制子模板、仪器驱动程序库、数据采集子模板、信号处理子模板、数学模型子模块、图形与声音子模块、通讯子模板、应用程序控制子模块、底层接口子模块、文档生成子模板、示教课程子模板、用户自定义的子Vl模板和选择VI子程序等子模板。系统总体流程框图: 系统总体设计是系统总体可实现自由弹奏,录制乐曲,播放乐曲,调整播放键盘区域的功能。10在设计完电子琴单按键发声后,需要把每个按键有顺序的排布,而每个按键发声都是一个事件,所在在程序的后面板需要把他们放在时间结构中,在事件结构中对每个按键发声进行设置。选择事件结构。11事件结构的选择在程序中选择事件结构,然后将本分支所处理的单按键放入该分支页面中,然后进行设置,由于电子琴的琴键通常需要按下去才会发出声音,所以本分支出发的条件就设置为当鼠标按下时触发。事件结构设置。3.2模块设计 程序的主要功能为预设声音文件的路径、音量大小、播放、暂停、停止和播放声音文件。先来介绍设置声音文件的路径,在前面中放入一个下拉列表,在下拉列表的属性中的编辑项中所示设置对应的文件名字。12编辑项设置在后面板中将下拉列表与条件结构相连,条件结构中添加一个分支,由于下拉列表的项值都是唯一的,所以将其与条件结构的分支相对应。然后在函数选板中选择创建路径的控件径上选择连接当前VI路径,在基路,在条件结构中与其想对应的项值中放入字符串常量,在其中输入所对应的歌名,前面的是LABVIEW中当前VI路径的一种形式。13整个路径设置所示。获取到声音文件将他连接到声音文件信息上,声音文件信息如图所示。文件信息控件介绍路径输出给读取声音文件,将声音文件连接到配置声音输出中,对其音频文件进行操作,例如设置声音大小,播放、暂停与停止功能的实现,就是在这部分完成的。3.2.1钢琴界面主面板设计 主结构分为上下部分,上面是曲谱,下面是弹奏部分。可以选择弹奏/播放/录音等功能。全键盘24个按键,可以通过mySQL输入弹奏其中的8个,再通过键盘 从按键键盘输入mySQL8通道数字信号,写入一维数组。再用索引将8个数字信号分别链接到声音读取判断结构。例如:输入的是00100100,8个判断结构中第三个和第六个取真,其他取假。把其中的声音进行合成,用mySQL输出的音频信号。3.2.2钢琴数据输入模块每隔0.5s记录一次采样的数据信号,分8通道记录名称为no1-no8。录音开关这个布尔按钮控制录音通断。 前面板的控件一定要按次序排布为电子琴的样子,如图3.9所示如从左到右白健依次是低音、中音、高音的1234567,黑键也是依次是低音、中音、高音的半音阶。设置后的电子琴按键3.4播放声音文件播放声音文件是本次设计中带的一个小功能,主要是播放自己添加在程序中的几首歌曲,在真实的电子琴中,按下某个特定的键,可以演奏已经预设好的音乐,甚至是伴奏,但播放声音文件跟这些功能是基本一致的,由于在电脑上弹奏歌曲必定不如在真实的电子琴上进行弹奏,所以也没有必要用伴奏之类的设置,而是将其改进为播放歌曲。程序的主要功能为预设声音文件的路径、音量大小、播放、暂停、停止和播放声音文件。先来介绍设置声音文件的路径,在前面中放入一个下拉列表,在下拉列表的属性中的编辑项中如图所示设置对应的文件名字。编辑项设置在后面板中将下拉列表与条件结构相连,条件结构中添加一个分支,由于下拉列表的项值都是唯一的,所以将其与条件结构的分支相对应。3.2.3 钢琴数据输出模块 考虑到读取tdms文件不能顺序读出。这里设置其先读入一个二维数组;再将数组中的数按照列的顺序读出来;并且可以循环播放该数据记录文件内容。另外附加的如键盘区选中,实时曲谱等功能在这里不再一一介绍。用公式产生波形在进行滤波后得到的声音效果和钢琴音差距极大,而且还有尾音较刺耳。所以还是决定制作钢琴88音的音乐文件来作为模拟输入daq的波形。效果好很多,但作为代价代码运行速率有所降低。另外一个关于声音的问题是声音合成的问题,波形只能相同采样率才能合成,因此需要多个按键同时按下的时候其他没有按下的也需要作为空白进行合成。这里解决方法是读取空白声音文件,再进行叠加关于TDMS数据采集,tdms是实时采集数据并写入。因此不必将其置于while循环之中。关于读取,按照先前的想法是依次读出数据,后来发现不能实现依次读出。这里利用数组暂存的功能先将数据读出到数组,再将其间隔时间按照每一列读出。第四章LABVIEW收获体会和总结展望从此次课题中的论文编写和LABVIEW的设计制作全都是赵家龙一个人完成的。我学到了很多东西,对LABVIEW的理解又上升了一个档次,从一个什么都不懂的小白到现在能自己创作的LABVIEW的设计者。在能实现一个不错的作品。本次毕设是用LABVIEW设计一款电子钢琴,毕业设计阶段是一个非常难得的理论与实践相结合的机会,通过本次的设计,让我摆脱了一直都是纸上谈兵的现状,实际结合的锻炼了我运用所学的专业基础知识,在老师的指导帮助下能基本独立的完成一款软件的编写,在起初开始拿到题目正式做设计时,突然发现有股力不从心,无从下手的感觉,但随着老师的第一次分析与指导,让我又看到希望,理清了头绪,明确了目标。学会了应用各种程序结构,对声音的输入,输出,文件的写入与读取都有了自己的认识。在程序设计的过程中,也碰到了不少的问题,通过查找LABVIEW帮助,查看工具书,上网查找资料和cnki上的论文对问题的解决有了自己的方法。当然,有些问题确实也没有得到实质上的解决,比如主从vi的并行,比如对某些事件的响应顺序,再比如数字滤波器的具体应用与选择方法等等没有找到好的解决办法,这个都是在以后的学习过程中要改进的地方。当然,在短时间内想要做出一个非常复杂的vi还是很不现实的,知识的积累需要一个过程。对于一个问题,总会有各种各样的方法,这个都是在以后的学习过程中要改进的地方。当然,在短时间内想要做出一个非常复杂的vi还是很不现实的,知识的积累需要一个过程。对于一个问题,总会有各种各样的方法,前提是知识要丰富,有足够的认识才行,所以学习一门知识系统点也是很有必要的。 对条件结构的使用更加娴熟,对属性节点,层序结构使用更为熟练,电子琴本身项目的原因也让我们扩充了多方面的知识,不论是从编程,理论知识,设计,其他软件使用方面都对我们有所锻炼,但是即便如此,我们的程序仍有很大的提升空间,比如,我们可以扩展无线控制模块,M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030飞机黑匣子技术迭代与数据安全保护趋势报告
- 2025-2030非洲滑石原矿选矿技术适配性与投资回报测算
- 2025-2030青年公寓声学环境优化与隔音方案研究
- 2025-2030钠离子电池产业链成熟度与储能项目适配性
- 辽宁省高考语文复习重点与答题技巧
- 2025-2030钙钛矿光伏组件衰减机制分析与封装技术改进方向报告
- 2025-2030钙钛矿光伏组件商业化进程与度电成本测算
- 2025-2030都市青年微型公寓产品标准化与规模化复制策略
- 2025-2030辅助生殖技术服务下沉市场开发与投资回报分析
- 2025-2030费托蜡行业碳排放测算与碳中和路线
- 乌鲁木齐家乡介绍旅游攻略
- (高清版)JTGT 3365-01-2020 公路斜拉桥设计规范
- 专业技术人员年度考核情况登记表
- GB/T 33285.2-2024皮革和毛皮烷基酚及烷基酚聚氧乙烯醚的测定第2部分:间接法
- 2023年贵州专升本英语真题试卷(完整版)
- 医院护理培训课件:《成人早期预警评分系统介绍》
- 2023保密知识测试题库含答案
- 危险化学品安全作业(氧化工艺)考试题库(含答案)
- 中国农业银行笔试题库(含答案)
- GA 1808-2022军工单位反恐怖防范要求
- 工程建设项目绿色建造施工水平评价申请表
评论
0/150
提交评论