2

ノートの再生時間をランダムに揺らして、いくつかのノート パターンに非常に単純な「ヒューマニゼーション」を追加したいと思います。このコードはコードを繰り返し演奏します。

p = Pbind(\legato, 0.1, \dur, 0.2, \midinote, [66, 69, 74]).play

しかし、和音の 3 つの音符のそれぞれが、正確なタイミングでランダムに独立した「誤差」を持つようにしたいと考えています。テンポを変えたくない

4

1 に答える 1

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;
于 2012-12-15T13:15:29.367 に答える