labview虚拟钢琴电子教案.docVIP

  • 9
  • 0
  • 约2.54千字
  • 约 13页
  • 2020-12-30 发布于浙江
  • 举报
labview虚拟钢琴 __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ 2013-2014学年度第二学期 虚拟仪器技术及应用 --基于LabVIEW的便携式按键钢琴 专 业: 电子信息工程 班 级: 姓 名: 学 号: 成 绩: = 1 \* CHINESENUM3 一.设计课题 设计一个基于labview的便携式按键钢琴。 思路:利用myDAQ的8个数字I/O通道作为琴键输入,通过labview编程合成所需频率的声音,经过D/A变换后通过Audio Out端口放大输出。程序中通过设置不同的谐波组合可以最终混合出不同乐器的音色。 说明:除了数字I/O的信号采集和模拟信号输出之外,这个题目主要工作在软件方面的数字信号处理与合成(比如,如果同时按下两个按键,出来的效果应该是两个音的叠加;同时还要考虑针对不同乐器不同音色所对应增加的谐波比例)。软件上还可以增加其他功能。例如可以选择将PC音频输出的音乐通过myDAQ的Audio In端采集后增加混音或重低音效果等然后再通过Audio Out端播放出来。在硬件方面,可以扩展的一些工作包括琴键输入开关的毛刺滤除电路设计、音频输出后再做一级放大电路等。由于myDAQ只有8个数字I/O端口,因此只能做一个八音阶。 = 2 \* CHINESENUM3 二.设计过程 = 1 \* ALPHABETIC A.响应琴键事件 在while结构中放入8个条件结构,每个条件结构对应一个按键发音事件: 在每个对应的条件结构中,嵌入子vi,用来执行相应的选择事件,子vi负责了音量调节,音名选择,音色选择,音调选择等功能。为了不使程序连线过于复杂,使用了局部变量。上图可见。 = 2 \* ALPHABETIC B.集成功能的子vi设计 子vi的设计是基于音色控制的,这里提供了三种音色实现方式,通过条件分支架构来选择,一一介绍如下: = 1 \* ROMAN I.直接读入播放wav文件 由于自己合成的音色总是不能达到钢琴发音的效果,所以通过录制的wav音频直接拿来播放音色就比较好。而没有找到现成的钢琴按键音频文件,所以通过利用adobe audition专业音频处理软件来录制、截取,升降调制作了钢琴的单键声音。 对应的程序框图如下: 找到相应wav文件 写入读出: = 2 \* ROMAN II.正弦波基波与高次谐波的叠加: 由于音色是由于正弦波基波与其高次谐波成分比例多少不同而不同的,所以通过加入不同的谐波成分,可以来改变音色,效果要比只加入基波成分好很多,此次设计中可以调节二,三,四次谐波的比例成分。而且,又考虑到真实按键音会随着时间变化音量减小,所以在设计过程中也对此作了相应处理。 程序框图如下: 通过公式节点来计算出对应的声音频率,参考了十二平均律 公式波形与合成的正弦波形相乘,实现了音量随着时间而减小,而且,通过时间计时器,实现了音长的控制。 = 3 \* ROMAN III.三角波形的低通滤波 三角波经过低通滤波后只会出现基波和偶次谐波成分,音色听起来会比较和谐。而低通滤波的设计不止一种,低通滤波函数提供给我们几种滤波方法,所以可以有几种音色的选择,实际效果虽然不如第二种设计方法好,但还凑合。 程序框图如下: 其他的音量调节等见上图一目了然。 = 3 \* ALPHABETIC C.子vi的调用 子vi定义了八个输入接口,用来实现相应的功能。 在主vi的调用中,使用了静态的方式,而且,为了子vi能够同时多次调用,并实现子vi的并行,所以对子vi添加了可重用的属性。 = 4 \* ALPHABETIC D.控件的显示 在选择音色的过程中,在前面板上,对应于某一种音色选择的其他一些输入控件并没有作用,所以,我们可以通过属

文档评论(0)

1亿VIP精品文档

相关文档