1、MIDI伴奏樂譜產生器,第四組 陳思文、林玟雅,研究目的,讀midi檔,寫出伴奏midi,再整合兩個midi。輸出:midi檔、五線譜(或簡譜)輸入:一個midi file1處理:(1)做出一個伴奏midi file2(2)合成 file1 + file2 = file3輸出:(1)play midi file3(2)file3 譜(簡譜 或 五線譜),研究動機,生活中,我們常常從網路上下載MIDI音樂、或是手機鈴聲來欣賞,但早期的MIDI音樂都只有單音,沒有和絃和伴奏。若是想要用樂器彈唱,也沒有樂譜可以參考,十分的不便。因此,我們希望能藉由這個專題,做出只要輸入主旋律MIDI,就可以輸出加上
2、伴奏的MIDI檔案和附有其樂譜的程式。,研究方法及步驟,(1)讀入midi file1 (2)分析原始midi檔裏的音量、拍子、音高。音量:寫出來的midi伴奏需與原始midi配合拍子:找出一小節幾拍(怎麼找?Maybe強弱判別)、每一拍的時間(s),可以大略決定整首曲子的速度和風格音高:找出每小節的音符組成,判別它的和絃種類,(3)寫出伴奏midi file2音量:根據原始midi的音量控制伴奏midi的音量大小,按照拍子分強 弱拍ex.兩拍子-強 弱 .三拍子-強 弱 弱 .四拍子-強 弱 中強 弱 .音高:依照已判別的和絃、風格,先分成單音、和音兩種再由使用者來選擇需要哪種伴奏midi拍
3、子:每小節的拍子數和主旋律相同,(4)合成 file1 + file2 = file3將兩個檔案合成一個midi file3,並播放出來(5)輸出譜(簡譜或是五線譜? 依進度而定),(一)MIDI檔格式簡介 音軌(Track) 事件(Event) 1. Note on (16進位)9n kk vv(音軌) (音高0-127) (音量0-127)2. Note off8n kk vvEg. Track01 音量127 中央C 打開: 90 3C 7F 關閉: 80 3C 7F / 90 3C 00,文獻探討,文獻探討,時序(Time) 以Tick為單位,利用其與 音符的關係來推算該事件佔據的時間SamplingRatePerTick = SamplingRate / BeatsPerSecond / TimeFormat 頻率 / 每個Tick的時間1.SamplingRate 取樣頻率2.BeatPerSecond (QuarterPerSecond) 一個音符時間3.TimeFormat 1個音符有幾個Ticks,實例:小蜜蜂 | 5 3 3 - | 4 2 2 - |,