Projets d'informatique musicale
Licence-Maîtrise d'informatique - Université de Caen
Marc Chemillier

  • Java et la musique : Javasound

    Java 2 (décembre 1998) incorpore des packages de classes dédiées à la musique, dans l'API appelée Java sound qui permet de programmer des applications musicales complètes. Ces packages sont incorporés dans l'API Java Media Framework (JMF 2.1.1, décembre 2000). On peut ainsi faire de la génération musicale sur le Web, sous forme d'applet produisant de la musique à partir de fragments musicaux transformés et combinés les uns avec les autres selon un algorithme déterminé.

    Ces classes dédiées à la musique sont disponibles à partir de la version JDK 1.3 du Java Development Kit, aujourd'hui renommé Java 2 System Development Kit. La dernière version J2SDK 1.3 (décembre 2000) est disponible sur :

    Macintosh : L'API Java sound n'est pas disponible dans la dernière version MRJ SDK 2.2 du Software Development Kit pour Mac OS Runtime for Java (qui implémente le JDK 1.1.8 de Java) : http://asu.info.apple.com/swupdates.nsf/artnum/n11572

    Pour traiter ces classes, les navigateurs ont besoin du Java Plug-in 1.2 (non disponible actuellement pour Mac).

    Dans les versions antérieures de Java (ou avec Javascript), on peut jouer des fragments musicaux contenus dans des fichiers. Mais on ne peut pas jouer ces fichiers en séquence, car on ne peut détecter à quel moment un fichier a fini de jouer.

    Il existe déjà d'autres packages de classes dédiées à la musique, qui étendent les possibilités de Java pour manipuler des séquences audio ou midi (voir la page d'exemples musicaux réalisés avec les classes Java-MidiShare). Voilà une liste assez détaillée des packages disponibles :
    http://music.calarts.edu/~tre/JavaMusic.html

    Biblio :
    Description des classes Java 2 dédiées à la musique : http://java.sun.com/products/java-media/sound
    M. D. MELOAN, The Science of Java Sound Technology : http://developer.java.sun.com/developer/technicalArticles/Media/JavaSoundAPI


  • Une démo de Javasound

    Une démo est fournie dans le fichier d'installation de l'API Javasound du JDK 1.3. En double-cliquant sur le fichier JavaSound.jar, on lance quatre applications musicales réalisées avec Javasound (voir demo.txt) : Jukebox, Capture/Playback, Midi Synthesizer, Rhythm Groove Box. Le code java correspondant aux programmes :
  • Le Jukebox

    La colonne de gauche affiche une liste de fichiers à différents formats (wav, aiff, rmf, au). Les morceaux sont joués et enchainés. Possibilité de changer de morceau en temps réel avec les boutons flèches.

  • Le Midi synthesizer

    Un clavier sur lequel on joue les notes en cliquant avec la souris. Plusieurs familles de sons (piano, chromatic perc., organ, guitar, ...).

  • La Groovebox

    Trois patterns rythmiques de Rock prédéfinis éditables. Possibilité de ralentir ou accélérer en temps réel (réglage bpm).