Rosearden と MusixTeX(memo16)

楽譜はアヴェマリアの一部です。
Linux 日記 No.1 Linux 日記 No.2 Linux 日記 No.3 Linux 日記 No.4 Linux 日記 No.5
Linux 日記 No.6 Linux 日記 No.7 Linux 日記 No.8 Linux 日記 No.9 Linux 日記 No.10
Linux 日記 No.11 Linux 日記 No.12 Linux 日記 No.13
Linux 日記 No.14 Linux 日記 No.15 memo15 は VFlib3 の予定です。まだまとまっておりません。
Linux My Tips ちょっとしたヒントとメモ


    目次
  1. Rosegarden のインストール
  2. Rosegarden の設定 midi ファイルの演奏 新規に楽譜を入力する
  3. tclmidi について
  4. MusixTex のインストールとフォントの設定
  5. PMX のインストール
  6. アヴェマリアのdvi およびps ファイル



(1)Rosegarden のインストール
Rosegarden はここで入手できます。
Rosegarden music software for Unix
rosegarden-2.1-i586-pc-linux-gnu.tar.gz

私は、rsegarden のバイナリーパッケージをロードしました。
これを適当なディレクトリで解凍します。
以下のようなファイル構成になっています。
-rw-r--r--   1 jeanne   users         634 Oct 26  1997 ANNOUNCEMENT
-rw-r--r--   1 jeanne   users        3244 Oct 26  1997 CHANGES
-rw-r--r--   1 jeanne   users       17982 Oct 26  1997 COPYING
-rw-r--r--   1 jeanne   users        1983 Oct 26  1997 COPYRIGHT
-rw-r--r--   1 jeanne   users        1963 Oct 26  1997 INSTALL
-rw-r--r--   1 jeanne   users         965 Oct 26  1997 README
-rw-r--r--   1 jeanne   users        9021 Oct 26  1997 Rosegarden
-rw-r--r--   1 jeanne   users     1013760 Oct 26  1997 package.tar

さらに、/usr/local で package.tar を展開します。
bin/
	bin/rosegarden
	lib/
	lib/rosegarden/
	lib/rosegarden/bin/
	lib/rosegarden/bin/sequencer
	lib/rosegarden/bin/editor
	lib/rosegarden/example/
	lib/rosegarden/example/glazunov.rose
	lib/rosegarden/synth-patches/
	lib/rosegarden/synth-patches/std.sb
	lib/rosegarden/synth-patches/drums.sb
	lib/rosegarden/help/
	lib/rosegarden/help/rosehelp.info
	lib/rosegarden/help/rosehelp.hnx
	lib/rosegarden/petal/
	lib/rosegarden/petal/Petal.tcl
	lib/rosegarden/petal/PetalEditor.tcl
	lib/rosegarden/petal/PetalMidi.tcl
	lib/rosegarden/rosepetal-filters/
	lib/rosegarden/rosepetal-filters/harmonizer.tcl
	lib/rosegarden/rosepetal-filters/pattern.tcl


リソースファイルRosegarden を ~/.Rosegarden としてコピーするか、
/usr/lib/X11/app-defaults にコピーする
-rw-r--r--   1 root     root         9021 Jul 11 13:15 Rosegarden


