大家都知道,HTML5 Audio標簽能夠支持wav, webm, mp3, ogg, acc等格式,但是有個很重要的音樂文件格式midi(擴展名mid)卻在各大瀏覽器中都沒有內置的支持,因為mid文件並不像其他聲音文件那樣記錄聲音的采樣信息,而是記錄了樂器的演奏指令,二者的原理截然不同。
mid文件格式的最突出的有點是文件極小,幾分鍾的音樂可能只有幾K的文件大小,mp3等其他格式則至少要幾M以上,所以midi在手機和web上有很大的優勢,特別是適合做各種鈴聲,背景音樂。
標簽已經過時了,很多瀏覽器都不再支持。
無論是標准組織,還是瀏覽器廠商,都主張使用來播放音頻文件。
考慮到要求支持MIDI的廣泛呼聲,W3C有指定了一個Web MIDI API草案,但這個草案還非常新,瀏覽器還沒有支持。
為了讓midi在html5 audio上播放出來,需要動用Javascript 來處理。
我這里推薦3個非常好的Javascript實現的audio播放midi:
MIDI.js - Sequencing in Javascript.
這是一個js庫,封裝了一些接口方便web開發者調用播放mid音樂文件。
Color Piano V2
這是一個彩色鋼琴,你可以手動彈奏,也可以自動彈奏動態加載的mid文件。
Audiotool
這是一個強大的電子音樂合成工具了,沒有一點器樂知識的話,可能基本不懂用了,比如我。