2
我想通過隨機抖動音符播放的時間來爲一些音符模式添加一個非常簡單的「人性化」。此代碼重複播放和絃:如何在SuperCollider Patterns中爲筆記的時間添加一些隨機抖動?
p = Pbind(\legato, 0.1, \dur, 0.2, \midinote, [66, 69, 74]).play
但我想每個和絃的三個音符的隨機有確切時間一些獨立的「錯誤」。我做不是希望節奏有所不同。
我想通過隨機抖動音符播放的時間來爲一些音符模式添加一個非常簡單的「人性化」。此代碼重複播放和絃:如何在SuperCollider Patterns中爲筆記的時間添加一些隨機抖動?
p = Pbind(\legato, 0.1, \dur, 0.2, \midinote, [66, 69, 74]).play
但我想每個和絃的三個音符的隨機有確切時間一些獨立的「錯誤」。我做不是希望節奏有所不同。
您可以使用一個名爲\ timingOffset的密鑰 - 在section 8 of the pattern guide中描述。
這個簡單的例子是:
p = Pbind(\legato, 0.1, \dur, 0.4, \midinote, [66, 69, 74],
\timingOffset, Pwhite(-0.1, 0.1)
).play;
所以這是一個隨機+ -0.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;
確定這個工程 - ** **,但可以在Pwhite項目的數量自動導出,如果Notes的和絃數是變化的? –
在上面添加了一種方法 –