※ この記事はIAMAS Advent Calendar 2017の12月18日の記事の予定地です。

またしてもライトな環境構築ネタですいません。オープンソースの自分的に最強の譜面書き環境LilypondをAtomエディタ上で使う方法について書きます。

アジェンダ

  • Lilypond ってなに?
  • インストールと設定
  • 使いかた

アジェンダって程のことでもないですね、、、。

Lilypondってなに?

Lilypondは “LilyPond is a music engraving program, devoted to producing the highest-quality sheet music possible. It brings the aesthetics of traditionally engraved music to computer printouts. LilyPond is free software and part of the GNU Project.” とあるように「楽譜制作のソフトウェア」であり「GNUプロジェクトのfree software」だと公式ウェブサイトに書いてあります。

それだけだとちょっと説明が足らないので、もうすこし説明すると世の中にはFinaleとかSiberiusとかNotionとか他にも色々な譜面書きソフトがあります。なんか今こう書いてみると譜面書きソフトがそんなにあるってそんな需要がある市場なんだろうか、、、という素朴な疑問も生れますが(笑)それらのソフトとLilypondが一番ちがうのはLilypondは先日のLaTexの記事で取り上げたLaTexと同じ感じで「楽譜をマークアップして構造的にテキストで記述出来る」という点にあります。と言われてもあんまりピンこない、という人は公式サイトのテキスト入力の説明のページとか見ていただけると良いと思います。

で、使い慣れるとこれがもうマウスでポチポチみたいなGUIのソフトに比べて圧倒的に早く楽譜が記述できます。しかもあたりまえですが手書きと違って綺麗(笑)な楽譜が出来上がります。今回、IAMASで僕が研究してる途中で作った楽譜や修士作品の楽譜なんかは98%はLilypondです(あとの1%は手書き、もう1%はLogicの楽譜出力機能)。

じゃーどこが便利なの? という話は今修士論文書いてるのでそっちに書く予定ですがとりあえずFinale, Siberiusといった2大楽譜作成ソフトでは出来ない記述が可能なのです。ほんと異常な楽譜が書けます(笑)。例えば小節の途中で折りかえすとか、しかもそこが連符の途中でも、みたいな譜面の禁則みたいなのをブッチギレます。いやそれ見付けるまで大変苦労しました。ただかなりマニュアルは日本語訳されているので普通の事をしてる分にはそれほど敷居が高くはないです。ていうか多少のプログラムの心得がある人ならすぐに慣れると思いますよ。

またmusicXMLをLilypond形式にコンバートしてくれるとかの便利コマンドとかもあるので、Logicで作ったMIDIデータをmusicXMLで出力してそれをコンバートしてLilypond上で修正と整形していく、なんて使いかたもできます。僕は使ったことがまだありませんが、LilypondのデータからMIDIを出力もできるので上手くやればAtomで譜面を書きつつ音を確認していく、なんてワークフローが組めるかもしれません(ただ繰返し記号なんかを正確に再生するのには多少は難がある、みたいな話も見た記憶があります)。

そんな便利なLilypondですからそりゃ、マークアップするのに普段使いなれたAtomを使いたくなるじゃないですか。なるのが人情ってものなので調べました。そしたらやっぱり同じようなこと考える人がいるんでしょうね。AtomのLilyPond関連のパッケージがありました。

インストールと設定

例によって対象はmacOSです。インストールも設定もそんなに大変な話ではないのです。Lilypond本体は先程の公式サイトからmacOS用のパッケージを落してきて普通にインストールします。

次にAtomのパッケージから以下のパッケージをインストールしてください。

  • AtLilyPond … Lylipondのシンタックスハイライトしてくれます
  • lilycompile … AtomからLylipondのコンパイルを走らせてくれます
  • pdf-view … PDFのビュワーです

基本的はこれをAtomにインストールすればインストールは終りです。lilycompile のSettingで出力するファイル形式(File Type)と、出力したときにどこに表示するか?(Opening Behavior)を選んでおくと良いとおもいます。

使いかた

.lyという拡張子のファイルを作って(面倒なんで僕はこの拡張子をダブルクリックするとAtomで開くように紐付けしてしまいした。そうじゃないとLilypondのアプリが起動してきます)、”ctrl+alt+l”(最後は小文字のエルです)をタイプすれば、そのファイルをLylipondのコンパイラに渡してコンパイルしてくれます。コンパイルに失敗するとエラーがポップアップされます(あまり詳細なエラーが出る感じじゃないので、構文とかでハマったときにはそれなりに大変でした)。上手くコンパイルが通るとデフォルトだとAtomの右分割されたところに表示されます。

そこまで行けばあとは譜面を書きながらひたすら”ctrl+alt+l”する度にそのPDFが更新されます。保存と同時にライブプレビューされると便利だよなぁ、とか思った人もいると思いますが、Markdownなんかと違って譜面の規模が大きくなるとコンパイルにけっこう時間が掛ったりするので、基本的にこの仕様で便利に使えると思います。ジャズのリードシートくらいなら一瞬でコンパイルしてくれるのでなにも問題ないです(笑)。

というわけで、特に画像もなく文章だけだとあまり伝わり難いかな、、と思いますが、ちょっと狂った譜面の書き方は別途修士研究のアレコレとあわせて書きたいと思います(笑)。というか論文でも触れるところなのでどこまで書いちゃっていいのか微妙ではありますが。。。次回に続く!!(のか?)。