楽譜

綺麗な楽譜を作成する方法を説明します. このページには,TeX を用いて実装された MusiXTeX と,かつて TeX を直接用いていた LilyPond の解説があります.



MusiXTeX

MusiXTeX とは

TeXで楽譜を書くための拡張マクロパッケージです。ASCII表記での綴りはMusiXTeXです(Xは大文字が正しい)。

歴史的には、MusicTeXをベースにして、音符の横幅の割付方法を改良した(TeX内部で計算できる内容には限度があるので、処理を外部実行ファイル musixflx に任せて細かい処理を行えるようにした)のがMusiXTeXです。(MusicTeX + MusicFlex = MusiXTeX)

ライセンスは(ver.T.104以降)GNU GPL v.2 or laterです。

履歴

公式最新バージョンは 1.27 (2017-12-26) です。

主著者である故 Daniel Taupin 氏自身が最後にまとめたバージョンはT.112です。その後、バグ修正やwell-known拡張パッケージの同梱(T.113・T.114)、e-TeX拡張への対応(T.115→1.15)、フォント取扱の現代化その他(1.16)等の活動が、TeX-music Maliling List のコミュニティによって続けられています。

インストール

TeX Live, W32TeX には最初から MusiXTeX がインストールされています.

MusiXTeXは楽譜を作成するのに3パスの処理を必要とします。また,LaTeX文章中に楽譜の例を引用する場合を除いて,LaTeXではなくplain TeXを使います。 例えばfoo.texがあるとすれば

  1. euptex foo
  2. musixflx foo
  3. euptex foo

のように実行します。

和文フォントを適切に追加定義して (e-)(u)pTeX を用いることができます。定義がない場合、和文フォントがdviドライバのデフォルト(通常10pt明朝体)で置換され欧文フォントに比べて小さくなったり、抜け落ちたりしてしまいます。必要な定義の入手はリンク欄を参照ください。

ドキュメントの PDF 版(バージョン T.102)を fileここ に置いておきます(約 700 KiB)。 ドキュメントの日本語版は MusiXTeX (MusicTeX) による楽譜ライブラリ (M.A.B.) の MusiXTeXの日本語版マニュアル にあります。古いバージョンT.98相当ですが、内容の大部分は現在でも有用です。

多数の拡張パッケージが,Werner Icking Music ArchiveMusiXTeX and Related Software から得られます。

PMX, M-Tx

PMX は MusiXTeX のプリプロセッサです。 Werner Icking Music ArchiveMusiXTeX and Related Software /software/pmx が現在の一次配布元です。 これは MML に似た文法で記述するので,MusiXTeX そのままの文法で記述するよりはるかに効率良く楽譜を作成できます。MIDI も生成できます(ただし同一パートの複数のタイが処理できない等の制限有り,専らデバッグ用の機能)。 最新版はver.2.83 (preview release) です。ver.2.6以降の系列は、24パートまでの組版に対応するかわりにMusiXTeX T.115以降とe-TeX拡張を含むTeXが必須となっています。

M-Tx は PMX のさらなるプリプロセッサで,歌詞の取り扱いを容易にします。 最新版は0.63です。0.63から、一次配布元が GitHub に変わりました*1。 なお、M-Txの24パート拡張版は残念ながら存在せず、PMX ver.2.6以降との組み合わせでも12パートまでの対応となります。

Windowsの場合、PMX、M-Txとも、TeX Live, W32TeX に含まれています。

PMX、M-TxともASCIIを前提としたプログラムです。M-Txは問題がないが、PMXはいわゆるShift JIS backslash(0x5c)問題があります(inline literal TeX stringまたはTeX string and terminatorと誤認)。現在ではUTF-8で記述し(e-)upTeXを使うのが回避方法となるでしょう。Shift JISのままでいくならば、M-Tx段階での歌詞記述で「ソ」は「{ソ}」、「ソ{}」などと記述する必要があります。

PMX使用時の和文フォント定義は、.texファイルと同じところに ファイル名.mod というファイルを作成し、その中で和文フォント定義を \input すれば、.texファイルを毎回書き換えることなく対応可能となります。この手法は他の独自定義マクロの追加等にも使えます。

PMX事始めサンプル

では、結城さんのページにあるサンプルをコンパイルしてみましょう。私はきらきら星のソースをmozart.mtxと名づけてテストしました。(日本語の歌詞も扱えるのですね!)

del mozart.mx2
prepmx mozart
pmxab mozart
euptex mozart
musixflx mozart
ptex2pdf -e -u mozart

最初のmozart.mx2の削除については、初めてコンパイルしたのであれば行う必要がありません。ただし、修正後の再コンパイル時には絶対に行ってください。

TeXとは関係ありませんが、MIDIも作ってみましょう。先ほど作ったM-Txソースの一行目(プリアンブル部であればどこでも良い)に、次のように書いておきます。

PMX: I

Iの後ろにオプションをつけることで、音色などを変更することが出来ます。(詳細はマニュアルをご覧ください。)楽譜作成の流れと同様にprepmxコマンドで処理します。

prepmx mozart
pmxab mozart

を実行することで、mozart.midが生成されます。

関連リンク

本体・使い方関係

WYSIWYGエディタ関係

MusiXTeX以外のTeXベース楽譜組版システム

LilyPond

LilyPond はオープンソースでクロスプラットフォームの楽譜作成ソフトウェアです。 当初はバックエンドにTeXを用いて楽譜の組版をしていましたが、2005年頃からPDF/PostScript直接出力となり、楽譜を作成するだけであればTeXと直接関係のない*2システムとなっています。 LaTeXやTexinfoのソース内に楽譜のソースを埋め込んでおき、TeXを利用して楽譜を含んだドキュメントを作成することのできる、lilypond-bookというスクリプトが付属しています。

License

GPLv3

ChangeLog

http://git.savannah.gnu.org/gitweb/?p=lilypond.git

関連リンク

楽譜エディタ

WYSIWYGあるいはWYSIWYMeanタイプの楽譜エディタ。TeXとは無関係のものも含みます。 LilyPond – みんなの楽譜作成: より簡単な編集手段 も参照。

abc notation

コメント



*1 0.62までは Werner Icking Music ArchiveMusiXTeX and Related Software /software/mtx が一次配布元でした。
*2 Requirements for running LilyPond なお、フォントは当初METAFONTで書かれたものが現在でも使われており、ドキュメントはTexinfoでの記述である等、開発者レベルではTeXとの関係が今でもあります。これは、LilyPondの前身がMusiXTeX用プリプロセッサMPPであったことにも由来しています。

Last-modified: 2017-12-28 (木) 18:00:33 (52d)