




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一個(gè)實(shí)用的自動(dòng)吉他樂曲輸入系統(tǒng)A Practical Music Input System for the Automatic Guitar趙春棠1* Chun-Tang Chao1* 黃裕韡2 Yu-Wei Hwang2南臺(tái)科技大學(xué) 電機(jī)工程學(xué)系(臺(tái)南縣永康市 南臺(tái)街一號(hào))*.tw摘要 隨著過去自動(dòng)吉他硬體的實(shí)現(xiàn),我們更感受到一個(gè)實(shí)用的自動(dòng)吉他樂曲輸入系統(tǒng)的重要性。在本論文中,我們訂定了一套樂曲硬體控制碼,作為樂曲檔案轉(zhuǎn)換為實(shí)際控制硬體動(dòng)作的中間形式。使用者也可以直接利用這樣的控制碼,來撰寫樂曲做為輸入。此外,增加此系統(tǒng)的吉他教學(xué)功能,也是本系統(tǒng)的一大特色,
2、關(guān)於這點(diǎn),往往被一般的軟體所忽視!在本樂曲輸入系統(tǒng)中,我們將以利用動(dòng)畫方式顯示吉他演奏的情形,以幫助初學(xué)者學(xué)習(xí)吉他演奏。我們也結(jié)合Midi多通道的即時(shí)演奏技術(shù),提供數(shù)十種的樂器模擬音效,方便使用者進(jìn)行樂曲的軟體模擬。在許多極受歡迎的音樂軟體中,如Guitar Pro,還提供了將音樂檔轉(zhuǎn)成MIDI檔功能,因此我們也開發(fā)了將硬體控制碼轉(zhuǎn)成MIDI檔的技術(shù)。此外,我們更設(shè)計(jì)了進(jìn)階的民謠與古典吉他六線譜圖形介面,實(shí)現(xiàn)了更高階的樂曲輸入功能。我們深深的希望藉由此類音樂機(jī)器人論文之實(shí)現(xiàn),除了能增進(jìn)電子、資訊等方面之設(shè)計(jì)技術(shù)與人才培養(yǎng)外,亦能促進(jìn)科技與藝術(shù)的結(jié)合。關(guān)鍵字:自動(dòng)吉他,MIDI,科技與藝術(shù),音樂
3、機(jī)器人。ABSTRACTWith the implementation of the past automatic guitar hardware design, we urgently feel the importance of a practical music input system for the automatic guitar. In the paper, we develop low-level guitar control codes to act as the intermediate form of music input. The users are also all
4、owed to directly input music by these control codes. The teaching function, which is neglected by most software, is a feature of the proposed system. In the presented system, it can teach the beginners how to play the guitar in an animated way. Also, the real-time sound simulation is provided to che
5、ck the accuracy of the users music input by multi channel MIDI instruments. In some popular software, such as Guitar Pro, they have the function of converting music file to MIDI file. Thus the proposed system can also convert the guitar control codes to MIDI file. Furthermore, to make the high-level
6、 guitar music input feasible, the user-friendly GUI of tablature staff of six lines for both folk and classical guitar is specifically designed. We deeply hope this musical robot kind of thesis can not only improve the design techniques in electrical and information engineering etc, but also promote
7、 the collaboration of arts and technology.Keywords: Automatic Guitar, MIDI, Arts and Technology, Musical Robot.1. 緣由與目的 設(shè)計(jì)能夠自動(dòng)演奏的樂器,這種構(gòu)想,至今大概已有百年以上的歷史了,這可以由博物館中的展示看出,例如奇美博物館所收藏的手搖滾筒風(fēng)琴(美國(guó),1885年)、寶利楓鐵盤音樂盒(德國(guó),1900年),以及自動(dòng)演奏鋼琴(美國(guó),1920年)等1。近年來,由於電腦科技的進(jìn)步以及現(xiàn)代音樂的流行,利用MIDI(Musical Instrument Digital Interface
8、)等技術(shù)的電子合成音樂2-4可以說是大行其道,幾乎可以模擬出任何樂器的聲音及音效。然而儘管如此,對(duì)於一般普遍社會(huì)大眾或是專業(yè)的音樂愛好者,仍可輕易地分辨出合成音樂與真實(shí)樂器產(chǎn)生之樂音,因?yàn)獒嵴吒咏匀?,也更符合人性。是以不論?guó)內(nèi)外,仍有許多人士致力於樂器的自動(dòng)演奏5-7。在過去,我們?cè)O(shè)計(jì)製作了以PIC單晶片8為控制核心的自動(dòng)吉他,後來又完成一個(gè)進(jìn)階的自動(dòng)吉他演奏系統(tǒng)10,目的在提高自動(dòng)吉他的設(shè)計(jì)與應(yīng)用層次,以增加系統(tǒng)的實(shí)用及普遍性。有了這些實(shí)際的設(shè)計(jì)經(jīng)驗(yàn),我們更覺得在軟體方面的系統(tǒng)整合,更顯重要。在本論文中,我們實(shí)現(xiàn)了一個(gè)實(shí)用的自動(dòng)吉他樂曲輸入系統(tǒng),為了配合自動(dòng)吉他的硬體控制,我們自訂了一套
9、樂曲控制碼,作為樂曲檔案格式的基礎(chǔ),取代了過去單晶片系統(tǒng)中的二進(jìn)位檔案格式。我們也利用VB程式11設(shè)計(jì)了整合的GUI(圖形使用介面)12。使用者可以直接輸入曲目,先以軟體模擬音效的方式,測(cè)試樂曲是否正確,在此我們結(jié)合Midi多通道的演奏技術(shù),提供數(shù)十種的樂器模擬音效。我們也提供吉他演奏動(dòng)畫模擬,以增加本系統(tǒng)的教學(xué)功能。更進(jìn)一步,我們提供了硬體控制碼轉(zhuǎn)MIDI檔的功能,也設(shè)計(jì)了進(jìn)階的民謠與古典吉他六線譜圖形介面。至此,一個(gè)實(shí)用的自動(dòng)吉他樂曲輸入系統(tǒng)已然呈現(xiàn)。 2. 系統(tǒng)說明 本論文在實(shí)現(xiàn)一個(gè)實(shí)用的自動(dòng)吉他樂曲輸入系統(tǒng),圖1是自動(dòng)吉他實(shí)體圖,本論文則偏重實(shí)用軟體介面的整合實(shí)現(xiàn)。是以除了要擷取一般音
10、樂玩家所使用的音樂軟體,如 Guitar Pro、Finale NotePad 等之優(yōu)點(diǎn)外,還必須考慮實(shí)際上如何驅(qū)動(dòng)自動(dòng)吉他實(shí)體之問題,以下針對(duì)硬體控制碼樂曲格式、MIDI 音效模擬吉他教學(xué)、硬體控制碼轉(zhuǎn)MIDI檔設(shè)計(jì)、以及進(jìn)階民謠與古典吉他六線譜圖形介面等主題,分節(jié)說明如下。2.1 硬體控制碼樂曲格式 在自動(dòng)吉他硬體控制方面,我們是採(cǎi)用電腦印表機(jī)埠外接8255卡9,控制外部自動(dòng)吉他的壓弦、撥弦、以及把位移動(dòng)等。如此PC-Based控制方式,使我們的軟體設(shè)計(jì)層級(jí),可以直接使用高階語(yǔ)言?;洞?,我們訂定了以下自動(dòng)吉他硬體控制碼。自動(dòng)吉他硬體控制碼:INTRO: 起始碼,亦可輸入有關(guān)樂曲的文字介紹
11、(Introduction)Babcd: 基本節(jié)拍時(shí)間= (a*1000+b*100+c*10+d) msPab: 移到第 (a*10+b) 把位(左手)Tab:(右手)撥弦後延遲時(shí)間= (a*10+b) * 基本節(jié)拍時(shí)間Sab: 休止時(shí)間= (a*10+b) * 基本節(jié)拍時(shí)間Lab:(左手)壓第 b 把位(相對(duì)目前的把位),第 a 條弦lab: (左手)放開第 b 把位(相對(duì)目前的把位),第 a 條弦Rab: (右手撥)第 a條弦,或同時(shí)撥第 a, b 條弦D: Debug碼,此時(shí)可輸出一些訊息,供偵錯(cuò)用E: 結(jié)束碼有了以上的硬體控制碼,我們就能很方便的為每首吉他曲,寫出硬體控制碼樂曲檔案。
12、以一首初學(xué)者所常彈的C大調(diào)小行板13,14為例,以下為它的樂曲控制碼部分摘錄。INTRO B0170T01P01L3251 R35R4R35R4 l3251R35R4R35R4 L3353R35R4R35R4 l3353L3251R35R4R35R4.(略).T01 l63 L3251 R35R4R35R4 l3251R35R4R35R4 L3353R35R4R35R4 l3353L3251R35R4R35R4 l3251L23R26R4R26R4 l23L61R36R4R36R4 l61L13R15R4R15R4 T04 l13L233251R2345 l233251E有關(guān)以上樂曲控制碼,特
13、別說明其中B0170碼,意思指的是基本節(jié)拍時(shí)間定為170ms。我們可以藉由調(diào)整這個(gè)時(shí)間的大、小,來決定演奏速度的慢、快,而達(dá)到測(cè)試或?qū)W習(xí)的效果。此外,系統(tǒng)也提供輸出控制文件檔的功能,以方便使用者除錯(cuò),或驗(yàn)證學(xué)習(xí)之用,以下為一控制文件檔的部分內(nèi)容。自動(dòng)吉他輸出控制文件檔: 注意:以下右手撥弦動(dòng)作之間,若無時(shí)間間隔,表示一起撥移到第1把位移到第5把位左手指壓下第6條弦,第7(3)把位處右手撥第1條弦右手撥第6條弦時(shí)間間隔: 170ms右手撥第5條弦時(shí)間間隔: 170ms右手撥第4條弦時(shí)間間隔: 170ms右手撥第6條弦時(shí)間間隔: 170ms(以下略)必須說明的是,以上第7(3)把位處敘述中,7指的
14、是絕對(duì)把位,也就是吉他實(shí)體由第一把位算起的把位數(shù)目;而括號(hào)中的3,表示的是相對(duì)把位。由上述移到第5把位,所以當(dāng)我們以第5把位(絕對(duì)把位)當(dāng)做第一把位(相對(duì)把位)的話,則第三把位(相對(duì)把位)的絕對(duì)把位就是第七把位了。在以上所說明的硬體控制碼中(如Lab,lab),我們則都是使用相對(duì)把位,以方便使用者撰寫樂曲檔。圖2 是本系統(tǒng)所提供的自動(dòng)吉他硬體控制碼輸入整合介面,使用者可以在中間的樂曲控制碼編輯區(qū)中直接輸入或讀入樂曲的硬體控制碼。此硬體控制碼即可控制實(shí)體自動(dòng)吉他,點(diǎn)選圖2 執(zhí)行功能,選取實(shí)體自動(dòng)吉他演奏即可。有關(guān)本界面尚提供的MIDI 音效模擬及吉他教學(xué),將於下節(jié)中說明。2.2 MIDI 音效模
15、擬及吉他教學(xué) 以VB程式軟體為例,若要使電腦發(fā)出不同音階的聲音,可以利用作業(yè)系統(tǒng)所提供的beep函數(shù),利用這函數(shù)來設(shè)定發(fā)生的頻率,以及持續(xù)的時(shí)間。可是這樣的電腦發(fā)聲,只能限於單音,且效果並不理想,必須要能展現(xiàn)合音的效果,才符合我們的理想,但這對(duì)一般程式軟體而言,並非容易的事。自1983年誕生數(shù)位樂器界面MIDI,它所製造出的電子音樂,的確給傳統(tǒng)音樂產(chǎn)生極大的影響。本計(jì)畫雖然崇尚提供真實(shí)自然的音樂,但對(duì)於MIDI所提供的音效模擬,也樂於採(cǎi)用。吉他有六條弦,對(duì)MIDI技術(shù)而言,我們只需採(cǎi)用六個(gè)頻道(channel),設(shè)定不同頻道發(fā)出不同的音階,就可以很輕易的產(chǎn)生合音的效果。再加上它能模擬數(shù)十種樂器
16、演奏,採(cǎi)用MIDI技術(shù),更能增加系統(tǒng)的實(shí)用性與娛樂性。在圖2本系統(tǒng)所提供的圖形介面中,我們?cè)O(shè)計(jì)了MIDI音效模擬的功能,以增進(jìn)本系統(tǒng)的實(shí)用性,且方便使用者測(cè)試樂曲輸入是否正確。在圖2上方的控制方塊中,可以點(diǎn)選設(shè)定Midi設(shè)備,以及Midi演奏樂器,共有數(shù)十種樂器可供選擇。點(diǎn)選圖2 執(zhí)行功能,選取MIDI音效模擬演奏,即可聽到所選樂器的演奏。此外,圖2下方所示,則是自動(dòng)吉他的動(dòng)畫教學(xué)區(qū),讓使用者除了聽到樂曲的音效模擬外,也能看到吉他的動(dòng)畫即時(shí)演奏,達(dá)到教學(xué)的效果。2.3 硬體控制碼轉(zhuǎn)MIDI檔設(shè)計(jì) 由於MIDI檔案所佔(zhàn)空間小,且能模擬多種實(shí)際樂器的音效,所以廣受歡迎。因此,一個(gè)實(shí)用的樂曲輸入系統(tǒng)
17、,還應(yīng)該具備將樂曲儲(chǔ)存成MIDI檔案的功能才算理想。這個(gè)部分的技術(shù)與前述的MIDI音效即時(shí)模擬是不相同的。MIDI檔案結(jié)構(gòu)是由Chunk所組成,包含了二種型式的Chunk,分別為Header Chunk及Track Chunk。一個(gè)MIDI檔只有一個(gè)Header Chunk,用來記錄基本格式資料,其後可以接一個(gè)或數(shù)個(gè)Track Chunk用來記錄音符資料及MIDI命令資料。以一個(gè)簡(jiǎn)單的中央C (Do)單一單音為例,我們將其MIDI檔案內(nèi)容,以表格方式表示於下表。表1. MIDI 檔案簡(jiǎn)例0123456789ABCDEF00H4D546864000000060001000200F04D5410H
18、726B0000001300FF58040402180800FF20H51030927C000FF2F004D54726B00000030H0D00903C508140803C4000FF2F00以下我們對(duì)表1中的每一Byte內(nèi)容作簡(jiǎn)單介紹: n 4D 54 68 64:為識(shí)別位元。n 00 00 00 00:為資料長(zhǎng)度。n 00 01:表示檔案格式為,為同步多軌。n 00 02:表示有2個(gè)Track Chunk。n 00 F0:將一拍分成F016=24010等分。n 4D 54 72 6B:為識(shí)別位元。n 00 00 00 13:為資料長(zhǎng)度。n 00:將Delta Time設(shè)為0。n FF
19、58 04:為Meta Event (FF)型號(hào),58代表拍子記號(hào),接著4個(gè)bytes的資料。n 04 02:指每小節(jié)有四(04)拍,四分音符(22)為一拍。n 18 08:1816=2410個(gè)MIDI Clock中有8個(gè)32分音符。n 00:將Delta Time設(shè)為0。n FF 51 03:為Meta Event (FF)型號(hào),51代表拍速,接著3個(gè)bytes的資料。n 09 27 C0:0927C0轉(zhuǎn)為十進(jìn)位為600000,由於單位採(cǎi)用微秒(10-6),故得到一拍為0.6秒,故一分鐘有100拍。n 00:將Delta Time設(shè)為0 。n FF 2F 00:結(jié)束此軌。n 4D 54 72
20、 6B:為識(shí)別位元。n 00 00 00 0D:為資料長(zhǎng)度。n 00:將Delta Time設(shè)為0 。n 90 3C 50:表示Note ON在Channel 0,彈奏中央C (Do),力道為5016。n 81 40:為Delta Time,時(shí)間為192tick,實(shí)際時(shí)間為0.48秒。192tick*(1beat/240tick)*(1min/100beats)*(60sec/1min)= 0.48 n 80 3C 40:Note Off 在中央C。n 00:將Delta Time設(shè)為0 。n FF 2F 00:結(jié)束區(qū)塊。此外,要發(fā)出合音(如 DO、Mi、Sol三個(gè)音一齊發(fā)音)的話,只要在以上
21、90 3C 50碼後加上為0的Delta Time再加上要發(fā)出的音即可,結(jié)束發(fā)音的方法也是一樣的。由於我們?cè)谏弦还?jié)MIDI 音效模擬中,已經(jīng)能夠取得所發(fā)的音(不論單音或合音)的音階,以及發(fā)音的時(shí)間長(zhǎng)度,如此一來,再配合我們對(duì)MIDI檔案的了解,即可順利完成硬體控制碼轉(zhuǎn)MIDI檔案的工作。2.4 進(jìn)階民謠與古典吉他六線譜圖形介面前述自訂的自動(dòng)吉他硬體控制碼,主要在方便控制自動(dòng)吉他硬體之用,事實(shí)上,也可作為本系統(tǒng)的中間檔案。為了完成一個(gè)實(shí)用的樂曲輸入系統(tǒng),我們還必須再提高樂曲輸入的層次,畢竟對(duì)於一個(gè)普通的吉他玩家,要他輸入以上硬體控制碼,是頗耗費(fèi)時(shí)間的。對(duì)於一般的吉他手而言,六線譜是大家所熟悉的,
22、無論是古典吉他,或是民謠吉他,都可以用六線譜來表示。因此,我們實(shí)現(xiàn)了一個(gè)進(jìn)階民謠與古典吉他六線譜圖形介面。這在使用者開啟新檔時(shí),系統(tǒng)就會(huì)請(qǐng)使用者選擇如圖3所示的民謠吉他六線譜圖形介面,或圖4的古典吉他六線譜圖形介面。考慮使用者選定圖3民謠吉他六線譜圖形介面的情況下,此時(shí)使用者可以點(diǎn)選圖中間上面的按鈕,此時(shí)將產(chǎn)生圖的畫面來設(shè)計(jì)自己所要使用的和弦。設(shè)定好和絃後,使用者可以從圖編輯畫面中的左上下拉視窗中,選擇所要使用的和弦。這樣子的設(shè)計(jì),主要是因應(yīng)民謠吉他所使用到的和弦眾多,如此一來,設(shè)計(jì)者可以將自己所使用的和弦,都輸入到和弦編輯器中,往後在六線譜編輯器上編輯時(shí),就可以很方便的選取自己所要使用的和弦
23、了。使用者亦可以經(jīng)由和弦編輯器,做新增和移除的動(dòng)作,系統(tǒng)chord.mic這個(gè)檔案就是用來儲(chǔ)存所有和弦內(nèi)容的檔案。若使用者開啟新檔後,在初始設(shè)定的選擇中,選定古典吉他,則編輯器將會(huì)出現(xiàn)圖4的畫面。使用者可以輸入自己所要彈奏的位置和把位。以上圖形介面的設(shè)計(jì),考驗(yàn)了我們VB程式設(shè)計(jì)的功力,我們也都一一克服了其中的關(guān)鍵技術(shù),設(shè)計(jì)成果也達(dá)成了Guitar Pro 等專業(yè)軟體的基本功能,讓使用者能輕鬆方便的輸入樂曲。此外,本系統(tǒng)上有許多智慧型設(shè)計(jì),例如有關(guān)音符的產(chǎn)生,本系統(tǒng)會(huì)依音符的長(zhǎng)度不同而去改變下一個(gè)音符的位子。因此使用者可以依自己的需要,去設(shè)定音節(jié)的長(zhǎng)度。此系統(tǒng)的音符主要用全音符、二分音符、四分音符、八分音符和十六分音符五種,可以讓寫作者使用。在連音上,此系統(tǒng)也會(huì)自動(dòng)產(chǎn)生,不需使用者另行輸入。本系統(tǒng)在音節(jié)的產(chǎn)生方面,亦採(cǎi)取自動(dòng)產(chǎn)生的方式,使用者在寫作的時(shí)候就可以不用在乎音節(jié)的問題。當(dāng)產(chǎn)生新的音符後,系統(tǒng)會(huì)將原有的總拍數(shù)加上新音符的拍數(shù),之後再將總拍數(shù)和輸入的音節(jié)拍數(shù)做比較,如果總拍數(shù)等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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)蒙古機(jī)電職業(yè)技術(shù)學(xué)院《早期工程實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年山西省材料員試題及答案
- 威海市2024-2025學(xué)年高二上學(xué)期期末考試 化學(xué)試卷
- 2025年茂南招聘考試試題及答案
- 2025年水利工程三控試題及答案
- 建筑材料復(fù)習(xí)練習(xí)試卷附答案
- 2025年綦江中考生物試題及答案
- 2025年中學(xué)的英文面試題及答案
- 2025年煤炭企業(yè)面試題及答案
- 2025年臨淄社工面試題及答案
- 河北省房屋建筑和市政基礎(chǔ)設(shè)施工程監(jiān)理招標(biāo)文件示范文本(2025版)
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)審定版
- 高考語(yǔ)文復(fù)習(xí):觀點(diǎn)思辨類高考作文寫法指導(dǎo) 課件
- 城區(qū)道路環(huán)衛(wèi)作業(yè)整體市場(chǎng)化投標(biāo)文件(技術(shù)方案)
- 2025年合肥經(jīng)濟(jì)技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案一套
- 2025年黑龍江職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整
- 化學(xué)實(shí)驗(yàn)室安全培訓(xùn)教案
- 2025年贛州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)一套
- 2025年道路運(yùn)輸企業(yè)安全生產(chǎn)管理人員考試題(附答案)
- 2025年哈爾濱鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 視頻監(jiān)控采集設(shè)備安裝調(diào)試施工方案
評(píng)論
0/150
提交評(píng)論