JMSL


JMSL è un linguaggio, basato su Java, per la sperimentazione con la composizione musicale algoritmica, l’esecuzione dal vivo e la realizzazione di strumenti intelligenti.

Cenni storici – JMSL è stato realizzato da Nick Didkovsky, il quale partendo dal lavoro di Phil Burk, JSYN, e dalla precedente esperienza di HMSL, ha voluto realizzare un linguaggio che, secondo i suoi obbiettivi, dovrebbe configurarsi come il naturale successore di HMSL, sviluppato agli inizi degli anni Ottanta. Diverse idee sviluppate in quest’ultimo, sono state introdotte in JMSL dallo stesso Didkovsky già dal 1997. I suoi primi lavori musicali, sempre di quegli anni, hanno fornito un ottimo campo di sperimentazione utile a testare le capacità del programma. Il lavoro per JMSL è stato realizzato anche insieme a Phil Burk. Didkovsky ha iniziato ad utilizzare JMSL già dal 1999, all’interno del suo corso Java Music System dell’Università di New York, sebbene la prima versione ufficiale sia stata rilasciata solo nel 2001.[1]

Caratteristiche – L’obbiettivo di lavoro per JMSL era di realizzare un’API (acronimo di Application Programmers Interface) per la composizione musicale algoritmica che fosse altamente portabile, flessibile e stilisticamente neutro. JMSL estende le caratteristiche di Java introducendo classi, funzioni ed altri strumenti dedicati alla musica. Così come per JSyn, anche JMSL nasce dall’idea di superare l’approccio di linguaggi o software basati su un linguaggio dedicato. Da questo aspetto nasce l’idea di utilizzare Java come linguaggio di riferimento. Sempre in maniera simile a JSYN, anche JMSL si presta alla creazione di applicazioni stand-alone o per un utilizzo sul web. Nascendo dalla collaborazione di Didkovsky e Burk, è chiaro che JMSL supporta molte funzionalità presenti in JSYN.

JScore – Si tratta di un editor per la notazione musicale. A differenza di JMSL non è basato interamente su Java, ma le sue caratteristiche lo rendono comunque personalizzabile ed estensibile. JScore è un API che consente sia l’inserimento di note all’interno di una partitura che un lavoro di modifica su una partitura pre-esistente. Attraverso JScore è possibile inserire anche note generate automaticamente con metodi algoritmici oppure gestire orchestre realizzate con JSYN e con sistemi MIDI. Tra le altre utilità di JScore troviamo la possibilità di esportare le partiture in un formato stampabile per eventuali pubblicazioni.

Altre integrazioni – Oltre a JSYN e a JScore, va ricordato che JMSL supporta anche JavaMIDI di Robert Marsanyi, MidiShare e JavaSound. Didkovsky, come compositore, ha realizzato numerosi lavori personali utilizzando JMSL. L’aspetto più importante, rispetto alle altre integrazioni, forse è il fatto che oggi anche Max/Msp support JMSL.

 

Per scrivere questa voce ho letto:

[1] Nick Didkovsky, Philip Burk, Java Music Specification Language, an Introduction and Overview, Proceedings of ICMC, Miami, 2004, USA.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *