осцилляторы
осцилляторы представляют собой непрерывно меняющиеся паттерны. если не указано иное, осцилляторы дают минимальное значение 0 и максимальное значение 1, повторяясь один раз за цикл.
что такое осциллятор?
осцилляторы - непрерывные паттерны, то есть не имеющие никакой структуры, и должны использоваться с паттерном, который её имеет. Например, d1 $ sound "bd*8" >| pan sine не будет работать корректно, потому что оператор >| указывает Tidal брать структуру справа, а у sine её нет, поэтому Tidal будет просто запускать события с фиксированной частотой (в зависимости от вашей конфигурации, это может быть очень быстро). d1 $ sound "bd*8" |> pan sine лучше, потому что |> берёт структуру слева, поэтому будут звучать восемь бас-бочек, значения панорамирования которых будут сэмплироваться из синусоиды для каждого из восьми событий. если паттерн имеет тип Fractional a => Pattern a, это означает, что они могут использоваться как в виде чисел с плавающей запятой, так и в виде (рациональных) значений времени.
использование осцилляторов
sine
sine - это синусоидальная волна. воспроизведя этот пример, вы должны услышать, как звук медленно перемещается из левого динамика в правый:
сosine
cosine - это sine, сдвинутый во времени на четверть периода. она звучит примерно так же, как sine, показанный выше:
square
square начинается с 0 и доходящая до 1 в середине цикла
tri
tri, начинающаяся с 0, затем линейно поднимающаяся до 1 в середине цикла, а затем снова опускающаяся:
smooth
функция smooth получает набор чисел и линейно переходит от одного к другому, проходя через все из них. поскольку время циклично, после достижения последнего числа в наборе оно плавно возвращается к первому.
обратите внимание, как звук постепенно перемещается слева направо, затем к центру, затем снова направо и, в итоге, возвращается налево.
непериодические осцилляторы
rand
бесконечно подробный поток (псевдо) случайных чисел.
irand
функция преобразования целого числа (выдающая максимум) в поток (псевдо) случайных целых чисел. Подробнее см. на странице справки rand:
масштабирующие осцилляторы
по умолчанию осцилляторы выдают значения в диапазоне от 0 до 1. вы можете использовать большие или меньшие значения. например, можно модулировать частоту фильтра или выбрать случайную MIDI-ноту в диапазоне от 0 до 127. для этого можно использовать функцию range:
ускорение/замедление осцилляторов
осцилляторы — это паттерны. это значит, что вы можете ускорять или замедлять их, используя те же функции, что и обычно (fast, slow и т. д.):