LoginSignup
9
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 は打ち込み用のソフトウェアではないので、こういった分業もけっこう「あり」だと思います。

9
3
0

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
  3. You can use dark theme
What you can do with signing up
9
3