学校の音楽の時間、あるいは趣味など、ほとんどの方が一度は楽譜を見たことがあると思います。今回はこの楽譜をUbuntuで作成するレシピです。
楽譜作成ソフトウェアとは
楽譜に記述されているのは演奏情報なので、コンピューターを用いて記録し楽譜を出力することが可能ではないかというアイディアから生まれたのが、楽譜編集ソフトウェアです。
楽譜編集ソフトウェアが生まれる以前の楽譜は、人間が書いていました。作曲家が書いた手書きの楽譜を清書する作業を浄書(じょうしょ)と呼び、演奏者にとって見やすい楽譜を書くことは職人芸と言えました。職人芸をソフトウェアが再現することは簡単ではないようで、初期の段階の楽譜編集ソフトウェアは、人間にとって見やすい楽譜を出力するのがなかなか難しかったようです。
見やすく、そして美しい楽譜を出力したいというニーズを満たす楽譜編集ソフトウェアがLinuxにもあります。GNU lilypondです。
GNU lilypondとは?
GNU lilypond とは楽譜専用の組版ソフトウェアで、GNUプロジェクトの一部として開発されています。簡単に説明すると、特定のルールで記述されたテキストファイルをGNU lilypondで処理することで、PDFや印刷に適したデータに変換され、美しい楽譜となって出力されます。Texを知っている人であれば「楽譜専門のTexのようなもの」という説明がわかりやすいでしょう。
GNU lilypondを使うにはまず、Ubuntuソフトウェアセンターでlilypondを検索してソフトウェアをインストールしてください。
図1 Ubuntuソフトウェアセンターでlilypondを検索
インストールを終えたところで、実際にデータを変換して楽譜を出力してみましょう。今回はパブリックドメインの楽譜ライブラリーであるMutopia Project からダウンロードしたlilypondデータ を利用します。
lilypondのデータはテキストファイルとなっています。試しに、ローカルに保存したファイルをgeditなどのエディターで開いてみてください。
図2 lilypondファイルの中身。いくつかのブロックから構成されているのがわかる
このテキストファイルを変換して楽譜を出力するには、次のコマンドを実行します。ここでは、ローカルに保存したJ95000-YanresoHoi.lyからPDFを出力しています。
$ lilypond --pdf J95000-YanresoHoi.ly
J95000-YanresoHoi.pdfというファイルが生成されます。Evince PDFビューワで開いてみましょう。
図3 出力された楽譜
テキストファイルから楽譜が生成されたことがわかります。
コマンドラインではなく画面を見ながら操作できるlilypond用エディターとして、frescobaldiというソフトウェアが開発されています。Frescobaldiはエディターウィンドウとビューワーウィンドウを持つため、lilypondのルールでテキストを書き、クリックひとつで楽譜を表示して確認するという使い方ができます。
図4 Frescobaldi
このように、lilypondは非常に強力なソフトウェアですが、ルールを覚えてテキストファイルを書かなければならないため、学習コストが若干高めです。そこで、五線譜に音符を書いていく要領で画面操作をし、lilypondの元データを作成する楽譜編集ソフトウェアが開発されています。
Ubuntuで使うことのできるGUI楽譜編集ソフトウェア
Ubuntuで使うことのできる楽譜編集ソフトウェアで画面操作ができ、かつlilypondをバックエンドに楽譜出力ができるものとして、Denemo、Canorus、Ntedがあります。
図5 Denemoの画面
図6 Canorusの画面
図7 Ntedの画面
これ以外にも、本連載の第176回 で紹介したRosegardenも楽譜編集ソフトウェアの機能を持っており、lilypondを利用して楽譜を出力することができます。
図8 Rosegardenの楽譜画面
lilypondをバックエンドに使わないものの、遜色ない機能を持つMuseScoreというソフトウェアもあります。ほとんどが日本語翻訳されているため、英語に不慣れなユーザーであればこちらを利用するのがよいでしょう。
図9 MuseScoreの画面
MIDI信号による演奏
楽譜の情報と同様にMIDI信号もまた演奏情報なので、楽譜データをMIDI信号に変換することができます。今回紹介した楽譜編集ソフトウェアはいずれもMIDI信号の出力に対応しているため、出力されたMIDI信号を受けて音声を出力するようなソフトウェア、例えば本連載の第191回 で紹介したようなソフトウェアシンセサイザーと組み合わせ、記譜の内容を音声で確認することができます。
ソフトウェア間のMIDI信号のやり取りは、Linux標準のサウンドサブシステムであるALSAのシーケンサー機能が仲介します。ALSAのシーケンサー機能について詳しく知りたい方は本連載の第150回 が参考になるでしょう。
音声による確認
DenemoやMuseScoreはパッケージ内にサウンドフォントシンセサイザー機能を持っているため、外部のソフトウェアに頼らなくても自分で音声出力をすることができます。この際、音声を出力するバックエンドを適切に設定する必要があります。
DenemoもMuseScoreもさまざまなバックエンドを利用可能ですが、Ubuntu標準のサウンドサーバーであるPulseAudioを併用できるよう設定するのがよいでしょう。どちらも本連載の第243回 で簡単に紹介したPortAudioをバックエンドに選択することができます[1] 。
[1] MuseScoreの設定ウィンドウのタブ「I/O」には誤訳があり、「 オーディオのポート設定」は「PortAudio」を無理に訳したものです。PulseAudioと併用する場合はここにチェックを入れ、APIに「ALSA」を、デバイスに「default」を指定してください。