sm29089662 からエンジンに改良を重ねてベートヴェンの第9番を演奏できるぐらいになりました。主な変更・描画負荷を減らすためテーブルタグでなくDivタグとスタイルシートで鍵盤を表示。 (一応レスポンシブ対応)・数値よりもバーのほうがわかりやすいっしょということでパンポットやピッチはmeterタグで描画。・音色ファイルをS-YXG50_0.2.1.2.sf2をベースに作り直した。48kHzと以前の倍以上に向上。・リバーブエフェクトのインパルス応答(IR)のライセンスが怪しかったのでエフェクターのインパルス応答JavaScriptで自作( https://github.com/logue/sf2synth.js/blob/develop/src/reverb.js )今後の予定・バンク・セレクトに正式対応しGeneral MIDI 2に準拠させる。(今はドラムとSFXしか対応していません。)・音色が存在しなかった場合の処理を書く。(125未満のバンクの場合、バンク0の音色を鳴らす。126~128の場合、音色番号1の楽器(通常はドラムのStandard Kit)を鳴らす) だいぶシャリシャリ感はなくなったハズ。MIDIファイルのアドレスもコピペできます(日本語が含まれてると動かないが・・・): https://logue.github.io/smfplayer.js/#zip=midifiles%2F%E9%81%A9%E5%BD%93%E8%A9%B0%E3%82%81%E5%90%88%E3%82%8F%E3%81%9B.zip&file=Beethoven%20-%20Symphony%20No.%209%20 (with%20choir)%20in%20d%20minor%2C%20Op.%20125%20-%204.mid おまけに、Ζ刻をこえて(Better days are comming)19:41 も入れてあります。