Vous êtes sur la page 1sur 4

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE

A.A. 2016/17

ESERCITAZIONE N. 2 - DEL 7.11.2016

Sintesi Audio Digitale

1. Sintesi di segnali periodici tramite wavetable


Lelemento base per questa tipologia di sintesi loscillatore basato su wavetable. La forma donda
del segnale desiderato memorizzata in una tabella (wavetable) cos che i campioni possano essere
estratti e inviati al convertitore digitale analogico per produrre il suono. La tabella pu contenere
suoni campionati o calcolati (es. sinusoide).
La tecnica utilizzata per trasporre laltezza del suono generato leggendo ciclicamente la tabella
quella di cambiare il passo di lettura dei valori secondo una variabile detta sample increment (SI).
Leggere un valore ogni due (SI=2) raddoppia la frequenza in uscita, ripetere i campioni due volte
(SI=0.5) ne dimezza la frequenza. Per mantenere traccia della posizione letta si utilizza un
accumulatore (LUA) che viene di volta volta incrementato del passo SI. Si noti che dopo aver
aggiunto il valore SI al LUA occorre testare se lindice cos ottenuto esterno alla wavetable e, in
tal caso, ricominciare a leggere la wavetable dallinizio partendo dalla posizione corrispondente
alleccesso del valore del LUA rispetto alla lunghezza della tabella (mantenendo linformazione
anche della parte frazionaria di tale numero).
Quando la parte frazionaria del LUA zero, il sintetizzatore si limita a leggere il valore del
campione della tabella nella posizione corrispondente. Quando la parte frazionaria diversa da zero
il sintetizzatore deve invece stimare il valore del campione che si trova in posizione intermedia
tra i due valori disponibili nella tabella.
Si possono considerare varie tecniche di stima (interpolazione):
- Troncamento: ignorare la parte frazionaria del LUA
- Arrotondamento: arrotondare il valore del LUA allintero pi vicino
- Interpolazione lineare: approssimare il comportamento della forma donda tra due campioni
con un segmento di retta
Realizzazione (a partire dallo schema
fornito nel file oscillator_wavetable.m)

140
120

SNR (dB)

A. Nellesempio gi presente il codice


che provvede a tabulare un periodo di
una sinusoide di ampiezza compresa
tra -1 e 1. Si implementi un
sintetizzatore attraverso un oscillatore
basato su tale wavetable.
B. Per la stima dei valori mancanti si
implementino
i
tre
tipi
di
interpolazione
definiti
precedentemente e se ne confronti la
qualit ottenuta. In particolare, si

160

100
80
60
truncate
round
mean
linear

40
20

1000

2000

3000

4000

5000

6000

7000

8000

wavetable size (samples)

PAG. 1/4

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE


A.A. 2016/17

confronti il segnale generato dal sintetizzatore con un segnale sinusoidale di pari ampiezza,
frequenza, fase e durata, calcolato analiticamente utilizzando la funzione sin (o cos). Si calcoli il
valore di SNR ottenuto dalle tre tecniche di interpolazione al variare della dimensione della
wavetable. I risultati dovrebbero essere simili a quelli rappresentati in figura.
Verificati i punti A e B, si pu provare ad ascoltare la qualit ottenuta dalle varie tecniche per
wavetable di dimensione limitata (< 1024 campioni) e si pu procedere con lutilizzare forme
donda pi complesse o suoni campionati.

2. Modulazione in frequenza tramite PureData


La tecnica della modulazione in frequenza (FM) pu essere utilizzata per realizzare la sintesi di
strumenti musicali come campane, batterie, fiati, ecc.
Lobiettivo in questo esercizio quello di realizzare una
patch per PureData che implementi la sintesi FM per poi
HSLIDER
pilotarla in modo da produrre suoni di uno o due
strumenti musicali caratteristici. Si faccia riferimento al
materiale presentato a lezione per i dettagli.
NUMBER

Si ricorda che la frequenza delle componenti laterali


(sidebands) determinata dalla relazione (rapporto M:C)
tra la frequenza modulante (Fm) e quella portante (Fc),
detto Grado di Armonicit (HR). Mentre lintensit di tali
componenti (e quindi il numero di componenti
significative, larghezza di banda) influenzato dalla
relazione (rapporto) tra lampiezza (Am) e la frequenza
della modulante (Fm), denominato Indice di Modulazione
(MI).

