Случайные модификаторы
Эти методы добавляют случайное поведение к вашим Patterns.
choose
Случайно выбирает из заданного списка элементов.
- xs (any): значения / patterns для выбора.
note("c2 g2!2 d2 f1").s(choose("sine", "triangle", "bd:6"))wchoose
Случайно выбирает из заданного списка элементов, задавая вероятность каждому элементу
- pairs (any): массивы значения и веса
note("c2 g2!2 d2 f1").s(wchoose(["sine",10], ["triangle",1], ["bd:6",1]))chooseCycles
randcatВыбирает один из элементов случайным образом каждый cycle.
chooseCycles("bd", "hh", "sd").s().fast(8)s("bd | hh | sd").fast(8)wchooseCycles
wrandcatВыбирает один из элементов случайным образом каждый cycle, задавая вероятность каждому элементу
wchooseCycles(["bd",10], ["hh",1], ["sd",1]).s().fast(8)
wchooseCycles(["c c c",5], ["a a a",3], ["f f f",1]).fast(4).note()
// Вероятность сама может быть pattern wchooseCycles(["bd(3,8)","<5 0>"], ["hh hh hh",3]).fast(4).s()
degradeBy
Случайно удаляет события из pattern на заданную величину. 0 = 0% вероятность удаления 1 = 100% вероятность удаления
- amount (number): число от 0 до 1
s("hh*8").degradeBy(0.2)s("[hh?0.2]*8")//генератор beat
s("bd").segment(16).degradeBy(.5).ribbon(16,1)degrade
Случайно удаляет 50% событий из pattern. Сокращение для .degradeBy(0.5)
s("hh*8").degrade()s("[hh?]*8")undegradeBy
Обратное degradeBy: случайно удаляет события из pattern на заданную величину.
0 = 100% вероятность удаления
1 = 0% вероятность удаления
События, которые были бы удалены degradeBy, пропускаются undegradeBy и наоборот (см. второй пример).
- amount (number): число от 0 до 1
s("hh*8").undegradeBy(0.2)s("hh*10").layer(
x => x.degradeBy(0.2).pan(0),
x => x.undegradeBy(0.8).pan(1)
)undegrade
Обратное degrade: случайно удаляет 50% событий из pattern. Сокращение для .undegradeBy(0.5)
События, которые были бы удалены degrade, пропускаются undegrade и наоборот (см. второй пример).
s("hh*8").undegrade()s("hh*10").layer(
x => x.degrade().pan(0),
x => x.undegrade().pan(1)
)sometimesBy
Случайно применяет заданную функцию с заданной вероятностью.
Похоже на someCyclesBy
- probability (number|Pattern): число от 0 до 1
- function (function): преобразование для применения
s("hh*8").sometimesBy(.4, x=>x.speed("0.5"))sometimes
Применяет заданную функцию с вероятностью 50%
- function (function): преобразование для применения
s("hh*8").sometimes(x=>x.speed("0.5"))someCyclesBy
Случайно применяет заданную функцию с заданной вероятностью на основе cycle за cycle.
Похоже на sometimesBy
- probability (number|Pattern): число от 0 до 1
- function (function): преобразование для применения
s("bd,hh*8").someCyclesBy(.3, x=>x.speed("0.5"))someCycles
Сокращение для .someCyclesBy(0.5, fn)
s("bd,hh*8").someCycles(x=>x.speed("0.5"))often
Сокращение для .sometimesBy(0.75, fn)
s("hh*8").often(x=>x.speed("0.5"))rarely
Сокращение для .sometimesBy(0.25, fn)
s("hh*8").rarely(x=>x.speed("0.5"))almostNever
Сокращение для .sometimesBy(0.1, fn)
s("hh*8").almostNever(x=>x.speed("0.5"))almostAlways
Сокращение для .sometimesBy(0.9, fn)
s("hh*8").almostAlways(x=>x.speed("0.5"))never
Сокращение для .sometimesBy(0, fn) (никогда не вызывает fn)
s("hh*8").never(x=>x.speed("0.5"))always
Сокращение для .sometimesBy(1, fn) (всегда вызывает fn)
s("hh*8").always(x=>x.speed("0.5"))Далее: Условные модификаторы