[ << 入出力全般 ] | [Top][Contents][Index] | [ スペースの問題 >> ] |
[ < 奏法スクリプト ] | [ Up : 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
を用いて提供される必要があるのはこのためです。 - 装飾音符は無視され、単純に影響を与えないように取り除かれます; 連符もそうです。