5.4 Sistemi di codifica
5.4.1 Mapping
Il “Mapping” `e una tecnica comunemente impiegata nell’Informatica musicale in vari contesti applicativi. Nel campo della composizione algoritmica il mapping viene largamente utilizzato nello sviluppo di sistemi di musica generativa per mettere in relazione due o pi`u parametri caratterizzati da campi di variazione differenti. Per quanto riguarda invece la sintesi del suono e lo sviluppo di stru- menti musicali digitali, le tecniche di mapping vengono impiegate per collegare i parametri di controllo di un sintetizzatore con i parametri di sintesi dello stru- mento. Nella realizzazione di un sistema di controllo per uno strumento musicale digitale `e di fondamentale importanza riuscire a definire un’opportuna strategia che riesca a trasformare un certo numero di variabili di controllo, siano esse di
natura discreta oppure continua, in un altro numero, generalmente diverso dal primo, di variabili che modificano i processi di sintesi del suono [10, 47, 75].
In una ampia accezione il mapping `e tipicamente legato alla possibilit`a di as- sociare alcune variabili con alcune altre. Le tecniche di mapping impiegano delle trasformazioni di natura prettamente matematica che consentono di metterere in relazione un elemento appartenente ad un dato insieme con un altro elemento definito nello stesso oppure in un altro insieme. Infatti al termine mappa nel linguaggio matematico viene associato il significato di: corrispondenza univoca, morfismo, mentre in inglese l’espressione “Map onto Something” significa far corrispondere qualcosa con qualcos’altro tramite un’opportuna relazione diret- ta. Questa corrispondenza pu`o essere stabilita fra varie grandezze tramite una mappa, ossia una funzione che associa a ogni elemento di un dato insieme X, detto dominio della funzione, un elemento di un altro insieme Y , detto codo-
minio della funzione. Nel caso dei sistemi di controllo e delle interfacce per
gli strumenti musicali digitali le mappe, spesso, vengono costruite per punti in maniera da definire una corrispondenza puntuale tra i valori assunti dai diversi parametri di controllo e il suono prodotto dallo strumento. In questo caso risulta necessario utilizzare delle opportune funzioni d’interpolazione che producano in maniera soddisfacente i valori intermedi fra i vari punti presi in considerazione. In questo caso il modo in cui s’interpolano i punti influisce in maniera determi- nante sulla resa sonora dello strumento musicale. Inoltre spesso i sintetizzatori e gli strumenti musicali basati su tecniche di sintesi digitale sono caratterizzati da un numero di parametri molto elevato che rende praticamente impossibile il controllo in tempo reale di tutti i parametri da parte di un utente. Per ridur- re la complessit`a legata a un ampio numero di parametri `e possibile impiegare un interpolatore multidimensionale (High–Dimensional Interpolator –HDI) che consente di controllare un vasto numero di parametri di sintesi tramite un ri- stretto numero di parametri di controllo manipolabili dall’utente. In generale le strategie di mapping possono essere classificate in tre diverse categorie:
uno a uno (one–to–one): un parametro d’ingresso viene trasformato in un parametro d’uscita, generalmente definito all’interno di un campo di valori differente dal primo o caratterizzato da un andamento diverso (lineare, esponenziale, logaritmico,...);
uno a molti (one–to–many): uno parametro d’ingresso viene trasformato in un certo numero di parametri d’uscita;
molti a uno (many–to–one): pi`u parametri d’ingresso vengono trasformati in un unico parametro d’uscita.
Dalla combinazione di mappe e trasformazioni appartenenti a queste tre diverse categorie `e possibile creare sistemi che possono anche mettere in relazione un certo numero di grandezze in ingresso con un certo altro numero di grandezze in uscita, ossia creare delle trasformazioni “molti a molti” (many–to–many).
La definizione dei mapping, formulata tramite l’impiego del concetto mate- matico di funzione, consente di stabilire sia “che cosa” viene associato, ossia le coppie di elementi messi in relazione e dunque i punti o le regioni dello spazio dei parametri d’ingresso e i loro corrispettivi nello spazio dei parametri d’uscita, sia “come” avviene tale associazione, in altri termini il modo secondo cui si rea- lizza la corrispondenza e dunque la natura stessa della trasformazione dei punti
da un insieme all’altro. Nel caso in cui si abbia una collezione di N parametri d’ingresso continui queste variabili possono essere pensate come le coordinate di uno spazio Euclideo continuo a N–dimensioni. In tal caso la trasformazione realizzata mediante il mapping definisce:
• l’associazione tra i vari elementi dello spazio d’ingresso a N–dimensioni e lo spazio d’uscita a M–dimensioni (il “che cosa” della trasformazione);
• le regole che governano il processo di associazione fra i punti dei due spazi (il “come” della trasformazione).
Da un punto di vista matematico il mapping consiste in una funzione continua da Rn in Rmin cui n e m sono due numeri interi arbitrari che corrispondono al
numero di variabili in ingresso e in uscita al processo di mapping. Una semplice mappa che associa gli elementi dei due spazi pu`o essere creata impiegando delle operazioni tra matrici. Infatti, si pu`o definire con x = {x1, x2, ..., xn} un vettore
di dimensione n relativo allo spazio dei parametri d’ingresso, ossia al dominio
X della funzione, e con y = {y1, y2, ..., ym} un secondo vettore di dimensione
m appartenente allo spazio dei parametri d’uscita, ossia al codominio Y della
funzione. Una semplice trasformazione che associa a ogni vettore di X un vettore appartenente a Y pu`o essere rappresentato tramite la relazione matriciale:
y = Ax + B (5.6)
in cui A rappresenta una matrice m × n e B `e un vettore di dimensione m. Gli
m × n coefficienti che compongono la matrice A e gli m elementi del vettore B
possono essere esattamente determinati a partire dalla definizione di una serie di n + 1 esempi, del tipo {xi, yi, } con 1 ≤ i ≤ n + 1, che associano i punti
nello spazio degli ingressi ai punti nello spazio delle uscite. Quest’approccio `e largamente utilizzato in letteratura per lo sviluppo di sistemi di controllo e di interfacce per strumenti musicali digitali, allo stesso tempo pu`o essere utilizzato anche nel campo della composizione algoritmica e della musica generativa per la trasformazione delle serie di dati prodotte dall’evoluzione di sistemi dinamici in parametri musicali e/o sonori che possono essere utilizzati come mezzo di rappresentazione uditiva.