Mauro Graziani
Tecniche di Sintesi
Vers. 1.0.0
NB: questa trattazione è volutamente priva di riferimenti
matematici. Chi è interessato alla matematica può consultare questa dispensa realizzata al CSC Un. di
Padova da De Poli, Drioli e Avanzini (PDF) e questa
del solo Avanzini per i modelli fisici (stesso formato).
Scarica tutte le patch per Max/MSP (zip file) cliccando qui.
NB: le patch sono state realizzate con Max/MSP 6.1. Per quanto
possibile ho cercato di non utilizzare moduli specifici della Vers.
6 per assicurare la compatibilità con la Vers. 5
Il problema della sintesi
Questa serie di immagini ci introduce al problema fondamentale della
sintesi.
Si tratta di questa breve nota di
pianoforte (Re4) vista:
- come inviluppo, nella sua evoluzione temporale in ampiezza
- come forma d'onda non statica ma in evoluzione nel corso della
nota
- (in basso) come fft istantanea che evidenzia le componenti
armoniche e un po' di rumore
- come sonogramma che delinea le componenti e il variare della
loro ampiezza nel tempo
- come spettrogramma in 3D evidenzia l'inviluppo delle singole
armoniche

La figura mostra che anche una breve nota, che all'ascolto può
sembrare relativamente statica, è in realtà un fenomeno molto
complesso in costante evoluzione nel tempo secondo leggi fisiche.
Il problema fondamentale della sintesi è quindi quello di produrre,
con mezzi matematici (algoritmi), una forma d'onda che esibisca
questo livello di complessità. Non si tratta di riprodurre, pari
pari, il fenomeno fisico, cosa che si può fare meglio tramite
campionamento, bensì di creare un sistema in grado di generare un
mondo sonoro complesso che sia nello stesso tempo interessante
all'ascolto (il sistema percettivo è disturbato da suoni troppo
semplici e fissi, che vengono semplicemente considerati "brutti" o
"meccanici") nonché comprensibile e organizzabile dal punto di vista
compositivo.
Negli strumenti musicali tradizionali il suono e' prodotto dalla
vibrazione di parti meccaniche. Negli strumenti sintetici, la
vibrazione è descritta da funzioni nel tempo, dette segnali, che
esprimono la variazione nel tempo della pressione acustica.
Di conseguenza è necessario definire un algoritmo in grado di
generare il suddetto segnale. Dagli inizi della computer music, la
ricerca ha sviluppato parecchi tipi di algoritmi con caratteristiche
differenti. Prima di passare a classificarli e descriverli è
necessario definire le caratteristiche che fanno di una tecnica di
sintesi un sistema di portata generale.
Perché produrre un suono via software non è così difficile. In
realtà, si può dire che qualsiasi serie numerica che abbia un certo
grado di variabilità nel tempo, se inviata a un DAC, genera un
suono. Forse questo suono non sarà udibile, magari perché la
variazione è troppo lenta e genera solo frequenze troppo basse per
la percezione umana. Oppure l'opposto, se la frequenza di
campionamento lo consente. Oppure, ancora, l'ampiezza dell'onda può
essere al di sotto della soglia di percezione, ma, comunque, si
tratta di un suono.
Per esempio, il rumore bianco è costituito da una serie di numeri
casuali fra ±k, dove k è il massimo valore consentito dalla scheda
audio (±32767 se a 16 bit; ±8388607 a 24 bit; etc.) ed è abbastanza
elevato da essere una ampiezza udibile.
Quindi anche generando una serie di numeri a caso si ottiene un
suono. L'oggetto noise~ di MSP, per esempio, fa proprio questo,
assicurando anche una distribuzione uniforme (tutti i numeri hanno
la stessa probabilità).
Tuttavia, con questa tecnica, non si va molto al di là del noise. Il
modulo citato, infatti, produce unicamente del rumore bianco, senza
offrire altre possibilità. L'algoritmo che utilizza può essere
sicuramente considerato un algoritmo di sintesi, ma la sua portata è
alquanto ristretta.
Un sistema di sintesi di portata generale, invece, dovrebbe essere:
- Controllabile: devono esistere dei parametri che
permettano di determinare le caratteristiche timbriche del
suono, possibilmente con precisione, anche se il grado di
precisione richiesto può variare di molto in base all'idea
compositiva.
- Deterministico: passando un certo valore di controllo
si deve ottenere sempre lo stesso risultato. Piccole variazione
sono ammesse se non incidono sull'immagine acustica prodotta.
- Prevedibile: deve esistere un formalismo che permette
di conoscere in anticipo il risultato che si otterrà passando
determinati valori. Questo al fine di non dover andare a
tentativi per generare il suono desiderato.
- Generale: la tipologia sonora generata dovrebbe essere
abbastanza vasta. Quest'ultima, tuttavia, non è una conditio
sine qua non. Esistono sistemi a basso grado di generalità, ma
che creano molto bene una sola tipologia sonora e come tali sono
accettati.
In realtà, come accennato, la necessità di tutte queste
caratteristiche deve essere stimata in base all'idea compositiva.
Per esempio, per un compositore che accetta e cerca la casualità, il
fatto che un sistema sia prevedibile e deterministico può essere
visto anche come un ostacolo. Oppure un compositore che ragiona con
una logica strettamente strumentale ha bisogno di una serie di
sistemi, ognuno dei quali sia in grado di sintetizzare molto bene
una certa tipologia sonora, mentre non gli interessa poter agire
sulla timbrica.
Di seguito sono presentati alcuni fra i principali algoritmi di
sintesi con riferimento ai criteri di scelta sopra esposti. E'
tuttavia possibile procedere ad una classificazione degli algoritmi
di sintesi basata sull'analisi della loro struttura. Si può infatti
notare che la complessità della struttura ha forti riflessi sul
controllo sia timbrico che espressivo di un algoritmo. Gli algoritmi
definiti da una struttura semplice necessitano di un flusso di
segnali di controllo molto articolato, in quanto caratterizzazione
ed espressività timbrica devono essere garantiti proprio dai segnali
di controllo. Invece gli algoritmi con complessità strutturale
elevata garantiscono di base una buona caratterizzazione timbrica e
una buona coerenza interna, consentendo quindi un controllo molto
più semplificato.
Una prima classificazione
In base al tipo di modello con cui viene rappresentato il suono, gli
algoritmi di sintesi possono essere suddivisi in due classi
- modelli del segnale che cercano di riprodurre
il suono che ci arriva all'orecchio, senza far riferimento al
meccanismo fisico che genera il suono: essi, quindi, si basano
su una analisi del suono che percepiamo e ne sintetizzano le
componenti e la loro evoluzione temporale (riproduzione
dell'effetto)
- modelli della sorgente che generano il
segnale acustico simulando il meccanismo fisico di produzione
del suono: per questi ultimi non è importante l'analisi del
segnale che percepiamo, ma l'analisi del modo in cui il suono si
produce (riproduzione del processo)
Questa classificazione e i metodi di sintesi che ne derivano è
rappresentata nello schema seguente
Modelli del Segnale
Tecniche Lineari
Prendono il nome dal fatto che, basandosi su operazioni di somma e
differenza, a un aumento della complessità dell'algoritmo
corrisponde un aumento proporzionale e lineare della complessità del
suono prodotto. Ad esempio, se nell'additiva classica sovrappongo 5
sinusoidi otterrò un suono con 5 componenti; se ne sovrappongo 10
avrò un suono con 10 componenti.
Questo non accade con le tecniche non lineari. Nella modulazione di
frequenza, per esempio, il passare da una a due modulanti provoca un
aumento della complessità ben superiore al doppio.
Sintesi Granulare
L'idea della sintesi granulare è di comporre un suono mediante
piccolissimi frammenti sonori (grani di durata variabile intorno da
50 a 200/300 millisecondi) collegati l'uno all'altro e/o
parzialmente sovrapposti fino a dare l'illusione di un suono
continuo, come in un mosaico.
Questa tecnica richiede grandi risorse computazionali, ma assicura
un vasto spettro sonoro con buoni risultati anche nella simulazione.
Max/MSP fornisce già un'ottima patch per la sintesi granulare in
examples/sampling/granular.
Tecniche non-Lineari
Queste tecniche si ottengono essenzialmente mediante distorsione di
un segnale da parte di un altro. Come tali non sono lineari perché
il risultato sonoro non varia in proporzione alla complessità dei
segnali coinvolti ma segue relazioni di altra natura. Per es. se
nella modulazione di frequenza si aggiunge più di una modulante, il
numero delle componenti non varia proporzionalmente, ma aumenta in
misura esponenziale.
In tal modo, la comprensione del metodo è meno intuitiva, ma è
possibile generare segnali con molte componenti armoniche o
inarmoniche, con poche risorse, arrivando fino ai rumori a banda
limitata.
Distorsione non lineare
In preparazione
Altre tecniche
L'inventiva umana non ha fine e sono stati sperimentati molti
sistemi che vanno dai metodi statistici fino alle funzioni a due
variabili. Solo pochi, però, hanno retto alla prova del mondo
industriale da una parte e della ricerca compositiva dall'altra.
Alcuni modelli sono rimasti in quanto utili per sintetizzare
particolari famiglie sonore. Fra questi il FOF (sintesi per
formanti) utile per la sintesi di suoni vocalizzati.
Modelli della Sorgente
Modelli Fisici
Come già accennato, nella sintesi per modelli fisici si tenta di
realizzare un modello matematico della sorgente che genera il suono,
formalizzando l'intero processo. In tal modo si ottene un sistema i
cui parametri di controllo quelli dello strumento musicale a cui si
ispira: per la corda, la posizione del plettro o dell'arco la forza
della pennata, le dimensioni della cassa; per uno strumento a fiato,
la pressione del soffio, la rigidità dell'eventuale ancia, etc.
Il modello, quindi, si comporta come uno strumento esibendo un
comportamento simile alla realtà con correlazione suono - parametri
di controllo (per es. se aumenta la forza applicata aumenta anche il
volume del suono e il numero delle componenti spettrali).
Il vantaggio è che il musicista ritrova un ambiente a lui familiare
e può controllare il suono molto facilmente. Lo svantaggio è che un
modello riproduce il sistema che rappresenta e non può essere
utilizzato per produrre suoni inediti a meno di mettere mano alla
sua programmazione.
Data la complessità di tali modelli, la cosa non risulta semplice e
i compositori, anche con una certa preparazione, sono costretti a
prenderli come scatole nere che esibiscono un comportamento
conosciuto.
Attualmente esistono varie librerie di modelli fisici pilotabili
anche via tastiera MIDI o MIDIFile e quindi facilmente utilizzabili
da chiunque. Ricordiamo il Synthesis ToolKit
(STK) di Cook e Scavone al CCRMA disponibile sia in versione
Linux che Windows.
Per Max/MSP esiste Modalys che
si scarica dal Forum IRCAM dietro iscrizione (non gratuita)
Nello sviluppo di modelli di sistemi acustici è utile individuare
blocchi funzionalmente distinti, i quali possono venire studiati
indipendentemente l'uno dall'altro e successivamente messi in
interazione. Ad un primo livello di scomposizione si identificano
due principali blocchi funzionali: l'eccitatore ed il risonatore.
Il risonatore è la parte dello strumento in cui la vibrazione ha
effettivamente luogo, ed è correlato a caratteristiche sonore quali
altezza ed inviluppo spettrale. L'eccitatore provoca ed
eventualmente sostiene la vibrazione nel risonatore, immettendo
energia nello strumento; da esso dipendono le proprietà di attacco
del suono, fondamentali nell'identificazione del timbro.
Per fare qualche esempio, sono blocchi risonatori la corda nella
chitarra, nel pianoforte, nel violino, o il tubo acustico nei legni
e negli ottoni. Sono invece eccitatori il plettro nella chitarra,
l'archetto nel violino, il martelletto nel pianoforte, l'ancia nel
clarinetto.
Ciascuno dei due blocchi viene descritto da un sistema dinamico,
tipicamente lineare per quanto riguarda il risonatore e non lineare
per l'eccitatore. L'eccitatore può di solito essere rappresentato
come costituito da corpi rigidi connessi tra loro attraverso degli
ideali elementi concentrati (molle, elementi di attrito . . . ),
eventualmente non lineari.
Dalla parte opposta, il risonatore viene tipicamente trattato come
un corpo flessibile, in cui forze e materia sono distribuiti in uno
spazio continuo; si parla allora di elementi distribuiti, corde o
membrane nel caso meccanico, colonne d'aria nel caso fluidodinamico.
La ricerca è attualmente in corso. Questo esempio di strumento a corde pizzicate
che esegue un brano piuttosto complesso, con accenti, legati e
armonici, mostra la qualità della modellizzazione (il caso delle
corde pizzicate può ormai dirsi risolto, mentre gli altri modelli
sono in via di sviluppo).
Un software commerciale che utilizza in parte i modelli fisici è Pianoteq.