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.