OBJECT

Realizzazione (a partire dallo schema fornito nel file


sample_oscillator.pd)
A. Si provveda a realizzare un blocco di modulazione in
frequenza controllato da tre ingressi Fc, HR ed MI,
come mostrato in figura.
B. Per fornire al segnale prodotto dal sintetizzatore un suono pi naturale possibile controllare
lampiezza del segnale risultante (linviluppo temporale della forma donda) tramite un
moltiplicatore (fattore di scala), variabile nel tempo, che modelli una curva (spezzata) di
attacco, decadimento, sostegno, rilascio (ADSR). Si realizzi quindi una patch ADSR da
applicare alluscita del sintetizzatore FM.
a. Per la realizzazione della patch in modo rapido possibile utilizzare loggetto [vline~]
(audio ramp generator) che genera delle rampe i cui livelli e tempi di cambiamento
sono determinati dai messaggi che riceve. Per maggiori dettagli si veda lhelp associato
alloggetto in pure-data. Un esempio di utilizzo raffigurato di seguito.
C. Il blocco ADSR pu essere utilizzato anche per caratterizzare il timbro e lampiezza di banda
del suono tramite il controllo dellindice di modulazione. Si applichi il controllo ADSR anche al
MI e si sperimentino suoni differenti secondo i seguenti suggerimenti.
PAG. 2/4

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE


A.A. 2016/17

a. Bell. Fc: 130 - HR: 2.8 - MI: 6 0, 0 +5000 A: 1 0, .125 +1000, .015 +2000, 0 +2000
b. Drum. Fc: 130 HR: 0.707 MI: 1.5 0, 0 +400 A: .68 0, 0.84 +40, 0.76 +59, 0.09
+62, 0. +239
c. Trumpet. Fc: 130 HR: 1 MI: 0 0, 5.25 +256, 4.5 +146, 0.375 +1082, 0. +516 A: 0
0, 1 +256, 0.73 +202, 0.68 +1175, 0 +367

3. Sperimentazione con controlli MIDI


PureData in grado di interfacciarsi anche con componenti esterni attraverso il protocollo MIDI e
pu quindi essere pilotato da un dispositivo MIDI quale una tastiera o pilotare un sintetizzatore
MIDI per la sintesi sonora (si vedano le slides del corso per la configurazione degli ingressi/uscite
MIDI e della tastiera virtuale VMPK).
Si configuri quindi linterfaccia MIDI di PD e si modifichi la patch della sintesi FM per collegarsi
con un dispositivo MIDI per il controllo delloscillatore portante. In PureData attraverso il menu
Media > MIDI Settings. In VMPK attraverso il menu Edit > MIDI Connections.
Il componente [notein] legge dallingresso MIDI e restituisce in uscita il numero della nota, la
velocit di pressione del tasto, ed il numero del canale MIDI di origine. Si ricorda che tramite
[notein] ogni nota passata due volte una volta alla pressione del tasto (note-on) e una volta al
rilascio del tasto (note-off) con velocity=0. Il componente stripnote pu essere utilizzato per
sopprimere il messaggio di note-off.
Nota: i componenti [makenote] e [noteout] possono essere utilizzati a loro volta per comporre ed
emettere controlli MIDI verso un sintetizzatore audio.
Friture
Visualizzare laudio riprodotto in tempo reale tramite il tool Friture (informazioni:
PAG. 3/4

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE


A.A. 2016/17

http://tlecomte.github.io/friture/features.html).

4. Riferimenti utili
[Pure Data Documentation] http://msp.ucsd.edu/Pd_documentation/
[Theory and Technique of Electronic Music] http://msp.ucsd.edu/techniques.htm
[Programming Electronic Music in Pd] http://www.pd-tutorial.com/english/index.html
[Pure Data Floss Manual] http://en.flossmanuals.net/pure-data/
[pd_floss-envelope] http://en.flossmanuals.net/pure-data/audio-tutorials/envelope-generator/
[pd_floss-tabosc4] http://en.flossmanuals.net/pure-data/ch045_arrays-graphs-tables/
[pd_puckette-wavetable] http://msp.ucsd.edu/techniques/v0.11/book-html/node33.html

PAG. 4/4