Настройки плавного изменения состояния

Вы могли заметить, что есть множество настроек, имя которых оканчивается на _slide, пока занимались изучением синтов и специальных эффектов. Возможно, вы даже пытались ими воспользоваться и заметили, что ничего не происходит. Это от того, что они не являются обычными параметрами. Эти настройки особенные потому, что они работают только тогда, когда вы контролируете синт так, как мы видели в предыдущем разделе.

Рассмотрим пример:

s = play 60, release: 5
sleep 0.5
control s, note: 65
sleep 0.5
control s, note: 67
sleep 3
control s, note: 72

Вы можете слышать, как высота звука синта сразу же меняется, как только происходит вызов control. Однако, что если мы захотим, чтобы параметр менялся плавно. Поскольку мы управляем значением note:, то для добавления плавности надо задать параметр синтезатора note_slide:

s = play 60, release: 5, note_slide: 1
sleep 0.5
control s, note: 65
sleep 0.5
control s, note: 67
sleep 3
control s, note: 72

Теперь мы слышим, как ноты подтягиваются в промежутках между вызовами control. Звучит неплохо, не так ли? Можно ускорить скольжение звука, если указать более короткий интервал времени, например note_slide: 0.2, или замедлить его, установив большее значение.

Для каждой настройки, которой можно управлять, есть соответствующий _slide параметр, с которым можно поиграть.

Скольжение сохраняется

Если вы задали значение _slide для играющего синтезатора, то оно запомнится и будет использоваться всякий раз, когда соответствующая настройка меняется. Чтобы прекратить плавное изменение звука, надо установить значение _slide в 0 перед следующим вызовом control.

Плавное изменение эффектов

Можно делать плавное изменение эффектов:

with_fx :wobble, phase: 1, phase_slide: 5 do |e|
  use_synth :dsaw
  play 50, release: 5
  control e, phase: 0.025
end

Пришла пора добавить немного плавности к вашей музыке…