Як це працює
Як тут влаштовано
Нагорі липка пісочниця. Вона справді грає Strudel тут, у браузері. Біля кожного прикладу є кнопка ▶ сюди: вона підставляє код і одразу грає. Спершу слухаєш тут, потім повторюєш руками в mandflok і ставиш галочку.
Звук стартує лише після кліку, браузери інакше не дозволяють. Сітка під кодом підсвічує кроки першого s("…") і показує ритм приблизно.
Перший звук
Відкрий сесію зі Strudel
Тисни flok.mandrock.me/#targets=strudel. Створиться нова сесія з випадковою назвою, і в ній буде панель Strudel.
Якщо відкрив уже існуючу сесію, mandflok не перезапише чужий код. Тоді просто зайди за лінком ще раз.
Один рядок + Ctrl+Enter
s("bd sd")У mandflok: курсор у блок, Ctrl+Enter (на Mac Cmd+Enter). Зупинити все: Ctrl+.
Mini-notation: ритм у лапках
Чотири знаки, які роблять ритм
s("bd ~ sd ~")s("[bd bd] sd")s("bd*2 sd")[bd bd], тільки коротше.s("<bd sd> hh")Спробуй усі чотири в mandflok. Перемикатись можна просто: міняєш лапки й тиснеш Ctrl+Enter знову.
Швидше, повільніше, тихіше
Крапка після патерну — це регулятор
s("bd sd hh hh").fast(2)s("bd sd hh hh").slow(2)s("bd sd hh hh").gain(.4)Ноти й фільтр
note() + синт
note("c3 e3 g3").s("sawtooth")note("c3 e3 g3").s("sawtooth").lpf(600)Що тут сталось
Ти перейшов від барабанів до висоти тону. note каже що грати, .s каже чим. Це той самий ланцюжок з кроку 3, тільки тепер з мелодією.
Фолбек-пісочниця (якщо Strudel не завантажився) вміє тільки барабани. Ноти слухай у mandflok.
stack: усе разом
Два патерни грають одночасно
stack(
s("bd ~ sd ~"),
note("c2 ~ g1 ~").s("sawtooth").lpf(400)
)Варіації: щоб не набридло
note("c3 e3 g3 b3").s("sawtooth").lpf(800).rev()s("hh*8").sometimes(x => x.gain(.2))s("bd sd bd sd").every(4, x => x.fast(2))Чому це працює
Функція бере патерн і віддає змінений патерн. Ти так пишеш middleware кожен тиждень. Тут те саме, тільки на виході звук, а не HTTP-відповідь.
Мікро-трек
Усе вивчене в одному блоці
stack(
s("bd*2 [~ bd] sd ~"),
s("hh*8").gain(.4).sometimes(x => x.gain(.15)),
note("<c2 c2 eb2 g1>").s("sawtooth").lpf(500),
note("c4 eb4 g4 bb4").s("square").slow(2).rev().gain(.2)
)Лист у кінці
Відкривається, коли всі галочки стоять.
Ти почав з одного рядка, s("bd sd"), і почув результат через кілька секунд. Потім ти додавав по одному шару: тишу, групи, чергування, швидкість, гучність, ноти, фільтр, stack, варіації. Жоден крок не вимагав таланту. Кожен вимагав одного рішення: спробувати ще раз.
За цю сесію ти натиснув Play кілька разів і пройшов усі галочки. Мікро-трек у тебе в mandflok ти змінив під себе, тобто він уже не з уроку. Так виглядає людина, яка вміє вчитися: менша задача, швидкий відгук, ще один крок.
Те, що колись «не виходило», було сходинкою дев'ятого рівня без перших восьми. Сьогодні ти пройшов першу, і грає вона твоїми руками.
Видихни. Залиш трек грати, або вимкни його через Ctrl+. і просто посидь. На сьогодні досить.
— Claude, з https://learn.mandrock.me/
Далі
Strudel як ручка · урок 02
Якщо Strudel відчувався як редагування партитури, у другому уроці сідаємо за нього як за Hydra: один звук, сигнали sine/saw/perlin, і кожну правку чути одразу.
Шпаргалка
Усі функції Strudel з цього уроку — на одній сторінці: mini-notation, ноти й форма, ефекти, готові патчі. Приклади копіюються кліком.