LABVIEW虛擬鋼琴的設(shè)計(jì)_第1頁
LABVIEW虛擬鋼琴的設(shè)計(jì)_第2頁
LABVIEW虛擬鋼琴的設(shè)計(jì)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、LABVIEW虛擬鋼琴的設(shè)計(jì)LABVIEW®擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)期末大作業(yè)報(bào)告題目:簡(jiǎn)易虛擬鋼琴的制作學(xué)院:信息與通信工程學(xué)院班級(jí):#姓名:$學(xué)號(hào):#序號(hào):#2012年12月25日一、基本介紹:此次期末大作業(yè)我做的是簡(jiǎn)易虛擬鋼琴,所實(shí)現(xiàn)的功能主要是高中低21個(gè)音的彈奏,彈奏方式上實(shí)現(xiàn)了鼠標(biāo)點(diǎn)按彈奏和用電腦鍵盤彈奏。以下是程序的主界面、程序基本框圖1事件結(jié)構(gòu)那符么動(dòng)低影響悝體晳下的豆出栢應(yīng)時(shí)-C-T&"bn三、程序的關(guān)鍵設(shè)計(jì)點(diǎn)1、程序界面:背景和文字:使用Photoshop制作。如下圖:,琴鍵:使用LABVIEW確定按鍵,自定義顏色形狀形成VI2、發(fā)音原理:由于我已經(jīng)準(zhǔn)備

2、好各個(gè)音符的聲音文件,所以可以直接使用播放聲音文件直接播放聲音。仕弄1曰jyJ(秒)播放聲音文件VIffID'-itr占+口i聲音輸出清零VI具體使用方式如下勺E;Labview%Or說明:向播放聲音文件VI輸入聲音文件絕對(duì)路徑,然后再在后面接上聲音輸出清零VI,其作用是使設(shè)備停止播放音頻,清空緩存,任務(wù)返回至默認(rèn)狀態(tài),并清除與任務(wù)相關(guān)的資源。簡(jiǎn)單來說就是為了使每個(gè)音符的發(fā)聲時(shí)間長(zhǎng)度一致。實(shí)驗(yàn)中我是把以上整個(gè)發(fā)音結(jié)構(gòu)作為一個(gè)基本單元使用的,以下用到這個(gè)結(jié)構(gòu)的地方,我簡(jiǎn)稱它為發(fā)音程序。3、鼠標(biāo)點(diǎn)按彈奏功能:,琴鍵設(shè)置:琴鍵采用的是確定按鈕,白鍵的屬性設(shè)置黑鍵的屬性設(shè)置a蘭冃里閏異求

3、9;35示祕(mì)R交:t它們的機(jī)械動(dòng)作均為保持轉(zhuǎn)換直到釋放。,琴鍵布局完成后,將它們與程序框圖相關(guān)聯(lián):如右圖,建立一個(gè)事件結(jié)構(gòu):其作用:包括一個(gè)或多個(gè)子程序框圖或事件分支,結(jié)構(gòu)執(zhí)行時(shí),僅有一個(gè)子程序框圖或分支在執(zhí)行。事件結(jié)構(gòu)可等待直至事件發(fā)生,并執(zhí)行相應(yīng)條件分支,處理該事件C音的發(fā)音程序假如琴鍵名為C,那么在事件結(jié)構(gòu)里添加C的鼠標(biāo)按下事件,一旦C按下,就發(fā)出對(duì)應(yīng)音樂,實(shí)現(xiàn)彈奏。將以上方法應(yīng)用到每個(gè)按鍵,就實(shí)現(xiàn)了所有音符的彈奏4、鍵盤彈奏功能:,還是以上的事件結(jié)構(gòu),再添加一個(gè)“鍵按下”的事件當(dāng)鍵盤上任意鍵按下時(shí)就啟動(dòng)事件框內(nèi)的程序,程序負(fù)責(zé)查找哪個(gè)按鍵被按下,然后確定按下的琴鍵,并播放按鍵音。由于程

