ノートの再生時間をランダムに揺らして、いくつかのノート パターンに非常に単純な「ヒューマニゼーション」を追加したいと思います。このコードはコードを繰り返し演奏します。
p = Pbind(\legato, 0.1, \dur, 0.2, \midinote, [66, 69, 74]).play
しかし、和音の 3 つの音符のそれぞれが、正確なタイミングでランダムに独立した「誤差」を持つようにしたいと考えています。テンポを変えたくない。
ノートの再生時間をランダムに揺らして、いくつかのノート パターンに非常に単純な「ヒューマニゼーション」を追加したいと思います。このコードはコードを繰り返し演奏します。
p = Pbind(\legato, 0.1, \dur, 0.2, \midinote, [66, 69, 74]).play
しかし、和音の 3 つの音符のそれぞれが、正確なタイミングでランダムに独立した「誤差」を持つようにしたいと考えています。テンポを変えたくない。
パターン ガイドのセクション 8 で説明されている \timingOffset というキーを使用できます。
簡単な例は次のとおりです。
p = Pbind(\legato, 0.1, \dur, 0.4, \midinote, [66, 69, 74],
\timingOffset, Pwhite(-0.1, 0.1)
).play;
これは +-0.1 ビートのランダムなオフセットです。残念ながら、コード全体に 1 つの偏差が適用されますが、これは望ましくありません。したがって、配列を Pwhite にフィードする必要があります。
p = Pbind(\legato, 0.1, \dur, 0.4, \midinote, [66, 69, 74],
\timingOffset, Pwhite([-0.1, -0.1, -0.1], [0.1, 0.1, 0.1])
).play;
そしてもちろん、これらの配列を何らかの値から派生させることができます:
~jitter = 0.1;
p = Pbind(\legato, 0.1, \dur, 0.4, \midinote, [66, 69, 74],
\timingOffset, Pwhite({0-~jitter}.dup(3), {~jitter}.dup(3))
).play;
「midinote」の配列サイズが可変の場合に、適切な数の値を作成するわずかに異なるアプローチを次に示します。
~jitter = 0.1;
p = Pbind(\legato, 0.1, \dur, 0.4, \midinote, [66, 69, 74],
\timingOffset, Pcollect({|val| {~jitter.bilinrand}.dup(val.size)}, Pkey(\midinote))
).play;