ABC記譜法を自動で楽譜化、音源化したりダウンロード出来るようにするスクリプト・「abc.js」

Ads

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にも書かれていますのでそちらをご参照ください。

Ads

対応ブラウザ


実際の動作確認は下記動作サンプルページで確認する事が出来ます。楽譜化は基本的に問題なさそうですが、MIDIファイル化はそこそこ制限されるみたいです。IE、Edgeでは概ね動作しないそうです。

また、ブラウザが問題なくても再生するには端末のリソースが必要らしく、ある程度のマシンスペックが要求されるそうです。

業務上必要になるケースはそう多くはないでしょうが、あまり見かけないので備忘録的に。ライセンスはMITとの事です。

abc.js動作サンプル