# Adaugarea de efecte

In aceasta sectiune vom discuta despre doua efecte: reverb si echo. Vom vedea cum le putem folosi, cum sa le controlam parametrii si cum sa le inlantuim.

Sonic Pi foloseste blocuri pentru efecte. Deci, daca nu ai citit sectinea 5.1, ar fi bine sa arunci o privire asupra ei si apoi sa revii.

## Reverb (reverberatie)

Daca vrem sa folosim efectul reverb adaugam codul special ‘with_fx :reverb’ la inceputul blocului:

    with_fx :reverb do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end

Acum executa acest cod si vei auzi cum este redat cu efectul reverb. Suna bine, nu? Aproape orice suna bine cu reverb.

Acum sa vedem ce se intampla daca avem cod in afara blocului do/end:

    with_fx :reverb do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end
    sleep 1
    play 55

Observi ca la sfarsit ‘play 55’ este redat fara reverb. Asta se intmpla deoarece este in afara blocului do/end, deci nu este influentat de efectul reverb.

La fel, daca ai sunete generate inainte de blocul do/end, nici ele nu sunt influentate:

    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

## Echo (ecou)

Exista multe efecte pe care le poti aplica. Ce-ar fi sa incercam putin ecou?

    with_fx :echo do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end

Una dintre caracteristicile importante ale efectelor din Sonic Pi este ca permit specificarea de parametri asemanatori cu cei pentru ‘play’ sau ‘sample’. De exemplu, un parametru interesant pentru echo este ‘phase:’ care reprezinta durata ecoului in batai. Sa facem ecoul mai lent:

    with_fx :echo, phase: 0.5 do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end

Acum sa facem ecoul mai rapid:

    with_fx :echo, phase: 0.125 do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end

Sa facem acum ca ecoul sa se atenueze mai lent adaugand parametrul ‘decay:’ cu durata de 8 batai:

    with_fx :echo, phase: 0.5, decay: 8 do
      play 50
      sleep 0.5
      sample :elec_plip
      sleep 0.5
      play 62
    end

## Efecte in efecte

Un aspect important legat de blocurile de efecte este poti fi continute unele in altele. Asta inseamna ca efectele pot fi inlantuite cu usurinta. De exemplu, daca vrei sa redai o parte din cod cu echo apoi cu reverb, poti face asta foarte simplu, punandu-le unul in interiorul celuilalt:

    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

Imagineaza-ti fluxul audio dinspre interior spre exterior. Sunetul din toata bucata de cod din blocul do/end din interior, cum ar fi ‘play 50’, este trimis mai intai catre efectul echo, iar sunetul efectului echo este apoi trimis catre efectul reverb.

Putem folosi inlantuirea pe mai multe niveluri pentru rezultate cat mai surprinzatoare. Dar, ai grija, efectele consuma multe resurse, iar atunci cand le inlantuiesti de fapt se executa mai multe efecte in acelasi timp. Deci, fii grijuliu cu folosirea efectelor mai ales pe platforme hardware mai putin puternice, cum ar fi Raspberry Pi.

## Explorarea efectelor

Sonic Pi vine cu un mare numar de efecte cu care te poti juca. Pentru a vedea care sunt cele disponibile, fa click pe Efecte in marginea din stanga a sistemului de ajutor si vei vedea lista de optiuni. Iata o lista cu preferatele mele:

- wobble,
- reverb,
- echo,
- distortion,
- slicer

Acum te poti dezlantui adaugand efecte peste tot, pentru sunete incredibile!