手持信息終端上MIDI播放的實(shí)現
2004年9月A版
摘 要:本文概述了MIDI的基本原理,介紹了實(shí)現MIDI播放的一種手持信息終端軟硬件平臺,以及詳細描述了基于此平臺的MIDI的實(shí)現方法。
關(guān)鍵詞:MIDI;PWM;手持信息終端;嵌入式系統
引言
MIDI(樂(lè )器數字接口)是一種電子樂(lè )器之間以及電子樂(lè )器與電腦等設備之間的統一交流協(xié)議。該協(xié)議是一個(gè)二進(jìn)制形式的音樂(lè )描述語(yǔ)言,每一個(gè)描述樂(lè )器演播動(dòng)作的字都賦給一個(gè)特定的二進(jìn)制代碼,通過(guò)它指示樂(lè )器即MIDI設備做什么和怎樣做,如演奏音符、加大音量、生成音響效果等。
由于MIDI本身不是聲音信號,而只是讓聲音設備產(chǎn)生聲音的一系列的指令,所以MIDI文件本身非常小,特別適用于對存儲容量有限制的手持設備,如手機和掌上電腦。本文將著(zhù)重介紹如何在手持信息終端嵌入式系統平臺上實(shí)現MIDI的播放。
MIDI的基本原理
MIDI文件主要由MIDI消息組成。MIDI消息又可分成通道消息和系統消息兩大類(lèi),如圖1所示。
從上面的描述中,可以看到MIDI實(shí)際上只是一組數字信號,并不包括聲音信號,它記錄的是音樂(lè )在什么時(shí)間用什么音色發(fā)多長(cháng)的音等等。MIDI音樂(lè )每個(gè)樂(lè )音是由三個(gè)要素組成的:音色、音高(音調)和音長(cháng)??梢园迅鞣N樂(lè )器的音色先錄下來(lái),然后給每個(gè)音色編號,如鋼琴編為00;再給音高編號,如C5編為49;然后是音符播放的時(shí)間的編碼,如把8分音符編號為60。此時(shí),數字串“00 49 60”就表示演奏的是鋼琴的C5音,演奏時(shí)間為8分音符。MIDI在播放時(shí),會(huì )根據MIDI文件紀錄的樂(lè )曲信息向預先錄制好的樂(lè )器(如鋼琴)的波表發(fā)出指令,從波表中找出對應的聲音信息,經(jīng)過(guò)合成、加工后再回放出來(lái),就形成了美妙的音樂(lè )。
手持信息終端軟硬件平臺
手持信息終端包括手機、個(gè)人數字助理(PDA)、掌上電腦(HPC)等等,它們可以實(shí)現多種功能,如PIM(電話(huà)簿、日程安排、備忘錄、記事本、時(shí)鐘)、計算器、錄音、辭典、游戲和播放音樂(lè )等功能;也可以加入無(wú)線(xiàn)通信的功能,如電話(huà)、短信、無(wú)線(xiàn)Email等等;還可以通過(guò)數據線(xiàn)與PC相連,互通數據、進(jìn)行備份和數據交換。
該手持信息終端平臺采用的是業(yè)界流行的Motorola公司的MC68EZ328處理器;存儲模塊由4M字節的Flash閃存和2M字節的EDO DRAM組成;顯示模塊采用160
評論