見出し画像

MusicXMLの修正

楽譜ファイルをやり取りするときに、MusicXMLをやり取りすることがあると思いますが、ソフトウェアの互換性が結構厳しかったりします。
MIDIで受け取ってもよいのですが、楽譜がずれたり面倒なので、手作業でソフトウェアの互換性がうまくいっていない部分に対応してみました。
ちなみにGuitarProで生成されたxmlをFinaleで読み込んでみました。

XML/MusicXMLとは?

Extensible Markup Languageの略で、<XXXX>と</XXXX>のようなタグで囲んで文字列を修飾する記法です。
MusicXMLはこのXML形式の楽譜表記用フォーマットです。

MusicXML修正

まずは手に入れた.xmlを.musicxmlに無理やり変えてみます。

スクリーンショット 2020-12-30 22.18.48

なんか8行目がおかしいらしい

スクリーンショット 2020-12-30 22.19.08

エディターで開くとたしかに化けているので消してあげる

スクリーンショット 2020-12-30 22.19.40

こんどは68行目がおかしい

スクリーンショット 2020-12-30 22.20.40

なんだか変なスペースが空いている

スクリーンショット 2020-12-30 22.25.34

正しくは以下のようになっているはず
200パートくらいあったので、一括置換

スクリーンショット 2020-12-30 22.25.24

次は1869行目

スクリーンショット 2020-12-30 22.28.06

ギターなどで使用するフレット番号要素ですが、このエラーが出ていたところのパートはピアノでした。おそらく元ファイルの採譜者がギタリストなので、ギター譜でもチェックできるようにしていたのでしょうが、ピアノとギターの音域の違いの関係でマイナスという不正な値が入っていたという感じかと思います。

スクリーンショット 2020-12-30 23.44.05

これも正規表現で一括置換します。

<fret>.*</fret>\n

はい、無事に楽譜が表示されました。

スクリーンショット 2020-12-30 23.37.49

まとめ

XMLだと拍子や拍が正確に記述でき、また楽譜上の表現記号(スラーとかクレッシェンドとか)も受け継げるので便利です。
ただソフトウェアの互換性が甘いところがあるので、今回のような場合は手作業で少し修正してみても良さそうです。

いいなと思ったら応援しよう!