\nuovoarticolo{Angelo Iacubino}{Musica in Cifre}{%
Angelo Iacubino \\
Via P. Gobetti 2 \\
I-71011 Apricena FG \\
Tel.:~(0882)641568
}{}{italian}{%
\selectlanguage{english}
There are two types of people in this world, good and bad.  The good
sleep better, but the bad seem to enjoy the waking hours much more.}
{Woody Allen}

%\section*{Musica in Cifre}

\sez{Come è nata l'idea}

In un grigio pomeriggio di caserma, mentre studiavo nuove applicazioni
nel campo della Computer Music, ricordai le vecchie lezioni di Analisi
e pensai: ``Con una funzione matematica possiamo determinare un legame
tra insiemi; se applichiamo lo stesso concetto a una composizione
musicale, cosa otteniamo?''

Immediatamente mi misi al lavoro con la mia calcolatrice programmabile
e buttai giù un po' di codice per eseguire i calcoli richiesti.

Effettuato un lavoro di conversione da numeri decimali in note musicali, presi il mio fido
clarinetto e provai a suonarle. Rimasi molto sorpreso, in quanto, dando una determinata
durata alle note, venne fuori un melodia molto orecchiabile.

\sez{Il seguito}

Da quel pomeriggio è passato circa un anno, e durante questo periodo ho
perfezionato la mia idea.

Ho scritto un programmino che, ricevendo in ingresso una o più funzioni
reali, codifica i numeri calcolati in note conformi al protocollo MIDI,
e le trasmette alla seriale in modo da farle suonare a un expander.
L'algoritmo di calcolo è molto semplice e si articola nei seguenti passi:

\begin{enumerate}

\item calcolo di $f_1(x)$, $f_2(x)$,$\ldots$;
\item ricerca dei max e min per ogni funzione nell'intervallo $[a,b]$:
\item suddivisione del range in accordo alle note 36-100 del protocollo MIDI
\item calcolo delle  $F(x+dx)$ dati i passi d'incremento per ogni funzione, e
associazione di note MIDI a tali valori
\item trasmissione alla seriale dei relativi messaggi MIDI ``note on-off''
calcolati nel punto 3, con durata delle note costante per ogni
funzione.

\end{enumerate}

Il procedimento di calcolo è molto semplice, ma consente nello stesso tempo
di avere risultati strabilianti.

\sez{L'evoluzione}

L'obiettivo finale di queste mie osservazioni sarebbe quello di poter
sintetizzare un'intera partitura con un insieme di funzioni matematiche,
per esempio in questo modo :

\begin{itemize}
\item $F_1(x)$ rappresenta la melodia;
\item $F_2(x)$ indica la durata delle note di $F_1(x)$;
\item $F_3(x)$ il modo in cui devono essere suonate le note: legato, staccato, forte, piano
ecc.
\end{itemize}

In questo modo, scegliendo le opportune timbriche da un expander
musicale e le giuste funzioni matematiche, si aprono nuovi orizzonti per
la composizione della musica al calcolatore (e tutto questo è fatto con un
\amiga{}!).

Il programma allegato, MathShell VO.1a, è una versione approntata solo per
mostrare alcuni risultati ottenuti. La versione finale, attualmente in fase di
sviluppo, contiene anche un output grafico delle funzioni matematiche con
molte possibilità di intervento sulle variabili in gioco.

Spero, inoltre, che tutto questo serva per spronare altre persone ad avvicinarsi in un modo
diverso all'\amiga{}, cercando di ricordare che non è solo una macchina per
videogiochi!

\finearticolo
