abc譜 Web Synth演奏   ( abcplayer7.html )   
abc 譜 ( 3 part 以内。* で区切ること。) タイ,3連符は不可    
調号 K:  半音処理 GDA長調DmGmCm短調

 Load してから 演奏してください。   



鍵盤     Loadしてから鍵盤をクリック(タッチ)して下さい。(A320Uはエコー残)
note




音源 A320U      IE は A320U 不可。 Android は GMPlayer 不可。



参考: g200kg(WebMidiLink 仕様説明) ,  とよしま語録 (WebMidiLink iframe埋込方法)
利用の仕方
以下にサンプルコードを掲載しますが、とっても簡単。WebMidiLink対応音源をiframeで埋め込む場合の例を示します。
// まずはWebMidiLinkMidiChannelを作成します。
// 引数にはMIDI信号を送るためのメッセージポートの口を指定します。
// これにより、受け取った演奏信号をWebMidiLinkに変換して出力します。
var midi = new WebMidiLinkMidiChannel(document.getElementById("wml").contentWindow);

// SmfPlayerを作成し、デフォルト音源として先ほど作成したmidiを登録します。
var smf = new SmfPlayer();
smf.setDevice(SmfPlayer.TRACK_DEFAULT, midi);

// TimerMasterChannelを作成します。
// SmfPlayerのsetMasterChannelで登録してあげると、登録されたMidiChannel
// 全てを指定されたMasterChannelに登録します。
// またPlayerのタイマーとしても自動的にMasterChannelを利用するようにします。
smf.setMasterChannel(new TimerMasterChannel(TimerMasterChannel.MODE_DEFAULT));

// 最後に再生。引数はMIDIデータを含むArrayBufferを与えて下さい。
smf.play(midi_data);


ArrayBufferについて

比較的最近に導入された仕様なので、知らない人向けに簡単に説明しておきますと、
要するにJavaScriptで効率的にバイナリを扱うための仕組みだと思って下さい。
例えば、Web経由で取得したSMFファイルをArrayBufferとして読み込むためには、
以下の様なコードを書きます。簡単ですね!

var xhr = new XMLHttpRequest();xhr.open("get", "foo.mid", true);
xhr.responseType = "arraybuffer";
xgr.onload = function () {
    smf.play(xhr.response);
};
xhr.send();