3.5.8 MIDI エフェクトのためのコンテキスト プロパティ

以下のコンテキスト プロパティは、様々な MIDI エフェクトを、割り当てられた MIDI チャンネルの音符に適用するために使われます。 (チャンネルが譜、MIDI 楽器、ボイスのどの単位で割り当てられるかは、Score.midiChannelMapping コンテキスト プロパティと、Staff_performer がどのコンテキストに配置されるかに依存します。MIDI のチャンネル マッピング を参照してください)。

これらのコンテキスト プロパティを変更すると、チャンネルに属するその後の全ての音符に影響を与えます。しかし、この内のいくつかは、すでに音が鳴っている音符にも適用されるものがあります (これは、MIDI 出力デバイスの実装次第です)。

以下のコンテキスト プロパティがサポートされています:

Staff.midiPanPosition

パン ポジションは、MIDI チャンネルの音が左から右までのどこに定位するかを設定します。このコンテキスト プロパティは -1.0 (#LEFT) から 1.0 (#RIGHT) までの数値を受理します。-1.0 は全ての音がステレオの左側から鳴るようになります (右側からは音が鳴りません)。0.0 (#CENTER) は左側と右側に均等に音を振り割ります。1.0 は全ての音が右側から鳴るようになります。-1.0 と 1.0 の間の値は、完全な左側と、完全な右側の間にある定位となります。

Staff.midiBalance

MIDI チャンネルのステレオ バランスを設定します。パンと同様に、このコンテキスト プロパティは -1.0 (#LEFT) から 1.0 (#RIGHT) までの数値を受理します。ステレオ信号の分布状態を変化させずに、2 つのステレオ スピーカーに送られる音量の相対値を調節します。

Staff.midiExpression

MIDI チャンネルに適用するエクスプレッション レベルを (可能な最大レベルとの比として) 設定します。MIDI デバイスは MIDI チャンネルのエクスプレッション レベルと、ボイスの現在の強弱レベル (\p\ff などで設定されます) とを組み合わせて、ボイス中の各音符の最終的な音量を決定します。エクスプレッションは、例えば、1 つの長い音符の中でクレッシェンドやデクレッシェンドを表現するために使うことができます (LilyPond はこれを自動ではサポートしません)。

エクスプレッション レベルは 0.0 (ゼロ エクスプレッション、つまり音量ゼロ) から 1.0 (フル エクスプレッション) までです。

Staff.midiReverbLevel

MIDI チャンネルに適用するリバーブ レベルを (可能な最大レベルとの比として) 設定します。このプロパティは 0.0 (リバーブ無し) から 1.0 (フル エフェクト) までの数値を受理します。

Staff.midiChorusLevel

MIDI チャンネルに適用するコーラス レベルを (可能な最大レベルとの比として) 設定します。このプロパティは 0.0 (コーラス無し) から 1.0 (フル エフェクト) までの数値を受理します。

既知の問題と警告

MIDI ファイルは実際の音声データを含まないため、これらのコンテキスト プロパティの変化は、MIDI ファイル内においてはチャンネル コントロールを変化させるという要求に変換されるに過ぎません。ある MIDI デバイス (例えばソフトウェア MIDI プレイヤ) が、MIDI ファイル内にあるこれらの要求を実際に扱うかどうかは、そのデバイスの実装に完全に依存します。つまり、デバイスによっては、要求のいくつか、または全てを無視することがあるということです。また、MIDI デバイスがこれらのコントロールの値の違いをどのように解釈するか (MIDI の標準規格は、コントロールが最小値や最大値を取る時にどのように振る舞うかを標準化しているのみです)、あるいはコントロールの値の変化が、その MIDI チャンネルで既に演奏されている音符に対して影響を与えるかも、MIDI デバイスの実装次第です。

MIDI ファイルを生成する際、LilyPond は範囲内にある割合の数値を、対応する整数へと (通常 7 ビット: 0-127、MIDI チャンネル コントロールがより細かな分解能をサポートする場合は 14 ビット: 0-32767) 線形に変換します。その際、小数は四捨五入されます。変換された整数値が、生成された MIDI ファイルにそのまま記録されます。手持ちの MIDI デバイスがこれらの値をどのように扱うかについては、デバイスのドキュメントを参照してください。


LilyPond 記譜法リファレンス v2.25.22 (development-branch).