[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < MIDI エフェクトのためのコンテキスト プロパティ ] | [ 上へ : MIDI 出力を作り出す ] | [ 奏法スクリプト > ] |
3.5.9 MIDI 出力をより良くする
奏法スクリプト | ||
スウィング スクリプト |
MIDI の楽器や、\midi
ブロックのプロパティを設定することでより良くすることができます。
追加されたスクリプトで、強弱、アーティキュレーション、リズムを MIDI に書き出す方法を微調整することができます: ‘articulate’ スクリプトと ‘swing’ スクリプトです。
[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < MIDI 出力をより良くする ] | [ 上へ : MIDI 出力をより良くする ] | [ スウィング スクリプト > ] |
奏法スクリプト
奏法スクリプトを使うには、入力ファイルの最初にこのような
\include
コマンドを追加します:
\include "articulate.ly"
このスクリプトは、アーティキュレーションやテンポ表示を反映させるために、MIDI 出力の音符を正しく‘タイム スケール’します。しかし、譜刻された出力も MIDI 出力の結果と対応して変化してしまいます。
\score { \articulate << … music … >> \midi { } }
\articulate
コマンドは、省略記号 (トリルやターンなど) を解釈できます。対応している記号の一覧は、スクリプト内に記載してあります。‘ly/articulate.ly’ を参照してください。
参照
学習マニュアル: その他の情報源
記譜法リファレンス: 楽譜レイアウト
インストールされているファイル: ‘ly/articulate.ly’
Note: 奏法スクリプトは和音の長さを短くすることがあります。これはオルガン音楽などには適さないかもしれません。また、アーティキュレーションが全く付いていない音符も長さが短くなります。\articulate
関数を使う場所を一部分に限定するか、奏法スクリプトに定義された変数を書き換えることによって、長さが短くなる挙動を抑えることができます。
[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < 奏法スクリプト ] | [ 上へ : MIDI 出力をより良くする ] | [ 音楽情報を抽出する > ] |
スウィング スクリプト
‘swing’ スクリプトは通常の演奏時間を均等でないリズムで演奏させることを可能にする追加の関数を提供します。最もわかりやすい例は、2 つの 8 分音符を 3 のリズムで演奏する、ジャズ音楽によく見られる‘スウィング’演奏ですが、追加の演奏方法もサポートされます。
このスクリプトは入力ファイルの先頭で \include
されなければなりません:
\include "swing.ly"
3 つのコマンドが提供されます:
-
\tripletFeel
は 3 連符風のスウィングを作成します。これは 2 つの引数を取ります: このスクリプトによって影響を受ける音符の長さ (概して、8 分音符を表す8
となります)、そして、このスクリプトを適用する音楽表記です。 -
\applySwing
は音楽表記の前に追加の引数を取ります: 通常の音符がどのように演奏されるかを表現する n 個の比の‘重みのリスト’: 例えば、#'(2 1)
は 1 つ置きの音符が後続の音符の 2 倍の長さで演奏されることを示します (実際、\tripletFeel duration {music}
は\applySwing duration #'(2 1) {music}
のショートカットです) 。8 分音符をより平坦にスウィングするには、重みのリストを#'(3 2)
あるいはテイストに応じてその他の値を使います。このリストは 2 つ以上の値を含み、より長く、より複雑なグルーヴパターンを許可します。例えば、16 分音符のサンバ感は以下のようにして得られます:
\score { \applySwing 16 #'(3 2 2 3) { … music … } \midi { } }
-
\applySwingWithOffset
は‘重みのリスト’と音楽表記の間にさらにもう 1 つの引数を足します: オフセットの長さ (ly:make-moment
表記のように入力します)。このコマンドは音楽表記をオフビートからスタートするときに、部分的なスウィング周期で使われるべきです。
Note: ‘articulate’ スクリプトで用いる場合は、すべてのスウィング コマンドは譜の出力にも表示され、音符のスペーシングが不規則になります。これは、音楽を譜刻する代わりに MIDI 出力だけに専念する \score
ブロックのみに用いることで避けることができます。
追加のヘルプや情報はスクリプトファイルにあります: ‘ly/swing.ly’ を参照してください。
参照
学習マニュアル: Other sources of information
記譜法リファレンス: リズム
インストールされているファイル: ‘ly/swing.ly’
既知の問題と警告
-
音楽の中の
\repeat
構造 (\repeat unfold
であっても) は、いつ音符のタイミングが決定されるかを考慮しません。これはすべての繰り返される部分の長さがスウィング周期の長さの整数倍でない場合に問題を起こします。 -
これらの関数は拍子や小節を意識しません。音楽がオフビートからスタートする場合に、オフセットが
\applySwingWithOffset
を用いて提供される必要があるのはこのためです。 - 装飾音符は無視され、単純に影響を与えないように取り除かれます; 連符もそうです。
[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < 奏法スクリプト ] | [ 上へ : MIDI 出力をより良くする ] | [ 音楽情報を抽出する > ] |