Até agora apenas nos preocupamos em despoletar novos sons e efeitos. No entanto, o Sonic Pi dá-nos a habilidade de manipular e controlar sons em execução. Fazemos isso usando uma variável para capturar a referencia a um synth:
s = play 60, release: 5
Aqui temos uma variável de execução local s
que representa o synth a tocar a nota 60. Nota que é run-local - não poderás aceder a ela a partir de outras corridas como as funções.
Depois de termos s
, podemos começar a controlar-la via a função control
:
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
A coisa a reparar é que não estamos a despoletar 4 synths diferentes - estamos apenas a despoletar um synth e posteriormente mudamos o pitch 3 vezes, enquanto é tocado.
Podemos passar qualquer das opções padrão ao control
, assim podes controlar coisas como amp:
, cutoff:
ou pan:
.
Algumas das opções não podem ser controladas depois do synth ter começado. Este é o caso para todos os parâmetros dos envelopes ADSR. Podes descobrir que opções podem ser controlados vendo a documentação no sistema de ajuda. Se na documentação diz Can not be changed once set, saberás que não é possível controlar as opções depois do synth ter sido iniciado.