版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 虛擬儀器技術(shù)及應(yīng)用-基于LabVIEW的便攜式按鍵鋼琴班 級(jí): 姓 名: 學(xué) 號(hào): 成 績: 一、 設(shè)計(jì)要求: 基本功能要求:便攜式按鍵鋼琴思路: 利用myDAQ的8個(gè)數(shù)字I/O通道作為琴鍵輸入,通過LabVIEW編程合成出所需頻率的聲音,經(jīng)過D/A變換后通過Audio Out端口放大輸出。程序中通過設(shè)置不同的諧波組合可以最終混合出不同樂器的音色。 說明:除了數(shù)字I/O的信號(hào)采集和模擬信號(hào)輸出之外,這個(gè)題目的主要工作在軟件方面的數(shù)字信號(hào)處理與合成(比如,如果同時(shí)按下兩個(gè)按鍵,出來的效果應(yīng)該是兩個(gè)音的疊加;同時(shí)還要考慮針對(duì)不同樂器不同音色所對(duì)應(yīng)增加的諧波比例)。軟件上
2、還可以增加其他功能,例如可以選擇將PC音頻輸出的音樂通過myDAQ的Audio In端采集后增加混音或重低音效果等然后再通過Audio Out端播放出來。在硬件方面,可以擴(kuò)展的一些工作包括琴鍵輸入開關(guān)的毛刺濾除電路設(shè)計(jì)、音頻輸出后再做一級(jí)放大電路等。由于myDAQ只有8個(gè)數(shù)字I/O端口,因此只能做一個(gè)八音階。 衍生功能要求: 便攜式曲目練習(xí)器 思路:播放一首歌曲的同時(shí),在PC界面上顯示樂譜(或者當(dāng)前的音階和拍長),練習(xí)者需要按下對(duì)應(yīng)的按鍵,這些按鍵連接到myDAQ的數(shù)字I/O端口,從而計(jì)算機(jī)可以判斷是否正確,樂曲結(jié)束后根據(jù)按鍵的正確性和節(jié)奏的正確性給于相應(yīng)評(píng)分。 說明:本題目硬件與上一題目基本
3、相同,在練習(xí)時(shí)可以播放原有旋律,同時(shí)記錄練習(xí)者的按鍵順序和時(shí)長,合成成樂聲在練習(xí)結(jié)束后播放,并與原旋律比較。相比上一題目,需要在軟件中記錄數(shù)字鍵輸入的順序和時(shí)長。此外,可以設(shè)置不同的難度級(jí)別。 本程序功能規(guī)劃: 根據(jù)已有的功能要求,我們需要制定一下我們電子琴程序的方向,究竟要做到什么地步,要做哪些功能,經(jīng)過小組內(nèi)的討論,以及與指導(dǎo)老師的交流,再就是根據(jù)我們目前對(duì)MyDaq以及LabView的掌握情況,我們制定了如下的具體要求:1.圖形界面模塊:一個(gè)非常形似電子琴的圖形界面,做到界面整潔美觀,有區(qū)分度,交互通俗易懂2.發(fā)聲模塊:電子琴的基本發(fā)聲功能,做到不同音調(diào),音色,音量3.控制方式模塊:做到
4、能用鼠標(biāo),鍵盤和基于MYDAQ的機(jī)械按鍵控制4.擴(kuò)展模塊:曲目練習(xí)器模塊:考慮到現(xiàn)有設(shè)備的局限性以及知識(shí)的局限性,我們現(xiàn)在把曲目練習(xí)模塊簡化為:通過文件IO讀取歌曲TXT曲譜,根據(jù)曲譜控制鋼琴的按鍵的變色從而作為演奏提示,最后不考慮節(jié)奏只考慮曲譜聲調(diào)的正確率做打分。自動(dòng)播放模塊:該模塊做到根據(jù)TXT曲譜來自動(dòng)演奏鋼琴樂。除此之外,由于涉及曲目練習(xí),我們還要做歌曲的曲譜以及聲音文件。二、 模塊實(shí)現(xiàn): 在做本次程序之前,我們進(jìn)行了充分的調(diào)研工作,包括:l LabVIEW圖形界面系列-色彩搭配;l 八度音階頻率關(guān)系對(duì)應(yīng)表;l 樂器音色的原理;l 鋼琴音色的制作;l 曲目曲譜的設(shè)計(jì)及制作;l LabV
5、IEW文件IO及屬性節(jié)點(diǎn)的使用;l MYDAQ設(shè)備的基本使用及設(shè)備可實(shí)現(xiàn)功能;下面將按搭建順序一一介紹每一個(gè)模塊的具體實(shí)現(xiàn),最后介紹每個(gè)模塊之間是如何聯(lián)系起來的。n 發(fā)聲模塊u 播放正弦波要做電子琴,理所當(dāng)然我們第一步想的就是如何發(fā)聲,想到以前在數(shù)字信號(hào)處理課程中做過語音信號(hào)的處理相關(guān)編程,知道播放固定頻率的正弦波可以發(fā)出聲音,再查看LabVIEW所支持的函數(shù),定下了初步的思路,即:首先產(chǎn)生一定頻率的正弦波,設(shè)置好采樣頻率以及時(shí)長,送播放波形函數(shù),如下圖1.1: 圖1.1 播放正弦波 圖1.2 播放三角波于是,我們馬上做了一個(gè)布爾按鈕做測試,利用條件結(jié)構(gòu)(布爾變量為真送一個(gè)數(shù)字,如266,到正
6、弦波產(chǎn)生函數(shù)的輸入?yún)?shù)-頻率中)實(shí)現(xiàn)了發(fā)聲,但有兩個(gè)問題: 音質(zhì)很差(主要因?yàn)橐羯?有很強(qiáng)的尾音(聲音突然停止產(chǎn)生的刺耳噪聲)但無論如何我們成功實(shí)現(xiàn)了發(fā)聲。u 播放三角波為了解決第一個(gè)問題,之后查閱了相關(guān)內(nèi)容,知道:不同音色是由某一基頻的正弦波疊加上一定比例的諧波成分實(shí)現(xiàn);于是我們做了如下處理:如圖1.2,先同樣方法產(chǎn)生一定頻率的三角波,再通過低通濾波器,我們知道周期的三角波一定可以分解為基波和諧波相加,經(jīng)過低通濾波器濾除高頻后,出來的聲音與正弦波是不同的音色結(jié)果正如我們所想,出來的音色不同,音色更像電子音,但尾聲仍存在。u 播放公式波形為了解決尾聲的問題,我們想如果能讓音的尾部音量變小就好
7、了,于是找到了公式波形,將正弦波的幅度隨時(shí)間改變,開始和末尾的幅度偏小,中間幅度最大,用了如下的公式:sin(w*t)*sin(m*t);幅度A(t)= sin(m*t),使/m = 采樣數(shù) / 采樣頻率我們設(shè)計(jì)的采樣數(shù)為5000,采樣率為11025,那么差不多 m = 2;于是設(shè)計(jì)的第三種音色如圖1.3: 圖1.3 播放公式波形 圖1.4 播放WAV文件效果比之前兩個(gè)都好,音色像管弦樂器,尾音更小。u 播放文件公式波形仍然不能滿足我們對(duì)完美音色的要求,于是我們決定用另外一種發(fā)聲機(jī)制-播放文件,在網(wǎng)上找了很久沒有發(fā)現(xiàn)好的八度音階音色后,我們開始了自己制作相關(guān)的音色,還好本組同學(xué)中之前有對(duì)音樂軟
8、件的了解,用 + + = 制作出了所需的WAV文件。我們并用如圖1.4的結(jié)構(gòu)實(shí)現(xiàn)了WAV播放,由于是外部音,所以效果很好,只是第一次載入有些慢。至此,我們實(shí)現(xiàn)了四種音色,接下來就要討論如何控制發(fā)聲n 控制模塊由于調(diào)試的需要(調(diào)試時(shí)基本都用鼠標(biāo)),以及DAQ設(shè)備的搶手,我們最初只做了兩種控制模式,鼠標(biāo)控制,以及機(jī)械按鈕控制。u 鼠標(biāo)控制原理上很簡單,無論是鼠標(biāo)控制的8個(gè)布爾按鈕,還是MYDAQ采集到的面包板上8個(gè)按鍵,輸出的都是一個(gè)1D的長度為8的布爾數(shù)組,通過對(duì)布爾數(shù)組的每一位做檢索,為1則發(fā)聲,為0則不發(fā)聲。程序框圖如圖2.1圖2.1 鼠標(biāo)控制發(fā)聲的結(jié)構(gòu)圖中顯示的是把鼠標(biāo)控制的八個(gè)布爾按鈕(
9、實(shí)際鼠標(biāo)可以控制13個(gè)按鈕,但因?yàn)闄C(jī)械按鍵只有8個(gè),這里只說八個(gè))集中到一個(gè)簇中,在轉(zhuǎn)換為布爾數(shù)字,檢索布爾數(shù)組每一位,如果為1則發(fā)出對(duì)應(yīng)頻率的聲,此處我們查詢了音調(diào)和頻率對(duì)應(yīng)表,如圖2.2,得出下面對(duì)印關(guān)系Duo re mi fa suo na xi dou+261.63 293.66 329.63 349.23 392 440 493.88 523.25 (HZ)圖2.2 八度音階與頻率對(duì)應(yīng)關(guān)系那么當(dāng)我們按下DUO按鈕時(shí),布爾數(shù)組第一個(gè)值為真,控制發(fā)出261.63Hz的聲音,同理按下NA按鈕時(shí),布爾數(shù)組第六個(gè)值為真,控制發(fā)出440Hz的聲音,如此,實(shí)現(xiàn)了鼠標(biāo)控制;測試鼠標(biāo)控制發(fā)音正常。
10、216; 并行結(jié)構(gòu)的好處:為什么我們要按這種并行檢測每一位然后分別播放的結(jié)構(gòu)?實(shí)際上是為了解決多個(gè)按鈕同時(shí)按下的時(shí)候,能兩個(gè)音同時(shí)發(fā)出的需求。u 機(jī)械按鍵控制機(jī)械按鍵控制與鼠標(biāo)控制的后面發(fā)聲部分完全一樣,只是前面的簇改為了DAQ助手,DAQ助手選用的是端口采樣PORT0,外圍硬件接線很簡單,用共陽極結(jié)構(gòu),將MYDAQ的PORT的8個(gè)端口分別接面包板上八個(gè)按鈕的一端,8個(gè)按鈕另一端接+5V電壓高電平,此處沒有圖。因此,DAQ助手輸出的是十進(jìn)制數(shù),將其轉(zhuǎn)換為2進(jìn)制數(shù)后,后續(xù)操作同上。程序如圖2.3圖2.3 機(jī)械按鍵控制發(fā)聲Ø 機(jī)械按鍵控制的問題機(jī)械按鍵的發(fā)聲測試播放波形時(shí),效果正常;但是
11、播放文件時(shí),由于DAQ助手采樣很快,所以按下按鈕時(shí),WAV文件會(huì)播放很多次,導(dǎo)致聲音混疊,我們的解決方法時(shí)采用延遲一小段時(shí)間的方法,播放文件條件分支里用的是層疊結(jié)構(gòu),在后面的幀里設(shè)置延遲0.1秒,如圖2.4圖2.4 播放波形條件分支中的延遲至此不算擴(kuò)展功能,我們的基本功能已經(jīng)實(shí)現(xiàn)。n 圖形界面模塊前面提及了基本發(fā)音及控制,為了實(shí)現(xiàn)擴(kuò)展功能,必須把程序的大體結(jié)構(gòu)和前面板的界面作介紹,前面板如圖3.1圖3.1 前面板前面板結(jié)構(gòu):左邊是曲譜的提示部分;中上是選擇控制部分;右上是提示面板(演奏時(shí)才有變化);右下是鼠標(biāo)控制的布爾按鈕(設(shè)置快捷鍵之后可以鍵盤控制)前面板以藍(lán)色為背景,黑白為主色,其他顏色為
12、輔色做提示,整個(gè)布局提示在左,操作在右,控制在上,鋼琴按鍵的制作只需將布爾按鈕拉長之后用工具選板做變色處理,簡單但美觀。后面板介紹演奏方式控制模塊:對(duì)應(yīng)前面板的演奏方式按鈕,控制是否自動(dòng)播放,以及鼠標(biāo)/鍵盤控制,還是機(jī)械按鈕控制。如圖3.2圖3.2 演奏方式控制歌曲選擇控制模塊:對(duì)應(yīng)前面板的歌曲選單,決定演奏/自動(dòng)播放那首歌 如圖3.3圖3.3 歌曲選擇控制曲目演奏主模塊,包括打分主程序,顏色提示主程序,演奏時(shí)的變量控制如圖3.4圖3.4 曲目演奏主模塊自動(dòng)播放模塊,自動(dòng)播放的實(shí)現(xiàn)程序,如圖3.5圖3.5 自動(dòng)播放模塊以及之前提到的播放聲音模塊,如圖3.6圖3.6 播放聲音模塊曲譜文件的讀取模
13、塊,如圖3.7圖3.7 文件讀取模塊這里只對(duì)每一個(gè)模塊做一個(gè)說明,對(duì)應(yīng)到具體的擴(kuò)展應(yīng)用時(shí),再將具體的結(jié)構(gòu)加以說明,下面將介紹擴(kuò)展功能的實(shí)現(xiàn)n 曲譜練習(xí)(擴(kuò)展)曲譜練習(xí)模塊的基本原理就是選擇完曲目后,程序會(huì)從TXT文件里面讀取相應(yīng)的曲譜,讀取到的內(nèi)容輸出為字符串,每彈奏一次時(shí),把彈奏的按鍵對(duì)應(yīng)的數(shù)與曲譜中即將彈奏的音對(duì)應(yīng)的數(shù)作比較,如果為真,加1分,如果為假,不加分,同時(shí)用一個(gè)變量記錄剩余曲譜的長度,剩余曲譜長度為0時(shí),把總的得分除以曲譜的長度,得到最終的得分。由于程序太過龐大,無法展示所有的條件分支下面以一個(gè)流程說明程序的工作 程序運(yùn)行后選擇以下控制方式選擇鼠標(biāo)控制,鋼琴音,歌曲練習(xí),歌曲選“
14、我的歌聲里”那么歌曲譜變量內(nèi)容變?yōu)椤拔业母杪暲铩保缦聢D4.1:圖4.1 歌曲譜的改變此時(shí)先從TXT中讀取字符串,歌曲列表為0時(shí)(對(duì)應(yīng)下拉框選擇第一個(gè)選項(xiàng)“我的歌聲里”),把已經(jīng)讀取的字符串送入歌曲譜,那么界面左邊的歌曲譜發(fā)生了改變,同時(shí)做了圖4.2的初始化,包括即將演奏音階的讀取,前面板進(jìn)度條總長度的自適應(yīng),歌曲譜送入剩余歌曲譜,即將演奏的第一個(gè)音為“3”,長度為“99”。圖4.2 選擇歌曲后的初始化 按下樂譜的一個(gè)音“1”(舉例為“1”也可為其他)那么程序先判斷是否按下按下時(shí),比較的結(jié)果為假,把“1”送入當(dāng)前演奏音階和演奏記錄接下來把剩余曲譜中的第一個(gè)音“3”送入當(dāng)前樂譜音階剩余樂譜減一建
15、議后的剩余樂譜第一個(gè)送入即將演奏音階接著作比較“1”和“3”比較,不相等,于是正確數(shù)目不加1,否則加1圖4.1 加分的判斷 提示按鍵的變色由于之前比較“1”和“3”,沿線演奏錯(cuò)誤,于是把紅色屬性(代表錯(cuò)誤)送到“1”對(duì)應(yīng)的前面板中右上角鍵盤“1”對(duì)應(yīng)按鍵的屬性節(jié)點(diǎn)-顏色 中 實(shí)現(xiàn)變色,延遲0.5秒后,把白色屬性重新送入該按鍵、 之后,把黃色屬性(代表下一個(gè)音)送到即將演奏音階對(duì)應(yīng)的按鈕中,等到下一次按鍵判斷完后,恢復(fù)白色如此循環(huán),直到把譜子中所有音階演奏完后,做判斷,彈窗提示你的得分 這就是一個(gè)大致的流程。Ø 譜子系統(tǒng),變色系統(tǒng)剛才提到了許多關(guān)于“1”“3”變色等內(nèi)容,他們屬于我們定
16、義的規(guī)則,那么接下來把譜子系統(tǒng)變色系統(tǒng)作介紹19:分別代表duo,re,mi,fa,suo,na,xi,duo+,re+;S:suo- ; N:na- ;X:xi-;M:mi+;回車:延遲0.4秒空格:延遲0.15秒“-”:延遲0.05秒變紅色:演奏錯(cuò)誤變黃色:此音階時(shí)下一個(gè)要演奏的音階變綠色:演奏正確變白色:默認(rèn)顏色其實(shí)單單一個(gè)流程遠(yuǎn)沒有把,程序框圖中的每個(gè)部分都介紹到,由于要考慮到程序的完整性,細(xì)節(jié)處理很多,此處提一個(gè)比較重要的細(xì)節(jié)處理空格處理:在計(jì)算得分的時(shí)候,我們用演奏正確的數(shù)目除以總長度,此處的總長度并非為曲譜長度,而是去除了空格回車之后的曲譜長度因此要做如下圖的處理,即將演奏為“默認(rèn)”時(shí)空格個(gè)數(shù)加1,“默認(rèn)”表示非音階字符串。最后除以的是譜子長度與空格個(gè)數(shù)只差。 下面
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園雨天室內(nèi)課程設(shè)計(jì)
- 工程課程設(shè)計(jì)綜述
- 體育賽事LED屏幕搭建合同協(xié)議書
- 出口貿(mào)易課程設(shè)計(jì)
- 物業(yè)公司承包合同
- 長期購銷合同
- 車位收費(fèi)服務(wù)合同范文
- 農(nóng)村報(bào)賬員勞動(dòng)合同范文
- 在線快速借款合同(2024年版)
- 格式合同的審查機(jī)制
- 人教版(2024年新教材)七年級(jí)上冊英語各單元語法知識(shí)點(diǎn)復(fù)習(xí)提綱
- 陜煤集團(tuán)筆試題庫及答案
- 33 《魚我所欲也》對(duì)比閱讀-2024-2025中考語文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
- 2022年國防軍工計(jì)量檢定人員考試附有答案
- 民族醫(yī)藥學(xué)概論智慧樹知到期末考試答案章節(jié)答案2024年云南中醫(yī)藥大學(xué)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- 《中華民族共同體概論》考試復(fù)習(xí)題庫(含答案)
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- 復(fù)變函數(shù)論與運(yùn)算微積智慧樹知到課后章節(jié)答案2023年下哈爾濱工業(yè)大學(xué)(威海)
- 工程公司薪酬體系方案
- 傳染病漏報(bào)檢查、責(zé)任追究制度
評(píng)論
0/150
提交評(píng)論