MusiXTeX 楽譜の組版

世の中には,己の好きなことのためにはどんな困難をも克服してしまう人がいるものである。ミュージック・スコア・タイプセット・パッケージ MusiXTeX をはじめて知ったとき思ったのは,まずこのことだった。TeX でオーケストラの総譜を組もうというのだから。しかも,組版品質がまったく美しいというほかないのだから。TeX の可能性に驚いてしまうのである。

MusiXTeX は大部の英文マニュアルをみてすぐわかるとおり,奇妙キテレツ・面倒な書法を習得しなければならない。少しでも簡単に,効率よく MusiXTeX コードを入力したいという目的で PMX や M-Tx といったプリプロセッサが開発されている。PMX は MIDI データを同時生成できるほか,scor2prt というパート譜生成のユーティリティをも備えている。M-Tx は MusiXTeX プリプロセッサ PMX のさらなるプリプロセッサであり(!),歌詞パートを効率よく記述できる。MusiXTeX, PMX, M-Tx の紹介,インストール方法,関連リンクについては,『TeX wiki 楽譜』が手頃な解説である。しかしながら MusiXTeX のマニュアルをきちんと読んでその仕様を理解していないと,少し特殊なことをやろうとすれば PMX, M-Tx の記法だけではまったく対処できない。

Mac OS X Snow Leopard に MusiXTeX T.114, PMX-2.5.15, M-Tx-0.60 をインストールした。コンパイルしてバイナリを生成する以外は,通常の LaTeX パッケージの設置と変わらない。マクロ関連ファイルは $TEXMF/tex/generic/musixtex/ ディレクトリに集めておくのがよい。バイナリ生成がいちばんやっかいなので少しだけ触れておく。コンパイルで,PMX は Fortran77 (gfortran, g77, f77) を,M-Tx は Free Pascal (fpc) を要求する。私は Mac OS X 用の gfortran を『High Performance Computing for Mac OS X』から,Free Pascal を『Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal』から入手して組み込んだ。Fortran, Pascal を使うあたり,かつてコンピュータで音楽をやろうとした人の個性が偲ばれる。

PMX は,アーカイブ展開ディレクトリ直下で make FC=gfortran,M-Tx は prepmx ディレクトリ下で make とすればコンパイルが実行される。MusiXTeX 付属のフォーマッタ musixflxMusiXTeXDistribution/system/musixflx/c-source ディレクトリにおいて,C/C++ コンパイラを用いて cc -g -o musixflx musixflx.c としてバイナリを生成すればよい。こうして生成した実行形式 pmx, pmxab, scor2prt (以上 PMX), prepmx (M-Tx), musixflx (MusiXTeX) をパスの通った場所にコピーしておく。

アントン・ウェーベルンが 1909 年に書いた Der deutsche Expressionismus の傑作『弦楽四重奏のための五つの楽章作品 5』第 1 楽章冒頭を,PMX - MusiXTeX で組んでみた。参照したスコアは,Anton Webern - Fünf Sätze für Streichquartett OP.5, Philharmonia Partituren No. 358, Universal Edition, Wien である。"col legno" をどうコーディングするかマニュアルにはなかったので,オクターブ記号出力マクロを少し手直しした。ドイツ語は Latin-1 で直接書いて,Cyrillic t2 パッケージ添付 plainenc.tex\input して 8 bit 処理した。cyrtex.ini を用いてダンプした plain TeX フォーマットファイル (cyrtex.cfg を適切に編集し,tex -ini -fmt=cyrtex cyrtex.ini で生成した cyrtex.fmt) を使えば,ロシア語入りスコアも作成できる。t2 パッケージは ptexlive に初期導入されている。UTF-8 なら日本語混在でも組めると思うけれども,その方法は調査中である。日本語だけの UTF-8 原稿なら,ptex -kanji=utf8 でコンパイルすればよい。ウェーベルン弦楽四重奏の組版では,フォントはデフォルトのコンピュータモダンを使用したが,\font\ninerm=ptmr7t at 9pt\ のように PMX 原稿のはじめのほうで(--- の間に)宣言しておけば,Times 等別の書体で出力できる(MusiXTeX T.114 マニュアル pp. 61-2 を参照)。以下のようなオペレーションで PMX 原稿 (webern_op5.pmx) から PDF を生成した。dvipdfmx だとスラーで PostScript エラーが出て出力できなかったので,dvips, ps2pdf (Ghostscript) を使った。

% pmxab webern_op5
% tex webern_op5
% musixflx webern_op5
% tex webern_op5
% dvips -Ppdf webern_op5.dvi -o
% ps2pdf -sPAPERSIZE=a4 webern_op5.ps webern_op5.pdf

PMX 原稿 webern_op5.pmx 及び組版結果 webern_op5.pdf を掲載しておく。組版結果は図 1 のとおり。図 2 に示す市販スコア(墺 Philharmonia Partituren)と比べると,私の調整がまだまだ足りないわけだけれども,なかなかの出来ではないだろうか。

webern_op5.png
図 1. MusiXTeX 組版結果
webern_op5_scan.png
図 2. 市販スコア

私は最初の 3 小節でくたびれた。MusiXTeX で総譜を組むのは,よほどの熟練と根気が必要である。Rosegarden などの楽譜専用エディタには MusiXTeX のコードをエクスポートするものもあり,そちらを使うのがよさそうである。トレモロやハーモニクス等の特殊奏法の記述は MusiXTeX マクロを熟知しないと実現できないだろう。一方,MusiXTeX は,現代音楽の凝った記法を含めると,プロフェショナルな業界ではグローバルスタンダードになっているミュージック・エディタ Sibelius には機能的にも劣るだろう。それでも,楽曲の主題を論文に引用するために使う程度なら,MusiXTeX の機能で充分であり,譜表のコーディングも PMX, M-Tx を活用すればそれほど難しくないはずである。

PMX, M-Tx のマニュアルは,それぞれ,pmx250.pdf, mtx060.pdf を参照。また,Cornelius Noack 氏による "Typesetting music with PMX" は,PMX のチュートリアル,テクニックを豊富なサンプルとともに解説した手引書であって,必携のドキュメントである。