gpt4 book ai didi

scheduling - 如何在 SuperCollider Patterns 中为音符的时间添加一些随机抖动?

转载 作者:行者123 更新时间:2023-12-04 05:18:59 28 4
gpt4 key购买 nike

我想通过随机抖动音符播放的时间,为一些音符模式添加一个非常简单的“人性化”。此代码反复演奏和弦:

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;

关于scheduling - 如何在 SuperCollider Patterns 中为音符的时间添加一些随机抖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13892512/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com