MusiXTeX でピアノソナタ悲愴(1)
MusiXTeX を使うと,前述の通りかなり綺麗な楽譜を書くことができます.6時間くらいかかって書いた,悲愴ソナタの一部を画像で貼って見ました.実際にはこの二倍のサイズがあるのですが,そのまま貼ると大きすぎるので縮小してあります.
しかし,これを表示させるには次のようなソースを書く必要があります.はっきりいって呪文ですわな.自分で最初から書いているのに,だんだん訳分からなくなります.
\input musixtex
\input musixsty
% page style
\hsize=195mm % 譜面の横幅
% def
% Sonata 'Pathetique' No.8 Op.13 by L.v.Beethoven
% Local Macro
% title (for musixsty.tex)
\fulltitle{Sonata `Path\'{e}tique'}
\subtitle{Op.13}
\author{\medtype L.v.Beethoven}
\shorttitle{Allegro}
%\shortauthor{Typeset by Kitanura K. 1997.8.}
\maketitle
%
\def\nbinstruments{1}% % パート数 1
\setstaffs 1{2}% パート1の段数 2
\setclef{1}{60}% % ト音記号(右手パート)
\generalsignature{-3}% % 調号=ハ短調
\generalmeter{\allabreve}% % 拍子はC(2分の2拍子)
%\nostartrule % 左端の線なし
\nobarnumbers % 小節番号なし
%
\startmuflex
\startpiece % 楽譜スタート
\qspace\nspace
%
%1 どーみ
\leftrepeat % 右向きリピート記号
\Notes \ccharnote B{\PED}\ibu0I0\qb0{CJC}\tbu0\qb0J%
\ibu0I0\qb0{CJ}\ccharnote B{\DEP}\qb0{C}\tbu0\qb0J|%
\uptext{\medtype\bf Allegro di molto e con brio.}% 速度・演奏指示
\lcharnote L{\p}% 強弱表示
\hup c\sk\sk\sk\sk\sk
\lpz b\lfl b\zq b\qu{=e}\en
\bar
%2 ふぁそらし
\NOtes\ibu0G8\hb0{C}\tbu0\hb0J\ibu0G8\hb0{C}\tbu0\hb0J|%
\lpz a\zq a\qu f\lpz e\zq{=e}\qu g\lpz f\zq f\qu h\lpz d\zq d\qu{=i}\en
\bar
%3 どどーみ
\NOtes\ibu0G8\hb0{C}\ccharnote B{\PED}\tbu0\hb0J\ibu0G8\hb0{C}\ccharnote B{\DEP}\tbu0\hb0J|%
\lpz e\zq {_e}\qu j\ccharnote N{\sF}\zh{=e}\hu j\sk\upz l\lfl i\zq i\ql{=l}\en
\bar
%4 ふぁそらし
\NOtes\ibu0G8\hb0{C}\tbu0\hb0J\ibu0G8\hb0{C}\tbu0\hb0J|%
\upz m\zq h\ql m\upz n\zq{=l}\ql n\upz o\zq m\ql o\upz p\zq k\ql{=p}\en
\Endpiece % 太い二重線で終える
\end
MusiXTeX でピアノソナタ悲愴(2)
MusiXTeX を使うには,プログラムをインストールする必要があります.わたしは個人的に Windows 2000 と FreeBSD, Linux, SunOS などで動かしたことがありますので,少なくともそれらの OS では使えるはずです.MacOS でも一応動くそうですから,ほとんどのコンピュータで使えるということですね.
- MusiXTeX のインストールについて
インストール方法については前に挙げた「MusiXTeX入門」の中で詳しく説明されています.ファイルをとってきて実行ファイルを実行したら,すんなりインストールされるという楽なものではありません.しかし,根気強く書かれている通りに忠実に実行していけば,ちゃんとインストールできます.
手順どおりにインストールすると,コマンドプロンプトから ptex, musixflx, dviout というコマンドが使えるようになるはずです.ptex は楽譜のソースファイル(例えばsonata8a.tex)をコンパイルして sonata8a.dvi というファイルを作ります.musixflx というコマンドは,楽譜の音符の配置を紙面にあうように,音符間の間隔を調整するプログラムです.そして dviout というコマンドは,できあがった dvi ファイルを画面に表示させるプログラムです.この他に dvipdfmx というコマンドがあり,これを使うと dvi ファイルから pdf ファイルを作ることができます.pdf ファイルにすると多くの人が見ることができるので,作った楽譜を配布するときは pdf ファイルにしておきます.なお,試作の楽譜の pdf ファイルはこちら(sonata8a.pdf)です.
手順をまとめると,次のようになります.
- xxxx.tex ファイルを書く.
- ptex xxxx.tex を実行する.(xxxx.mx1, xxxx.log, xxxx.dvi ができる)
- musixflx xxxx.tex を実行する.mx1 ファイルを読み込み,音符の間隔が調整される.調整結果は mx2 に書き込まれる.
- ptex xxxx.tex を再実行する.← 重要.これを実行することで,mx2 ファイルが読み込まれて音符の位置が調整された状態で dvi が作り直される.
- dviout xxxx.dvi として画面に表示する.ただし .dvi が更新されると dviout は自動的にファイルを再度読み込むので,dviout は起動したままでよい.
- del xxxx.mx1 xxxx.mx2 としておく.これをしないと楽譜を書き換えても,結果に反映されないことがあります.← 重要
- dvipdfmx xxxx.dvi を実行して xxxx.pdf を作る.これは必要に応じて,最後に一度実行すればよい.
実際に手順の 2〜4をコマンドライン上で実行している様子を示します.
ptex を実行したときに出力されるログは xxxx.log に出力されます.見てもあんまり参考にはなりませんが….表示される内容は,実行している環境によって変わるので,必ずしもこの通りになるとは限りません.もしも上に挙げたソースがこの手順でちゃんと表示されないとすれば,インストールの手順に何か問題があるかもしれません.
MusiXTeX でピアノソナタ悲愴(3)
MusixTeX のソースの書き方については,やはり「MusiXTeX入門」でかなり詳しくかかれています.また英語の MusiXTeX and Related Software を元に作られた日本語のMusiXTeXマニュアルを作られている方がいて,これらに詳しい説明があります.ですので,ここではわたしがソースファイルを書いていく上でつまずいたことを中心に,要点だけ書いていきます.
前述の通り.楽譜を作るには .tex という拡張子(サフィックス)を持つファイルを書く必要があります.このファイルの内容は,普通のテキストエディタで書けます.また,ファイルの内部の構成は大まかに次のようになっています.
\input musixtex % musixtex を使うという宣言(必須)
% このあたりに,パート数,パート名,調などを書く.
\startmuflex % ここから先に musixflx が調整すべき音符を書くという宣言.
\startpiece % 楽譜がここから始まることを宣言
% ここに楽譜を書く.
\end % ファイルの終わりを示す(必須)
上の囲みの中の '%' という文字は,その文字から後ろの部分は「注釈」として扱われることを意味します.つまり上のファイルは,ptex コマンドにとっては次のようにかかれているのと同じです.
\input musixtex
\startmuflex
\startpiece
\end
実際,これだけの内容を書いたファイルを作ってコンパイルすると,次のような空っぽの楽譜ができます(サイズは半分にしてあります).
この状態ではただの五線譜ですね.実際に譜面を書く場合には,次のような情報を書き込みます.
- パート数(各パートの段数),パート名
- 各パートの調,音部記号
- 拍
ピアノ譜に限れば,パート数は1(1楽器で1パートと数える),段数は2(通常のソロピアノ譜の場合)なので,次のようになります.
\input musixtex % musixtex を使うという宣言(必須)
% ----------------------------------
\def\nbinstruments{1} % パート数 1
\setstaffs 1{2} % パート1の段数 2
\setclef{1}{60} % パート1の格段の音部記号(6=ヘ音記号,0=ト音記号)
\generalsignature{-3} % 調号=ハ短調
\generalmeter{\meterC} % 拍子はC(4分の4拍子)
% ----------------------------------
\startmuflex % ここから先に musixflx が調整すべき音符を書くという宣言.
\startpiece % 楽譜がここから始まることを宣言
% ここに楽譜を書く.
\end % ファイルの終わりを示す(必須)
音部記号は 0 がト音記号,1〜4がハ音記号,5,6がヘ音記号です.音部記号は下段のパートから順番に指定します(上の例では先に書かれた6が左手側のヘ音記号に対応し,あとの0が右手パートのト音記号になります).調号は 0 ならハ長調(またはイ短調),プラスの数字でシャープの数を,マイナスの数字でフラットの数を指定します.ピアノソナタ悲愴の場合はハ短調でフラットが3つなので,-3 を指定しています.拍は 4/4 の場合は \meterC と,2/2 なら \allabreve,それ以外の n/m なら \generalmeter{n}{m} と書きます.3/8 拍子なら \generalmeter{3}{8} という感じです.