abc.js
abc.jsはABC記譜法を自動で楽譜化、その場で視聴したりMIDIファイルを生成してダウンロードできるようにするスクリプトです。
ABC記譜法は以下のようにプレーンテキストで楽譜を表現できるようにしたもの。
(参照:Wikipedia / abcnotation.com本家)
X:1 T:Speed the Plough M:4/4 C:Trad. K:G |:GABc dedB|dedB dedB|c2ec B2dB|c2A2 A2BA| GABc dedB|dedB dedB|c2ec B2dB|A2F2 G4:| |:g2gf gdBd|g2f2 e2d2|c2ec B2dB|c2A2 A2df| g2gf g2Bd|g2f2 e2d2|c2ec B2dB|A2F2 G4:|
この記法をレンダリングして実際に楽譜化したりMIDIファイルを生成する、というスクリプトです。記法の説明はWikipediaにも書かれていますのでそちらをご参照ください。
対応ブラウザ
実際の動作確認は下記動作サンプルページで確認する事が出来ます。楽譜化は基本的に問題なさそうですが、MIDIファイル化はそこそこ制限されるみたいです。IE、Edgeでは概ね動作しないそうです。
また、ブラウザが問題なくても再生するには端末のリソースが必要らしく、ある程度のマシンスペックが要求されるそうです。
業務上必要になるケースはそう多くはないでしょうが、あまり見かけないので備忘録的に。ライセンスはMITとの事です。