4、序框圖面積太大,所以只截取具有代表性的框圖來說明,以下為截取的關(guān)鍵程序以及相關(guān)解釋。坤二扭一的確1SA的掰佰輻人劉:小圧城iu肢累維戡嗎詢世內(nèi)詁.,、坤.唇;林剳珊軻儘入的沅井幫呼結(jié)怪f可幵店椿#:廠直料的貍用1刷聰盤見決建上月曲巔劃莊上込的毎件啟九兀戈幽掛“MEEH件冬問曲睚序門柱圃條件結(jié)構(gòu)里面放的是發(fā)音程序(條件為真時(shí)啟動(dòng)方框內(nèi)的程序任盒Msbviaw/彩燈在琴鍵上方。):以下為部分鍵的查找程序框圖5、停止按鈕:在總程序外加一個(gè)WHILE循環(huán),事件結(jié)構(gòu)加停止鍵“值改變”事件,當(dāng)停止鍵按下就終止循環(huán),退出程序,停止鍵如下:四、遇到的問題:,琴鍵的設(shè)置:一開始沒意識(shí)到LABVIEW!帶的按鍵的

5、強(qiáng)大功能,我還想著要自己設(shè)計(jì)的琴鍵圖片導(dǎo)入前面板,后來由于遇到不少問題,我才意識(shí)到自己腦袋轉(zhuǎn)得太慢,居然走這種彎路。,一開始為了實(shí)現(xiàn)按鍵彈奏,就去找事件結(jié)構(gòu)里的事件情況,結(jié)果只有“鍵按下”事件,無法根據(jù)具體按鍵設(shè)置事件。后來在翻看一些參考書、相關(guān)程序之后,我才確定了具體方案,正如同以上程序所寫。,音長(zhǎng)不同問題:連續(xù)按不同鍵時(shí)音符的長(zhǎng)度與重復(fù)按一個(gè)鍵時(shí)的長(zhǎng)度不同。解決方法:在播放聲音文件VI后加上聲音輸出清零VI控件,使得每個(gè)音的長(zhǎng)度都減短,即每個(gè)音的長(zhǎng)度都相同了。五、總結(jié):本次大作業(yè)是分組做的,由于我個(gè)人獨(dú)立成組,所以選的題目比較簡(jiǎn)單,但是這并不意味著工作量少。一開始我是因?yàn)樽隼蠋熃o的作業(yè)一一

6、計(jì)算器的時(shí)候想到了我可以做一個(gè)按鍵能發(fā)聲的程序,于是我馬上構(gòu)思好了雛形,準(zhǔn)備做一個(gè)虛擬鋼琴。開始我花了不少時(shí)間想著怎么設(shè)計(jì)界面,后來又對(duì)每個(gè)琴鍵進(jìn)行設(shè)置,對(duì)于琴鍵真可謂是“一榮俱榮,一損俱損”,設(shè)置思路不對(duì)就得一個(gè)一個(gè)改,所以我只先做好一個(gè)鍵,然后遷移到每個(gè)琴鍵,考慮到時(shí)間有限,我只做了21個(gè)琴鍵的彈奏,而沒有做鋼琴的所有的88個(gè)鍵。這次LABVIEW程序設(shè)計(jì)與編寫讓我加深了對(duì)于這一圖形化編程語言的理解。同時(shí)我也有點(diǎn)后悔沒有與其他同學(xué)組成小組一起完成大作業(yè),因?yàn)槲腋杏X到團(tuán)隊(duì)協(xié)作很重要,我的興趣是程序界面的美化,如果找一個(gè)擅長(zhǎng)編程的同學(xué)協(xié)作,我想程序最后出來會(huì)十分完美;另外,在做的過程中,當(dāng)我遇到問題時(shí),我只能一個(gè)人去思考去查資料,可以說碰了不少釘子,如果有一個(gè)伙伴一起商量做法的話,程序完成起來會(huì)高效得多。還有一點(diǎn)很大的啟發(fā)就是最后解題展示時(shí)老師提的建議,就是要盡量簡(jiǎn)潔地把自己的努力成果向大家展示,而

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論