MIDI でフェルマータをシミュレートする

譜外部オブジェクトを出力から削除しようとする場合、そのオブジェクトの transparent プロパティではなく stencil プロパティをオーバライドする方が通常は望ましいです。あるオブジェクトの stencil プロパティを #f にセットすると、そのオブジェクトは出力から完全に削除されます。このことは、削除されたオブジェクトがそのオブジェクトとの相対位置で配置される他のオブジェクトの配置にまったく影響を及ぼさないということを意味します。

例えば、MIDI 出力でフェルマータをシミュレートするためにメトロノーム設定を変更したいとします。その場合、メトロノーム記号を出力に表示させたくありません。そして、それが 2 つのシステム (小節とその中にある表記) 間のスペースと、譜上にある隣接する注釈の位置に影響を与えることを望みません。そのため、そのメトロノーム記号の stencil プロパティを #f にセットする方法が最良です。ここで、2 つの手法の結果を示します:

\score {
  \relative {
    % Visible tempo marking
    \tempo 4=120
    a'4 a a
    \once \hide Score.MetronomeMark
    % Invisible tempo marking to lengthen fermata in MIDI
    \tempo 4=80
    a4\fermata |
    % New tempo for next section
    \tempo 4=100
    a4 a a a |
  }
  \layout { }
  \midi { }
}

[image of music]

\score {
  \relative {
    % Visible tempo marking
    \tempo 4=120
    a'4 a a
    \once \omit Score.MetronomeMark
    % Invisible tempo marking to lengthen fermata in MIDI
    \tempo 4=80
    a4\fermata |
    % New tempo for next section
    \tempo 4=100
    a4 a a a |
  }
  \layout { }
  \midi { }
}

[image of music]

両方の手段とも、フェルマータ部分の演奏時間を伸ばすメトロノーム記号を出力から削除していて、両方とも MIDI の演奏に必要な効果を与えています。しかし、1 番目の例の透明なメトロノーム記号がそれに続く拍子指示を上に押し上げているのに対して、2 番目のメトロノーム記号 (ステンシルが削除されたもの) は押し上げていません。

参照

音楽用語集: system


GNU LilyPond 学習マニュアル v2.25.22 (development-branch).