Schema industriale Dattorro

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Dattorro block diagram

Lo schema industriale Dattorro è un sistema digitale per l'implementazione di un'ampia gamma di effetti audio basati sul ritardo dei segnali digitali proposto da Jon Dattorro[1]. La natura comune di questi effetti consente di produrre il segnale di uscita come Combinazione lineare di repliche ritardate (modulate dinamicamente) del segnale di ingresso. Lo schema proposto consente di implementare tali effetti in forma compatta, utilizzando solo un insieme di tre parametri per controllare il tipo di effetto. Questo sistema si basa su linee di ritardo digitali e, per garantire una risoluzione adeguata nel dominio del tempo, deve sfruttare linee di ritardo frazionali per evitare discontinuità[2]. Gli effetti che questo schema è in grado di produrre sono: eco, chorus, vibrato, flanger, doubling, white chorus. Questi effetti sono caratterizzati da un ritardo nominale, una funzione modulante del ritardo e la profondità della modulazione[3].

Interpolazione delle linee di ritardo[modifica | modifica wikitesto]

Si consideri un segnale a tempo continuo . La versione ritardata di tale segnale è . Passando al dominio del tempo discreto, ossia campionando il segnale con frequenza di campionamento a , si ottiene . La linea di ritardo è descritta dalla Trasformata zeta del segnale a tempo discreto:

che, riportata nel dominio del tempo con la trasformata Z inversa, corrisponde a , dove è la delta di Dirac. Si noti che la prima equazione vale per , ma per l'implementazione è necessario un ritardo frazionario, ovvero . In questo caso, è necessaria un'interpolazione per ricostruire il valore del segnale che si trova tra due campioni[4]. Si può ricorrere alla tecnica di interpolazione preferita, ad esempio l'interpolazione di Lagrange[5], o l'interpolazione a filtro passa tutto[6].

Linear interpolator block diagram
All-pass interpolator block diagram

Schema a blocchi[modifica | modifica wikitesto]

L'uscita del blocco di ritardo è segnata sopra e sotto, poiché raramente viene presa dall'ultimo campione della linea di ritardo, ma cambia dinamicamente. Considerando la struttura end-to-end, possiamo scrivere il filtro come

 

 

 

 

([1])

L'impostazione dei coefficienti in base all'effetto desiderato comporta una modifica della topologia del filtro. Impostando la retroazione a 0, ad esempio, si ottiene un filtro FIR, mentre se i coefficienti sono impostati allo stesso modo si approssima un filtro passa-tutto[1].

Guitar string sound
Echo
Vibrato
Flanger
Doubling
Chorus effect
White chorus

Effetti[modifica | modifica wikitesto]

Tutti gli effetti possono essere ottenuti modificando i parametri del sistema Dattorro e impostando le gamme di ritardo secondo la tabella seguente. I valori di ritardo sono espressi in millisecondi[1].

Effect Onset Nominal Range End
Vibrato 0 Minimal 5
Flange 0 1 10
Chorus 1 5 30
Doubling 10 20 100
Echo 50 80

Vibrato[modifica | modifica wikitesto]

Il vibrato è un piccolo cambiamento quasi periodico del pitch di un tono. È più una tecnica che un effetto in sé, ma può essere aggiunto a qualsiasi segnale audio[7]. Il ritardo è modulato con una funzione sinusoidale a bassa frequenza e non viene considerato alcun mix del percorso diretto del segnale.

Chorus[modifica | modifica wikitesto]

Il chorus è un effetto che cerca di emulare più voci indipendenti che suonano all'unisono. Questo effetto è realizzato come combinazione lineare del segnale in ingresso (segnale dry) e di una versione dinamicamente ritardata del segnale in ingresso (segnale wet)[8].

Flanging[modifica | modifica wikitesto]

L'effetto flanging è nato con le macchine a nastro. Questo effetto è stato creato mescolando due macchine a nastro impostate per riprodurre la stessa traccia, ma una di esse viene rallentata. Questo produce un abbassamento del tono e un ritardo della traccia lenta. Il processo viene poi ripetuto con l'altra traccia che riassorbe il ritardo accumulato[9]. Questo effetto è molto simile al chorus, ma la differenza principale è dovuta all'intervallo di ritardo. Il chorus ha solitamente un ritardo più lungo, una profondità maggiore e una frequenza di modulazione più bassa[7].

Coro bianco[modifica | modifica wikitesto]

