Effetti e distorsione non lineare

Lezione 22
Effetti con unità di ritardo
Distorsione non lineare
Programmazione timbrica - Prof. Luca A. Ludovico
Parte I
EFFETTI AUDIO BASATI SU UNITA’ DI RITARDO
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto di chorus
• Il chorus è un effetto audio elettronico il cui scopo è simulare la
compresenza di più sorgenti sonore dello stesso tipo, come avviene
per un coro di voci o un duo (o più) di strumenti musicali uguali che
eseguono la medesima partitura.
• La struttura dell'effetto consiste in un mixer che raggruppa, oltre al
segnale di ingresso inalterato, una o più voci supplementari da esso
ricavate mediante l'utilizzo di linee di ritardo. Il mixer riunirà pertanto
più segnali audio, con fase e altezza leggermente differenti,
generando così la sensazione di più sorgenti simultanee.
• Il tempo di ritardo viene generalmente modulato con un oscillatore a
bassa frequenza (LFO), in modo da applicare un effetto Doppler al
suono, così da alzarne e abbassarne gradatamente il pitch e provocare
piccole differenze di fase.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto flanger
• Il flanger è un effetto audio elettronico realizzato
mediante l'impiego di una linea di ritardo, con tempi
sensibilmente elevati (fino a qualche decina
di millisecondi), attraverso la quale viene fatto passare il
segnale da trattare. Il segnale così ritardato viene
miscelato col segnale originale, dando luogo alla
cancellazione di quelle frequenze che si trovano in
opposizione di fase.
• L’effetto è quello di un filtro a pettine (comb filter), così
detto per la caratteristica forma del segnale trattato
quando osservato all'analizzatore di spettro.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto flanger
• Il flanger deve il suo nome alla tecnica con la quale fu inventato
negli anni cinquanta: il tecnico del suono, riproducendo in sincrono
due copie dello stesso nastro con due registratori, premeva con un
dito la flangia (flanging) della bobina debitrice di uno dei due,
provocando un ritardo nella fase. La miscelazione dei due registratori
dava origine all'effetto in questione.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto flanger
• Il suono risultante presenta picchi di risonanza e punti di
assenza del segnale audio; modulando il tempo di ritardo
della linea di ritardo mediante un LFO con periodo molto
lungo (< 1s), l'effetto sarà di evanescenza sull'intera
gamma dello spettro audio.
• Introducendo poi una data percentuale
di retroazione (feedback) sulla linea di ritardo si giunge
progressivamente ad un effetto Larsen. In queste
condizioni, il suono trattato dal flanger risulta molto
filtrato e tendenzialmente metallico.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto flanger
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto phaser
• Il phaser è un effetto audio elettronico, impiegato
generalmente per dare risalto a parti soliste in contesti
dal vivo, molto popolare verso la fine degli anni sessanta.
• Ha un funzionamento simile a quello del flanger, senza
però limitarsi a miscelare il segnale originale con quello
ritardato, ma aggiungendo altri ritardi intermedi e
sfruttando il feedback per ottenere un elevato Q del comb
filter.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Ritardi variabili in Csound: opcode vdelay
• L’opcode vdelay realizza un ritardo variabile a
interpolazione. E’ la base per implementare l’effetto
Doppler, chorus e flanger.
• Non è differente da delayr/deltapi/delayw, ma è più
semplice da usare (vedi esempio del flanging più avanti)
• Sintassi: ares vdelay asig, adel, imaxdel [, iskip] ove
– asig è il segnale in ingresso;
– imaxdel è il valore massimo di ritardo in millisecondi;
– adel è il valore corrente del ritardo in millisecondi. Funzioni lineari
non implicheranno variazioni nel pitch, mentre valori che cambiano
rapidamente potrebbero causare discontinuità nella forma d’onda.
Inoltre il ritardo deve essere sempre positivo.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Varianti di vdelay
• L’opcode vdelay3, sebbene introdotto nella
versione 3.5, è tuttora considerato sperimentale,
e adotta l’interpolazione cubica anziché lineare.
• Se serve maggior controllo e maggiore precisione
(a scapito della rapidità di calcolo), ci sono gli
opcode della famiglia vdelayx, con versioni
specifiche per i segnali stereo (vdelayxs), in
quadrifonia (vdelayxq), ecc.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Esempi in Csound
• Nel primo esempio si modella il comportamento reale
dell’operazione di flanging con 2 bobine, in cui ciascuna
bobina introduce un ritardo (provocato dalla distanza tra
la testina di registrazione cui viene inviato il suono e
quella di lettura che lo riproduce), ma il primo è fisso
mentre il secondo è variabile. La modellazione avviene sia
tramite delayr/deltapi/delayw sia tramite vdelay.
Esempio: →22_01_flanger.csd
• Analogamente, l’esempio di chorus mostra l’implementazione senza e con vdelay: →22_02_chorus.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Effetto wah-wah
• Il wah-wah è un effetto audio che prende il nome dal caratteristico
suono prodotto dal taglio e dal reinserimento graduale delle frequenze
alte, vagamente assimilabile a un miagolio o a un vagito, da cui il
nome onomatopeico.
• Il wah-wah è uno dei pochi effetti tradizionali che non sono stati
soppiantati da versioni digitali nelle esibizioni dal vivo. A differenza di
altri effetti, infatti, il wah-wah non deve essere semplicemente
inserito e disinserito in funzione del brano musicale da eseguire, ma
viene controllato in modo continuo e a totale discrezione di chi lo usa,
applicando un effetto potenzialmente diverso a ogni singola nota.
• Esempio che sfrutta GEN07 per la frequenza di centro-banda di un
filtro passabanda: →22_03_wah_wah.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Parte II
DISTORSIONE NON LINEARE
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Ripasso su GEN e opcode table
• Durante la Lezione 14 si è visto come operare con diverse
GEN la scrittura di valori in tabella (GEN02, GEN05,
GEN07, GEN16) all’interno dello score, e come effettuare
in modo complementare la lettura di valori da tabella
all’interno dell’orchestra attraverso gli opcode table e
tablei.
• Una delle applicazioni di rilievo di questa tecnica è la
scrittura/lettura della funzione distorcente per un segnale
audio, il che permette di effettuare la cosiddetta sintesi
per distorsione non lineare o waveshaping.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Funzione distorcente
• Nella sua forma più controllabile, il waveshaping si basa
sulla lettura di una tabella che contiene una funzione
apposita, detta funzione distorcente. L’indice di lettura è
costituito dall’ampiezza del segnale in ingresso, mentre il
valore in corrispondenza è l’ampiezza del segnale dopo il
processing.
• Si tratta di rappresentare e di leggere da tabella una
funzione y = f(x), ove x in questo caso è il valore di
ampiezza istantaneo del segnale audio entrante, mentre y
rappresenta il nuovo valore di ampiezza istantaneo da
conferire al segnale audio per eseguire il waveshaping.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Casistica
• Se la funzione è una retta non ha luogo alcuna distorsione:
– se la retta è inclinata a 45° e passa per l’origine, cioè y = f(x) = x
allora il valore di uscita y è pari all’ingresso x;
– se la retta ha inclinazione diversa e passa dall’origine, cioè
y = f(x) = a∙x allora l’andamento dell’uscita è uguale a quello
dell’ingresso, salvo un fattore correttivo (che può essere maggiore
o minore di 1) > vedi compressori ed espansori di dinamica;
– se la retta non passa per l’origine, ossia y = f(x) = a∙x + b allora
valgono i discorsi precedenti, ma con l’aggiunta di un offset.
• Se non si tratta di una retta, si ha distorsione: questo
discorso applicato a un segnale audio implica
l’introduzione di nuove frequenze.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Esempio grafico di non distorsione
a>1
y = a∙x con a = 1
Espansori di dinamica
a<1
Compressori di dinamica
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Espansori di dinamica
• Un espansore è un dispositivo che, per una certa
ampiezza efficace del segnale in ingresso, fa
variare di una quantità maggiore il segnale in
uscita (y = a∙x con a > 1).
• Un espansore può servire per ampliare la gamma
dinamica di un segnale che risulta troppo
schiacciato e per restituirgli aggressività.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Compressori di dinamica
• Un compressore è un dispositivo che, per una certa
ampiezza efficace del segnale in ingresso, fa variare di
una quantità minore il segnale in uscita (y = a∙x con a < 1)
• Un compressore può servire per limitare la gamma
dinamica di un segnale, ad esempio per evitare che i suoi
picchi mandino in distorsione il sistema.
• Esistono anche effetti musicali basati sui compressori,
come ad esempio la compressione molto spinta in uso nel
rock che neutralizza l’attacco delle note, eliminando
l’effetto di corda pizzicata sulle chitarre.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Uso combinato di compressori ed espansori
• Compressore ed espansore possono essere utilizzati in
maniera collaborativa per migliorare i processi di
registrazione e riproduzione del suono, come nel caso dei
registratori a nastro con sistema Dolby e dbx.
• Il suono in ingresso al registratore viene dapprima
compresso in ampiezza per evitare di mandare il segnale
in clipping. Questa operazione riduce opportunamente la
gamma dinamica. In riproduzione, il segnale viene
sottoposto a un espansore per riportarlo ai livelli originali.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Compressione e limitazione
• Nell’ambito delle infinite funzioni non lineari che possono
definire il comportamento di un compressore, vi sono
alcune definizioni standard.
• Si definisce soglia di compressione il livello in cui un
guadagno unitario (y = x) si trasforma in una retta con
pendenza minore, e il rapporto di compressione è per
definizione (1/a) : 1.
• Si definisce soglia di limitazione il livello oltre il quale la
retta assume pendenza nulla.
• Esempio di compressore: →22_04_compressor.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Esempio di distorsione non lineare
y = a∙x + b, con a = 1/2
y = a∙x + b, con a = 1/5
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Altro esempio di distorsione non lineare
Risultato: la sinusoide in ingresso
diventa in uscita una sinusoide tagliata
al raggiungimento delle ampiezze +A e
-A, con conseguente modifica dello
spettro.
A rappresenta il livello di clipping.
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare
Altro esempio di distorsione non lineare
• Attraverso GEN07 si può codificare in una tabella il
comportamento della funzione distorcente vista alla slide
precedente (però una volta descritta la funzione in
tabella, lo 0 non corrisponde all’origine degli assi, bensì
all’estremo inferiore delle x).
• Attraverso un’opportuna combinazione di opcode, si crea
un indice di lettura dei punti da tabella che oscilla con
andamento sinusoidale.
• Esempio: →22_05_dnl.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Effetti e distorsione non lineare