Живые циклы

Окей, этот раздел учебника - настоящая жемчужина. Если вы решите прочесть только один раздел, это должен быть именно этот раздел. Если вы прочли предыдущий раздел - основы лайвкодинга, live_loop - это простой способ сделать всё то же самое, но без необходимости писать так много кода.

Если вы не читали предыдущий раздел, live_loop - это лучший способ поджемовать с Sonic Pi.

Давайте поиграем. Наберите следующее в новом буфере:

live_loop :foo do
  play 60
  sleep 1
end

Теперь нажмите кнопку “Выполнить”. Вы услышите базовый звуковой сигнал на каждую долю такта. Здесь нет ничего весёлого. Однако, пока не нажимайте “Остановить”. Измените 60 на 65 и нажмите “Выполнить” снова.

Ого! Тон изменился автоматически без пропуска доли. Это и есть лайвкодинг.

Почему бы не изменить звук так, чтобы он больше походил на бас? Просто обновите свой код пока тот играет:

live_loop :foo do
  use_synth :prophet
  play :e1, release: 8
  sleep 8
end

Затем нажмите “Выполнить”.

Давайте добавим изменяющуюся частоту среза:

live_loop :foo do
  use_synth :prophet
  play :e1, release: 8, cutoff: rrand(70, 130)
  sleep 8
end

Нажмите “Выполнить” снова.

Добавьте какие-нибудь барабаны:

live_loop :foo do
  sample :loop_garzul
  use_synth :prophet
  play :e1, release: 8, cutoff: rrand(70, 130)
  sleep 8
end

Измените ноту с e1 на c1:

live_loop :foo do
  sample :loop_garzul
  use_synth :prophet
  play :c1, release: 8, cutoff: rrand(70, 130)
  sleep 8
end

Теперь хватит слушать меня и начните играь сами! Веселись!