(2)rosegarden を起動する
Mid ファイルを演奏をする midi ファイルの読み込みみます。 (1)File の import MIDI で 目的の mid ファイルを読み込む (2)File の Sequencel を選択するか、 ツールバーの左から4つ目 の進行矢印をクリックすると、 Sequencer 画面がオープンする。 (3)この画面の Track を選択し、Change Device for all Track で 適切な midiデバイスを設定する。 デフォルトでは Yamaha OPL-3 になっているので、すべてのトラックを 私は Sound Blaster 16 に変更。 (4)演奏する楽譜の位置が見えるようにしたい。 Midi → Midi Setup → Track Every Note にする。 新規に楽譜を入力する。 rosegarden で新規に楽譜を入力するのは少々やりにくい。Windows 系の midi 入力ソフトなら、それほど手間がかからないことも rosegarden ではそ う簡単にはいかないですね。私は DOS 版の頃からずっと Recomposer という 入力ソフトを使っているのですが、このようなソフトに比べたら rosegarden で手作業で楽譜の入力をするのはちょいと至難の技ですね。音符そのものはマ ウスでペタペタ張り付けていくことは可能なのですが、細かい作業がかなりや りにくいです。コードネームでの入力も可能ですが、自在にというわけにはい きません。 それと tex に出力することを考えると、使えるトラックは6トラックまでと 限定されてしまうので、複雑な楽譜を手作業で入力するには、今のところは労 多くしてあまり効果は期待できないようです。 ただ rosegarden のひとつの魅力は TeX 楽譜を扱えることです。つまり、 mid ファイルから楽譜起こし、楽譜を画面に表示したり、印刷することが可能 です。ただTeX 楽譜への出力は6トラックまでですので、かなりの限定される ことは多いですが、musixtex の入門として rosearden はなかなか魅力あるも のだと思います。 rosegarden で扱える楽譜は rosegarden 固有のフォーマットの他、mid ファ イルの読み込みが可能、musixtexや pmx ファイルへの出力ができます。しか しながら、既存の mid ファイルから楽譜を起こそうとするのは現在の rosegarden ではちょっと無理があるようです。 windows 系の mid 入力ソフトと言うのはかなり複雑なことができます。私が 自分で入力したものは最低6トラックはあるし、平均10〜12トラックは使 用しているし、リズムトラックもあるし、音色もいろいろ使っているので、 rosearden に mid ファイルを入力して演奏した場合、かなり印象の違う音に なってしまうものもありました。 私の mid ファイルコレクション recomposer で作成したものです。 linux なら xplaymidi などで再生するほうが無難です。
(3)tclmidi について
特に何も設定していなければ、rosegarden を起動すると、 次のようなエラーが出ます。 Warning : Petal library could not be found, TCLLIBPATH is not set Not installing Filter Menu Bar emphasis 4. Writing dynamic information. この件に関してはRosegarden music software for Unix rosegarden の FAQ には以下のような説明があります。 Petal library について Frequently Asked Questions about Rosegarden 2.1 "What is Petal for?" Petal is a scripting language, similar in principle to Cakewalk's `CAL', except much more powerful and more ``music theory aware''. It is based on Tcl and TclMIDI. Its main use is to write filters, to automatically process your MIDI or notation files. Filters add new functionalities to Rosegarden the same way Emacs Lisp macros do to Emacs, or shell scripts do to your regular command line. More generally, you could use it for many more complex things, like algorithmic composition. If you're installing from a binary distribution, the Petal shared-object and Tcl files will be installed regardless (if they're included in the distribution at all -- check for Petal.so in the tarfile). You won't be able to use them unless you have Tcl v7.5 or newer and your TCLLIBPATH is set correctly; if you want to use them from the sequencer, you'll also need TclMIDI. The Tclmidi Homepage tclmidi はここで入手できます。 設定の参考ページは [P's Linux Page] TclMIDI こちらは松本さんの MIDI Player のページ TiMidity ( MIDI Player with Software only )
  • tclmidi 3.1をインストールしようとしたのですが、 実はまだうまくいっていません。 そこで tclmidi-4.0b1.tar.gz を入手し、これをインストールしようとしたのですが、 tclmidi-4.0 になると、tcl8.0 以降が必要で、さらにこちらだと、 SmallEiffel も必要ということ。 ちょいと複雑になりすぎいまのところ tclmidi はまだインストールは 完了しておりません(1999/7 現在) SmallEiffel The GNU Eiffel Compiler : " download " Check out this URL: http://www.loria.fr/SmallEiffel Since tclmidi requires an older version of SmallEiffel at the time of this writing, I'll also keep SmallEiffel-0.79 available at ftp.boogie.com. MISC がロードできます。 MidiScore for Linux
    (4) MusixTeX のインストール
    楽譜を印刷する。
    MusixTeX についてこのページはとても参考になりました。 musixtex 以下musixtex の設定は、 環境の設定 を参考にさせて頂きました。フォントを作成するスクリプトなども 利用させて頂きました(感謝)。
    MusixTeX の設定
    musixtex-T94.tar.gz を解凍します。 doc/ musixtex-T94.tar.gz tex/ mf/ systems/ tfm/ /mf に入り、プリンタ用フォントの作成します。 フォントの作成に使用するプリンタの名称は、 /usr/local/share/texmf/metafont/misc/modes.mf このファイルで調べます。 私の場合は ricoh SP2000 なので、ricoh を使用しました。 基本的にはこのようなコマンドでgf フォントを 作成します。 たとえばこのようなコマンドを実行します。 # mf '\mode=ricoh ; input musix20 ' # mf '\mode=ricoh ; input xslhd29 ' 作成するフォントはとてもたくさんあります。 基本の設定 スクリプトを利用させて頂きました。 スクリプトは make_musixtexfonts というような名称でセーブし、 以下のようなコマンドで実行します。 sh make_musixtexfonts ricoh 個々にフォントを作成する場合は、たとえば次のように行います。しかしなが ら、多くのフォントが必要ですので、ここはやはりスクリプトファイルを利用 させて頂くほうが便利です。 ------------------------ jeanne:~/appl/tools/rose/musixtex/text94/mf$ mf '\mode=ricoh ; input musix20 'This is METAFONT, Version 2.718 (Web2C 7.2) (musix20.mf (musixgen.mf [0] [1] [2] [3] [4] [5] [6] [120] [20] [21] [22] [23] [24] [25] [18] [19] [26] [27] [28] [29] [30] [31] [7] [8] [9] [56] [32] [39] [36] [37] [38] [99] [100] [101] [102] [111] [112] [113] [114] [115] [116] [117] [118] [95] [96] [97] [124] [125] [126] [40] [12] [41] [42] [43] [44] [45] [13] [46] [47] [48] [49] [50] [51] [52] [53] [54] [90] [91] [92] [93] [94] [59] [58] [60] [10] [11] [61] [62] [63] [64] [65] [66] [71] [72] [73] [74] [75] [76] [77] [103] [98] [122] [14] [15] [16] [17] [57] [79] [80] [81] [82] [83] [84] [123] [121] [55] [78] [85] [105] [86] [110] [67] [68] [87] [88] [89] [119] [106] [107] [108] [109] [69] [70] [33] [104] [34] [35] [128] [192] [129] [193] [130] [194] [131] [195] [132] [196] [133] [197] [134] [198] [135] [199] [136] [200] [137] [201] [138] [202] [139] [203] [140] [204] [141] [205] [142] [206] [143] [207] [144] [208] [145] [209] [146] [210] [147] [211] [148] [212] [149] [213] [150] [214] [151] [215] [152] [216] [153] [217] [154] [218] [155] [219] [156] [220] [157] [221] [158] [222] [159] [223] [160] [224] [161] [225] [162] [226] [163] [227] [164] [228] [165] [229] [166] [230] [167] [231] [168] [232] [169] [233] [170] [234] [171] [235] [172] [236] [173] [237] [174] [238] [175] [239] [176] [240] [177] [241] [178] [242] [179] [243] [180] [244] [181] [245] [182] [246] [183] [247] [184] [248] [185] [249] [186] [250] [187] [251] ) ) Font metrics written on musix20.tfm. Output written on musix20.300gf (247 characters, 32908 bytes). Transcript written on musix20.log. --------------------- pk フォントをつくる gftopk musix20.300gf musix20.300pk 自動生成のスクリプトも 基本の設定 スクリプトを利用させて頂きました。 こちらはperl のスクリプトなので、perl で実行すること。 perl gftopk_musixtex フォントを必要なディレクトリに移動する pkフォントは次のディレクトリに移動します。 /usr/local/share/texmf/fonts/pk/musixtex tmfフォントは次のディレクトリに移動します。 /usr/local/share/texmf/fonts/tfm/musixtex texmf.cnf を変更 フォントを移動したら、 コンパイルの時に自動的にスタイルファイルを読み込むために、 /usr/local/share/texmf/web2c/texmf.cnf に 次の記述を追加します。 TEXINPUTS = .:$TEXMF/tex// /usr/local/share/texmf/ls-R を更新する 次に cd /usr/local/share/texmf/ ls -R /usr/local/share/texmf > ls-R /usr/local/share/texmf/ls-R を書きかえます。 musixflx が使えるようにします。 musixtex-T93/systems/c-source に入って、 cc [-O2] [-n32] musixflx.c -o musixflx ( -O2 と -n32 は省略してもよい) musixflx をパスが通ったディレクトリに移動します。 cp musixflx /usr/local/bin/ musixtex ファイルのコンパイル方法 musixexa-T90.tar.gz というのは、musixtex のサンプルファイル集ですので、 これもロードし、解凍しておきます。 このなかに次のようなサンプルファイルがありましたので、 コンパイルしてみました。 -rw-r--r-- 1 jeanne users 261 Sep 21 1996 avemaria.tex jeanne:/appl/tools/rose/examples$ tex avemaria.tex This is TeX, Version 3.14159 (Web2C 7.2) (avemaria.tex (/usr/local/share/texmf/tex/musixtex/musixtex.tex MusiXTeX(c) T.94 <11 May 1999> ) (/usr/local/share/texmf/tex/musixtex/musixcpt.tex (中略) Output written on avemaria.dvi (7 pages, 98380 bytes). Transcript written on avemaria.log. avemaria.dvi が作成されますので、 jeanne:/appl/tools/rose/examples$ musixflx avemaria.dvi <<< musixflex 0.83/T.63dt+jh.2 >>> ... decoding command line ... open for input ... testing versionnumber ... open for output ... reading ... compute ... reading ... compute ... reading ... compute ... thats all, bye dvi ファイルが作成されますので、xdvi で見ることができます。 PMX もインストールしておきます。 rosegarden は pmx 形式も扱うことができます。 MusixTeX ファイルの扱いは pmx ファイルのほうがはるかに便利ですので、 pmx-unix-2.00.tar.gz もインストールしました。 pmx musixtest01.pmx とすれば、 pmx ファイルからmusixtest01.dvi が作成できます。 楽譜の印刷のために 印刷はdvi2ps を使います。 /usr/local/share/dvi2ps/fontdesc を変更します。 fontdesc の記述方法については少々検討中です。 私の場合は、基本の設定 のように、 musixtexファイルを別に作成せず、 fontdesc に 直接フォントのディレクトリを指定してしまうほうが エラーは出ないのですが、どういう方法がよいのかちょっと不明です。 要するに必要なフォントが呼びだせたらよいわけなのですが。 いまのところ、/usr/local/share/dvi2ps/fontdesc に 以下の記述を加えてみました。 # TYPE SPEC SUB PATH font pk * 3 /usr/local/share/texmf/fonts/musixtex/pk/%f.%mpk ---------------------- PS ファイルの作成 dvi2ps ave.dvi のように実行してやれば、ave.ps が作成されます。 dvi ファイルは xdvi で、 ave.ps は gv などで見ることができます。 必要なフォントが欠落しているときれいな ps ファイルを作成できません。 これは avemaria.tex から作成した avemaria.dvi を xdvi で表示し、GIMP でスクリーンショットを取ったものの1ページ目をjpg でセーブしたものです。 画像を小さくすると五線が乱れてしまうので、画像は一部を切り取ったものを 示しています。原寸の画像を見るためには、いま見えている楽譜をクリックし てみてください。









    musixtex の設定を行い、楽譜ファイルを dvi に変換し、印刷用の ps ファイ ルを作成できるところまで到達したのですが、私はまだ実際には印刷まではやっ ていません。TeX の場合の印刷は使えるフォントをfontdescのようなファイル で指定してやるのですが、このあたりのことにまだちょっと自信がないので、 実際の楽譜の印刷のためにはもう少し検討が必要です。 よくよく考えてみれば「楽譜」に使われている音符もさまざまな記号も「フォ ント」であるわけです。フォントの世界は奥が深いですね。しかしながら musixtex を使ってコンピュータで印刷楽譜を作成できるというのはとてもす ばらしいことだと思います。 musixdoc.ps のような文書もあってかなり詳しい解説を読むことができます。 TeX で1から楽譜を起こすことはとても大変ですが、rosegarden を使うこと でとても簡単に楽譜の tex ファイルを作成することができますから、ぼちぼ ちいろいろ試してみようと思っています。ともあれこのメモはrosegarden を 使って印刷もできる「楽譜」ファイルを作成することを目的にまとめてみまし た。


  • (このファイル)先頭に戻る


    I enjyoy Linux
    Linux 関連ページの目次にもどる。

    back to Home Page(English)

    ホームページに戻る(日本語)