Music XML

音楽のスコアデータをあつかうXML形式ファイルの作成をプログラムでやってみました。
通常は楽譜印刷ソフトの入出力などで利用されるファイルですが、XMLファイルということでWebスクレイピングなどでよく使われるRubyのNokogiriというライブラリを使って、音符データを追加してみました。

https://ja.wikipedia.org/wiki/MusicXML
Wikipediaのコードを参考に下記をスケルトンとしてプログラムの入力に使いました。

入力してXMLファイルの音符データを記述する部分に、音階をランダムで選択した音を追加していきます。

実際に楽譜印刷ソフト(ここでは定番のFinaleを使用)が出力するファイルはもっと情報が多いですが、最低限Finaleで表示する内容にして音符の生成することをに目的を絞っています。

measureというのは小節で、ここでは1小節のみ扱っています。拍子や記号、4分音符より細かい音符では旗の部分をまとめるbeamといったタグもありますが、ここでは省略しています。
(https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-beam.htm)

Music XMLのデータを見てみて、楽譜の表現のための情報量がいかに多いかを気付かされました。

About

Categories: 未分類 タグ: