# Adicionando efeitos

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.

## Reverb

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

## Eco

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

## Aninhando efeitos

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.

## Descobrindo efeitos

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:

- Ondular,
- reverb,
- eco,
- distorção,
- fatiador

Agora fica maluco e adiciona efeitos em todo lado para incríveis novos sons!