1.1 Sintesi additiva a spettro Fisso

La sintesi additiva è una tecnica di sintesi che ci permette di creare qualuque forma d’onda partendo dalla somma di sinusoidi.

Essa si basa sull’assunto che ogni fenomeno sonoro complesso si possa scomporre in singole sinusoidi ognuna delle quali è caratterizzata da un determinata frequenza, ampiezza e fase. (Fourier)

La sintesi additiva a spettro fisso enuncia che nè la frequenza nè l’ampiezza delle componenti di cui è composto il suono variano nel tempo.

Che cos’è la frequenza?

E’ il numero di oscillazioni che l’onda compie in 1 secondo.

Che cos’è l’ampiezza?

E’ l’energia del segnale, l’intensità, ad un dato momento.

Che cos’è la fase?

La fase è il grado (360°), il radiante (2π) o valore normalizzato (1 – 1) nel quale si trova l’onda ad un dato momento.

L’onda è la proiezione sul piano cartesiano di un moto circolare uniforme.

Essa è rappresentabile attraverso le funzioni trigonometriche di seno e coseno.

Gestire la fase è fondamentale per gestire il segnale, visto come somma di onde.

1.2 Sintesi additiva a spettro fisso: spettri armonici

Lo spettro armonico si ha quando il rapporto delle componenti data una fondamentale (più grave) sono equispaziate.

L’inviluppo spettrale è l’intensità di ogni singola componente armonica sommata sopra la fondamentale.

Affichè la fondamentale sia preponderante è bene che abbia l’intensità maggiore.

Gli spettri armonici producono sempre forme d’onda periodiche, ovvero che si ripetono ad una certa frequenza.

Particolari tipi di tabelle con intensità specifiche creano le c.d. onda a dente di sega, onda quadra, onda triangolare ed impluso.

Onda a dente di sega

FrequenzaF1F2F3F4F5F6F7F8F9
Ampiezza1/11/21/31/41/51/61/71/81/9

Onda quadra

FrequenzaF1F2F3F4F5F6F7F8F9
Ampiezza1/101/301/501/701/9

Onda triangolare

FrequenzaF1F2F3F4F5F6F7F8F9
Ampiezza1/10-1/901/250-1/4901/81

Impulso

FrequenzaF1F2F3F4F5F6F7F8F9
Ampiezza1/11/11/11/11/11/11/11/11/1

Ciclo

La più piccola porzione dell’onda che si ripete nel tempo.

Fondamentale

La frequenza più grave con l’ampiezza maggiore. Se la fondamentale viene elisa, viene percepita a patto che il periodo della forma d’onda corrisponda all’inverso della frequenza della fondamentale mancante e che ci siano abbastanza componenti armoniche su cui l’orecchio possa ricostruire l’intero fenomeno sonoro.

Il suono periodico

La fondamentale di un qualunque suono periodo è il M.C.D. della componenti presenti. I suoni periodici non è detto che esprimano chiaramente altezze definite.

Il suono aperiodico

Si tratta di un fenomeno sonoro dove non è possibile individuare una porzione che si ripeta nel tempo (ad esempio: rumore bianco, strumenti a percussione, ecc.).

Il suono aperiodico con componenti quasi armoniche

Sono suoni che, sebbene siano “aritmeticamente” a-periodici, le cui componenti possono essere approssimate al periodo: è il caso di componenti molto vicine all’ M.C.D. come 110, 220.1, 330.2, 439.99, ecc.

E’ bene precisare che il suono inarmonico ha sempre una «fondamentale teorica» espressa dal suo M.C.D. che si trova (spesso) sotto la banda audio. Per tale motivo possiamo dire che concretamente sono suoni privi di fondamentale intesa come frequenza percepibile più grave e dall’ampiezza maggiore.

1.3 Vettori e tabelle

Cosa sono le tabelle?

Sono contenitori dotati di un indice associato ad un valore. Il dominio è formato dai valori d’ampiezza (normalizzati), il co-dominio è formato dai punti della tabella.

Cos’è un vettore?

Il vettore o array è una serie ordinata di valori a cui è associato un indice.

 

– – – – – 

– – – – – 

Ipotizziamo di campionare l’audio alla frequenza di  44100 Hz con profondità di 24bit. 

Cosa significa?

Per ogni secondo vengono prelevati 44100 dati d’ampiezza.

Il bit depth è dato dalla potenza base 2 elevata 24 (16.777.216) che rappresenta la disponibilità di bit (0 1 0 0 1 ecc.) con cui viene descritto il campione prelevato. Ogni bit corrisponde all’incirca a 6 dB di intensità: 16 bit riescono a ricostruire un’intensità di 96 dB mentre 24 bit 144 dB.

Dato che i tempi (asse x) devono essere trasformati in “n” campioni, supponendo che il sample rate (SR) sia di 44100, ogni ciclo della nostra forma d’onda sarà formato da 44100/100 = 441 campioni.

