バグ発見 - LilyPondのMIDI出力のおかげ [ギター]
先日作ったBWV998 Preludeにバグを見つけた。
どうやって見つけたかと言うと、LilyPondのMIDI出力。
これまで、例えばFinaleでは、
- まずMIDIキーボードから打ち込んでMIDIファイルを作る
- 音符の位置や長さを適当なソフト(昔MacではMidiGraphyというフリーのシンプルかつ強力なMIDI編集ソフトがあった)でクォンタイズする
- MIDIファイルをFinaleに読み込ませて音符にする
- 音符の衝突などを調整する
- PostScriptファイルで出力する
- PSファイルをIllustratorで読み込んで、微調整のあとpdfで出力
ということをやっていた。
つまり、楽譜にするときはMIDIは入力の手段だった。なぜかと言うとFinaleでWYSIWYGで音符を書き込むのはかったるくて、文字を打つキーボードからリアルタイム入力とかできるけど、どうせなら楽器から音を出しながらやるのが結局簡単だったから。もちろんきちっとクォンタイズしないと現代音楽の楽譜のようなおそろしいほど精妙かつ複雑なリズムの音符の羅列になってしまう。これが一番大変で面倒だった。
だからこれまで、LilyPondがMIDI出力できてもなあ、と思っていた。
今回、LilyPondのシンタクスに慣れてきて、全部いきなりLilyPondのソースで打ち込んだ。だからどこにもMIDIは現れない。
できた楽譜は一応チェックしたが、今日たまたまLilyPondのMIDI出力の機能を使ってファイルを作ってみた。
LilyPondのマニュアルにあるように
\score { ...(音符にしたい音をここに書く)...\midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 220 8) } } }
の色付き文字の部分を書き加えて、タイプセットするとMIDIファイルができる。tempoWholesPerMinuteはメトロノーム記号で書くのと同じで、上の例だと8分音符=220/分ということになる。普通の楽譜と違って付点音符は指定できないみたい。もちろんこれもなくて\midi{}でもいいけど、速すぎてアル・ディメオラになったり、「謝肉祭」の「亀」になったりするのでメトロノーム指定だけは入れた方が良さそう。他にも音色の指定など、MIDI特有のパラメータ(音量とか、他よくわからない)などが指定できる。このままだとピアノの音色(楽器指定なしのときのデフォルト)で一様なフォルテのファイルができる。
これを鳴らしてみると、一カ所ヘクってる音があった。楽譜のチェックでは全然気がつかなかったが、音で聴いたら一発ですがな。
LilyPondのMIDI出力、今まで「こんなのいらないじゃん」とか思ってたけどこれはデバグにはすごく便利。すばらしい。あっさり宗旨替え。ああ、よかった。
修正した[pdfファイル]を置いておく。
ついでに今回できたすっぴんのMIDIファイルも一緒に。これをFinaleに食わせるとFinale版ができる(はず)。
コメント 0