LoginSignup
3

More than 5 years have passed since last update.

ほかの楽譜ソフトから LilyPond ソースに変換する (MusicXML)

Last updated at Posted at 2017-12-16

LilyPond Advent Calendar 2017 12月17日の記事です。

こんばんは、 norisio (aka. skb_apos) です。

TL; DR

GUI ソフト → MusicXML → (musicxml2ly) → LilyPond ソース
musicxml2ly は python2 スクリプト

MusicXML とは

MusicXMLは、XML形式の楽譜表記のためのオープンなファイルフォーマットである。
(中略)
FinaleSibelius、Rosegarden、Notionなどの楽譜作成ソフトウェアによって作成することが可能である。

(Wikipediaより引用)

つまりは、「楽譜」の「共通フォーマット」ということですね。 LilyPond のパッケージには、この MusicXML を LilyPond ソースに変換するスクリプトが付属しています。

これを使うことによって、

  • 最初は他の GUI ソフトで MIDI キーボード を使ってゴリゴリ打ち込み
  • 変換して LilyPond で浄書

というフローをとることができそうです。

実際にやってみる

GUI ソフトで音符を打ち込み、 LilyPond ソースに変換して組版をかけてみます。

Musescore で打ち込み

できました。

ss 2017-12-16 21.43.40.png

強弱記号(デフォルト位置からずらす)、フェルマータを入れてみました。

これを、 gakufu.xml として MusicXML 形式でエクスポートしておきます。

musicxml2ly で処理

コマンドラインから musicxml2ly に MusicXML を食わせます。

$ /path/to/musicxml2ly gakufu.xml

Mac で LilyPond パッケージ版の場合、スクリプトは /Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly にあります。
Windows でインストーラを使ってインストールした場合、 C:\Program Files (x86)\LilyPond\usr\bin\musicxml2ly.py にあります。

注意: python コマンドで起動する Python インタプリタが Python 3 系であると動作しません。 Python 2 系が起動するように変更してください。

LilyPond で組版

できました。
ss 2017-12-16 21.59.57.png

歌詞が少し消えていますが、変換自体は概ね正しいものです。

musicxml2ly の出力の特徴

Musescore からの変換しか試せていませんが、概ね次のような特徴をもったソースを吐き出します。

  • 歌詞・パートはそれぞれの変数に代入される
    • 一部複数ボイスがあると s1 が量産される Voice ができる
  • Staff にひとつあればよい記述 (\bar など) が全てのパートに存在こともある
  • 連桁はすべて陽に記述される (autoBeaming = ##f)
  • 改行・改ページはすべて \break, \pageBreak で陽に記述される
  • 小節チェック | の箇所で改行され、小節番号がコメントされる

おわりに

LilyPond は打ち込み用のソフトウェアではないので、こういった分業もけっこう「あり」だと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3