Il white chorus è una modifica all'effetto chorus standard che mira a ridurre le abbreviazioni introdotte dal percorso in avanti. La modifica consiste nell'aggiunta di un percorso di retroazione negativa con un punto di tap diverso e fisso, in modo da ottenere un'approssimazione di una configurazione all-pass[1].

Doubling[modifica | modifica wikitesto]

Quando il sistema viene utilizzato senza feedback si ottiene l'effetto doubling. Questo effetto è analogo a quello del diffusore Leslie, un particolare tipo di diffusore costituito da una camera rotante davanti all'altoparlante dei bassi e da coni rotanti sopra gli altoparlanti delle alte frequenze. [10].

Impostazione dei parametri[modifica | modifica wikitesto]

Effect Blend Feedforward Feedback
Vibrato 0.0 1.0 0.0
Flange 0.7071 0.7071 0.7071
White chorus 0.7071 1.0 0.7071
Chorus 1.0 0.7071 0.0
Doubling 0.7071 0.7071 0.0
Echo 1.0 1.0 <1.0

Pseudocode[modifica | modifica wikitesto]

Il filtro può essere implementato in software o in hardware. Di seguito è riportato lo pseudocodice di un sistema Dattorro software.

function dattorro is
    input: x,                                   # input signal
           Fs,                                  # sampling frequency
           depth,                               # modulation depth
           freq,                                # LFO frequency
           b,                                   # blend knob
           ff,                                  # feedforward knob
           fb,                                  # feedback knob
           mod                                  # modulation type
    output: y                                   # signal with FX applied

    depth_samples = depth·Fs                    # compute delay in samples
    if mod is sinusoid                          # compute delay sequence
        delay_seq = depth_samples*(1 + sin(2··freq*t))
    else mod is noise
        lowpass_noise = noise_gen()             # generate white noise and low-pass filter it
        delay_seq = depth_samples + depth_samples·lowpass_noise
    for each n of the N samples

        d_int = floor(delay_seq(n))             # integer delay
        d_frac = delay_seq(n) - d_int           # fractional delay
        h0 = (d_frac - 1)·(d_frac - 2)/2        # first FIR filter coefficient
        h1 = d_frac·(2 - d_frac)                # second FIR filter coefficient
        h2 = d_frac/2·(d_frac - 1)              # third FIR filter coefficient
        x_d = delay_line(d_int + 1)·h0 + delay_line(d_int + 2)·h1 + delay_line(d_int + 3)·h2  # delay input
        f_b = fb·x_d                            # delayed input feedback
        delay_line(2:L) = delay_line(1:L-1)     # delay line update
        delay_line(1) = x(i) - fb_comp
        f_f = ff·x_d                            # feedforward component
        blend_comp = b·delay_line(1)            # blend component

        y(n) = ff_comp + blend_comp             # compute output sample
    return y

Note[modifica | modifica wikitesto]

  1. ^ a b c d Jon Dattorro, Effect Design - Part 2: Delay-Line Modulation and Chorus, in JAES volume 45, 1997.
  2. ^ Julius O. Smith e Nelson Lee, Computational Acoustic Modeling with Digital Delay, su Center for Computer Research in Music and Acoustics, 5 giugno 2008. URL consultato il 21 agosto 2007.
  3. ^ Udo Zolzer, DAFX: Digital Audio Effects (PDF), John Wiley and Sons, 2011.
  4. ^ Laakso, Valimaki e Karjalainen, Splitting the unit delay [FIR/all pass filters design], in IEEE Signal Processing Magazine, 1996, DOI:10.1109/79.482137.
  5. ^ Davide Rocchesso, Linee di ritardo indirizzate frazionatamente, DOI:10.1109/89.876310.
  6. ^ H. Hacthabiboglu, B. Gunel e A.M. Kondoz, Interpolated Allpass Fractional-Delay Filters Using Root Displacement, vol. 3, IEEE, 2006, pp. III-864-III-867, DOI:10.1109/ICASSP.2006.1660791, ISBN 978-1-4244-0469-8.
  7. ^ a b Joshua D. Reiss, Andrew McPherson, Audio Effects: Theory, Implementation and Application, Boca Raton, CRC Press, 13 gennaio 2015, DOI:10.1201/b17593, ISBN 978-0-429-09723-2.
  8. ^ Julius O. Smith, Effetto Chorus, su ccrma.stanford.edu.
  9. ^ Julius O. Smith, Flanging, su ccrma.stanford.edu.
  10. ^ Clifford A. Henricksen, Unearthing The Mysteries Of The Leslie Cabinet, su theatreorgans.com.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]