Se l’ S.R. fosse stato di 48000, ogni ciclo sarebbe stato descritto da 480 campioni. 

Come può, quindi, l’oscillatore riprodurre un ciclo in 441 o 480 campioni se in tabella lo stesso ciclo è memorizzato con un numero di campioni diverso (512, 1024, o altra potenza di 2) per il processore  – per sua natura – di più agile calcolo? 

Come si può creare un ciclo in “n” campioni che siano diversi da quelli memorizzati in tabella?

La risposta è attraverso l’approssimazione: l’oscillatore non legge tutti i valori della tabella, ma la scandisce saltando, doppiando, derivando alcuni valori. Si calcola il passo di incremento (SI = sampling increment) che permette di “scandire” la tabella secondo il numero di campioni richiesto.

  • frequenza di campionamento (SR) = 44100
  • lunghezza tabella (TL) = 1024
  • frequenza richiesta (F) = 100 Hz

Con questi valori abbiamo un ciclo che consta di 441 campioni (SR/F). Di conseguenza la tabella dovrà essere letta con un passo di incremento S.I. = TL/441 = 1024/441 = 2.32199546485
L’oscillatore leggerà il valore che si trova nella posizione 0 della tabella, poi quelli che si trovano nelle posizioni 2.32199546485, poi 4.6439909297 poi 6.96598639455 poi 9.2879818594 andando avanti di  2.32199546485 alla volta. In questo modo l’oscillatore è in grado di scandire l’intera tabella (un ciclo) in 441 campioni generando un’onda il cui periodo è 1/100 di secondo, cioè 100 Hz.
In generale, quindi, la formula per calcolare SI a partire da SR, TL e F è SI = TL/(SR/F) = TL * F / SR.
Infatti, con i numeri di cui sopra si ottiene il valore precedentemente calcolato: 1024 * 100 / 44100 = 2.32199546485.

Così facendo, si introduce un ulteriore grado di imprecisione: saltando da un valore a un altro si creano gradini ancora più grandi di quelli che si avrebbero leggendo tutti i valori in successione. A parità di lunghezza della tabella, questa imprecisione aumenta via via che la frequenza aumenta. Tenendo fissi i valori di SR e TL di cui sopra e cambiando solo F, si vede che, se a 100 Hz si saltano 2.32199546485 campioni a ogni passo, a 400 Hz SI diventa 9.28798185941, a 800 Hz è 18.5759637188. La cosa assume proporzioni notevoli con frequenze molto alte: a 5000 Hz, SI è 116.099773243, a 15000 Hz è 348.299319728 a e 20000 Hz (prossima a Nyquist) è 464.399092971 (solo due campioni per ogni ciclo).

Quando diciamo ad un software SR = 44100, stabilite:

  • il minimo intervallo temporale che il software può concepire, pari a 1/SR
  • la scala dei tempi che è formata da multipli di 1/SR
Esempio
  • Se la frequenza di campionamento = 44100
  • E la lunghezza tabella T.L. = 1024
  • La frequenza richiesta = 100 Hz
  • 441 campioni (SR/F)
  • S.I. = T.L./441 = 1024/441

Inseriamo tanti indici quanta la è freq. di campionamento (a 44100, per 441 Hz ci servono 100 punti, per un’onda di 220,5 Hz 200 punti, per un’onda di 110,25 Hz 400 punti) oppure possiamo utilizzare indici frazionari interpolando gli indici mancanti.

Questa tecnica si chiama interpolazione lineare che dato il punto A e B, calcola un valore intermedio. Questa tecnica di permette di ridurre la distorsione lineare, ovvero i gradini del campionamento.

 

Le interpolazioni sono

– LINEARE (divisione lineare in segmenti dati A e B).

– POLINOMIALE (quadratica, cubica) con maggiore riduzione della distorsione armonica (delle componenti).

 

SINTESI ADDITIVA A SPETTRO FISSO

Le parziali sono equispaziate

SINTESI ADDITIVA A SPETTRO FISSO INARMONICA

Le parziali non sono equispaziate

 

GENERAZIONE

Modalità «Old School»: somma indipendente delle singole componenti.

Modalità «Wavetable synthesis»: somma componenti all’interno di tabelle in grado di generare il suono finale.

2.1 Sintesi Vettoriale

La sintesi vettoriale altro non è che la dissolvenza incrociata (crossing) di più tabelle creando zone di passaggio, che permettono il c.d. glissando infinito caratterizzato da un continuo flusso (due tabelle sfasate ed in cross-fade). 

 

3.1 Sintesi additiva a spettro variabile

Ogni singola parziale,  fissata la fondamentale, varia nel tempo. Se le parziali non sono numerose è possibile controllare il comportamento del suono in modo puntale. In caso contrario è necessario definire delle maschere, ovvero degli inviluppi spettrali (frequenziali) che delimitino l’esistenza spettrale nel tempo (f min, max in t).