Corso di laurea in Fisica Anno accademico 1989/90
Disegno, implementazione e sperimentazione di un prototipo per la sintesi di segnali audio mediante funzioni di due variabili tabulate
Tesi di laurea di Aldo Arrigo Borgonovo Mat. 223986
Questa tesi è il risultato di una ricerca, in corso
da alcuni anni presso il Laboratorio di Informatica Musicale dell'Università
di Milano, riguardante la possibilità di sintetizzare,
per via numerica, suoni adatti all'uso musicale per mezzo di funzioni
di due variabili. Tale ricerca si pone nell'ambito più
generale di fornire al musicista strumenti di controllo semplici
ma potenti per la manipolazione del materiale sonoro, visto ormai
come parte del processo compositivo. A tal proposito le tecniche
di sintesi attuali presentano o difficoltà di implementazione,
o difficoltà di gestione, specialmente da parte di utenti
non dotati di profonde conoscenze tecniche. La tecnica di sintesi
mediante funzioni di due variabili offre invece un facile controllo
dello spettro armonico del segnale generato, specialmente per
quanto riguarda la sintesi di timbri dinamici, ovvero con spettro
armonico variabile nel tempo, che meglio approssimano le timbriche
naturali (pianoforte, violino, ecc.).
Il presente lavoro si articola in due fasi: nella prima si è
implementata la tecnica su alcuni sistemi formati da un master
computer - periferica dedicata all'elaborazione sonora, onde procedere
a una prima valutazione dell'efficacia della tecnica e delinearne
gli aspetti teorici . La seconda fase, realizzata presso una azienda
di strumenti musicali, ha portato alla progettazione e realizzazione
di un prototipo valutativo che permette la sintesi in tempo reale.
La tecnica si basa sul campionamento di una funzione di n variabili
lungo un'orbita definita dallo sperimentatore; in particolare
si è studiato il caso n=2. La F[x(t), y(t)] deve soddisfare
ad alcune condizioni al contorno che garantiscano la continuità
del segnale generato; le richieste minime sono che sia zero agli
estremi dell'intervallo di definizione e che ivi abbia derivate
prime continue.
Una funzione utilizzata è la seguente:
La forma dell'orbita è definita dalle seguenti equazioni:
La variazione dei parametri dei termini orbitali consente di
variare l'orbita stessa, e quindi il percorso che essa esegue
sulla superfice definita dalla F(x,y). Il risultato è una
differente forma d'onda, con un proprio spettro armonico, per
ogni insieme di parametri.
La prima verifica della funzionalità della tecnica di sintesi
è stata effettuaua implementando un microprogramma sul
Digital Signal Processor DMX-1000, comandato da un DEC PDP-11.
Successivamente si è trasferito l'algoritmo su un sistema
composto da un VAX 11/750 unito a un computer musicale Fairlight
II; l'ultima prova è stata effettuata con un Macintosh
collegato a un campionatore Akai S900. Tutti questi sistemi hanno
mostrato delle limitazioni in rapporto alle potenzialità
della tecnica di sintesi, dovute o scarsità di memoria
(DMX-1000) o all'impossibilità di generazione e variazione
dei parametri in tempo reale, fatto che rende la sperimentazione
eccessivamente dispendiosa in termini di tempo. E' pertanto maturata
la necessità di disporre di un'apparecchiatura dedicata.
L'idea base parte dal concetto di una struttura modulare destinata
essenzialmente alla tecnica di sintesi in oggetto, ma che possa
essere facilmente riconfigurata per qualsiasi algoritmo di sintesi.
Si è pertanto trasferito in forma circuitale l'algoritmo
di generazione: quattro oscillatori, due a "dente di sega"
e due sinusoidali, realizzati secondo il classico algoritmo dell'oscillatore
virtuale, traducono il termine lineare e quello trascendente dei
due termini orbitali; questi vengono usati per indirizzare una
memoria, attraverso un apposito circuito, su cui è caricata
la funzione di due variabili. La memoria è la più
grande possibile, compatibilmente con esigenze costruttive ed
economiche, onde ottenere un discreto rapporto segnale-rumore
senza ricorrere a tecniche interpolative. La gestione del prototipo,
visto come periferica di un personal computer , è affidato
a una apposita scheda microprocessore programmabile che utilizza
un 6301 della Hitachi, un micro a 8 bit compatibile con il 6800
Motorola, collegato via RS-232 al computer di controllo.
La costruzione fisica del sistema si è concretizzata in
una serie di schede funzionali che montano integrati veloci HCMOS:
questi e l'architettura "pipelining" permettono un'alta
frequenza di campionamento.
La fase di collaudo ha verificato la correttezza costruttiva e funzionale delle singole schede attraverso l'ideazione e la costruzione di semplici strumenti di test. Successivamente si è provveduto a installare, sulla memoria del microprocessore, un programma Monitor onde rendere autonomo il prototipo nella fase di sviluppo del software. Parimenti sono stati realizzati, sul computer esterno, i programmi di generazione della funzione di due variabili, di trasferimento dati e di simulazione per il riscontro delle forme d'onda in uscita all'apparecchiatura.
Attualmente sono in fase di ultimazione i test del prototipo,
in particolare la stesura del software assembler di gestione definitivo
e di quello di comunicazione dal personal computer; la tecnica
di sintesi ha già dimostrato le sue potenzialità
durante la prima fase del lavoro. Il futuro prevede l'approfondimento
teorico della sintesi TVF, con la determinazione di famiglie di
funzioni e di orbite adatte alla simulazione di suoni naturali
e della voce, eventualmente con la costruzione di un secondo
prototipo più raffinato, e la possibile ingegnerizzazione
del sistema.