印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
LinuxWindows LilyPond のテンポ指定

楽譜組版ソフトの LilyPond でテンポ指定をする場合,楽譜上のテンポ表記の指定と,MIDI 出力のテンポ指定を別に行う必要がある。

■ ■ ■

LilyPond は楽譜組版のためのソフトウェアである (LilyPond, music notation for everyone)。Linux, FreeBSD, MacOS X, Windows ME/NT/2000/XP で動作するパッケージが用意されている。LilyPond は,テキスト形式のソースを処理し,PostScript と PDF 形式の楽譜,MIDI を出力する。LilyPond には GUI はない。GUI としては,別のプログラムが開発されている (Denemo)。これは,MusiXTeX と NoteEdit の関係と似ている (楽譜をかく)。私は,以前は ABC 形式のテキストで書いたものを abc2mtex で変換して MusicTeX で処理していた。MusicTeX の改良版が MusiXTeX である (MusiXTeX - Free Software Directory - Free Software Foundation)。

LilyPond は詳細な指定ができるが,CUI であるため,直感的に楽譜を把握することができない。Denemo は WYSIWYG ではないものの GUI ではあるので,入力が容易だが,詳細な指定ができない。したがって,楽譜作成の作業の流れとしては次のようにすると効率がよい。

  1. Denemo で大まかな入力をし,Denemo 形式と LilyPond 形式の両方の形式で出力する
  2. LilyPond 形式のソースファイルを直接テキストエディタで編集し,詳細な指定を行う

Denemo は,Denemo 形式(バイナリ) と MIDI 形式のファイルしか開くことができないので,Denemo → LilyPond は一方通行である。LilyPond 形式のファイルを編集しても,Denemo には反映されない。ここが残念。

さて,LilyPond でテンポ指定をする場合,楽譜上のテンポ表記と,MIDI ファイルのテンポ指定は別に行う必要があるので,注意が必要である。例えば次のように指定する。ファイル名としては sample.ly というように,拡張子を .ly として保存する。

  \version "2.10.33"
  melody = \relative c' {
    \tempo 4 = 120
    \clef treble
    \key c \major
    \time 4/4
    a4 b c d
  }
  \score {
    \new Staff \melody
    \layout { }
    \midi {
      \context {
        \Score
        tempoWholesPerMinute = #(ly:make-moment 120 4)
      }

    }
  }

楽譜上のテンポ指定は,\tempo で行う (Metronome marks - GNU LilyPond)。MIDI のテンポ指定は \midi の中で tempoWholesPerMinute を使って指定する。このとき,上記のように \Score も必要である (Creating MIDI files - GNU LilyPond)。\midi の中に \tempo を書くと,ログファイルには次のようなエラーメッセージが記録される (Windows 版の場合)。

C:/lilypond/sample.ly:12:5: error: syntax error, unexpected \tempo
    
     \tempo 4 = 120

テンポ指定をしない場合,非常にゆっくりしたテンポになる。

Posted by n at 2008-03-23 02:08 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?