Nesta secção iremos ver um par de efeitos: rever e eco. Veremos como os usar, como controlar as suas opts e como os podemos encadear.
O sistema de efeitos do Sonic Pi usa blocos. Se ainda não leste a secção 5.1 podes dar uma pequena mirada e depois regressar.
Se queremos usar reverb escrevemos with_fx :reverb
como o código especial do nosso bloco desta forma:
with_fx :reverb do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Agora toca este código e ouviras a tocar com reverb. Soa bem, não soa! Tudo soa bem com reverb.
Agora vamos ver o que acontece se tivermos código fora do bloco do/end:
with_fx :reverb do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
sleep 1
play 55
Repara que a nota final play 55
não é tocada com reverb. Isto é porque está fora do bloco do/end, não sendo capturada pelo efeito reverb.
Similarmente, se fizeres sons antes do bloco do/end, também não serão capturados:
play 55
sleep 1
with_fx :reverb do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
sleep 1
play 55
Existem muitos efeitos para escolher. Que tal algum eco?
with_fx :echo do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Um dos aspectos poderosos dos blocos de efeitos do Sonic Pi é que podem ser passadas opts similares às opts que já vimos com play
e sample
. Por exemplo uma opt divertida de se brincar é a phase:
que representa a duração de um determinado eco em beats. Vamos tornar o eco mais lento:
with_fx :echo, phase: 0.5 do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Vamos também ver o eco mais rápido:
with_fx :echo, phase: 0.125 do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Vamos tornar o eco mais longo até desaparecer colocando o tempo de decay:
para 8 beats:
with_fx :echo, phase: 0.5, decay: 8 do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Um dos mais poderosos aspectos dos blocos de efeitos é que podem ser aninhados. Isto permite facilmente encadear efeitos. Por exemplo, se quisermos tocar algum código com eco e a seguido de reverb? Fácil, basta colocar um dentro de outro:
with_fx :reverb do
with_fx :echo, phase: 0.5, decay: 8 do
play 50
sleep 0.5
sample :elec_blup
sleep 0.5
play 62
end
end
Pensa no audio fluindo de dentro para fora. O som do código dentro no bloco do/end interior como o play 50
é primeiro enviado para o efeito de eco e o som do efeito de eco é então enviado para o efeito de reverb.
Podemos usar aninhamentos muito profundos para resultados estranhos. No entanto, um aviso, os efeitos podem usar muitos recursos, e quando os aninhas efectivamente estas a usar múltiplos efeitos simultaneamente. Limita o uso de efeitos especialmente em plataformas com pouco poder como o Raspberry Pi.
O Sonic Pi vem com um grande número de feitos para brincares com eles. Para descobrires quais estão disponíveis, clica no botão FX no lado esquerdo deste sistema de ajuda e verás uma listagem das opções disponíveis. Aqui vai uma lista dos meus favoritos:
Agora fica maluco e adiciona efeitos em todo lado para incríveis novos sons!