Resp: Richard Terrat
Partie de cours de Jacques Ferber
Le cours dont le responsable est Richard Terrat, porte sur la musique, les sons et l'informatique.
La partie du cours dont je suis responsable porte sur :
Les TP porteront sur la programmation de modules MIDI en Java, ainsi que sur une manipulation de synthétiseurs virtuels afin de comprendre les principes de la synthèse sonore.
Vous trouverez dans l'archive testjavasound, un moyen de comprendre et de démarrer des MidiDevice à l'aide de Java Sound.. Cet ensemble de sources comprend un petit logiciel de test 'TestJavaSound' qui liste les entrées sorties accessibles sur votre système et une classe MidiConnector qui permet de connecter des MidiDevice entre eux.
Description du package dans ce fichier readme.pdf.
Ensuite un programme appelé MidiConnector permet de connecter une entrée physique (un clavier par exemple) à une sortie qui peut être soit le synthétiseur de JavaSound soit une sortie physique (si vous en avez une bien entendu). Le composant MidiTransposer est en fait un tranposer neutre qui ne fait qu'envoyer en sortie ce qu'il a reçu en entrée.. C'est en fait à partir de là que vous pouvez construire tous les modules midi (device) que vous désirez... Ensuite il n'y a plus qu'à patcher les composants entre eux, comme on le fait dans MidiConnector..
Cette archive comprend en plus quelques fichiers fournis par Tritonus et jsresources.org
Package javax.sound.midi : API Documentation
Remarque: il y a des fichiers de sons et midi dans le package de démo de Java Sound.
Fichier WAV : gagne.wav
Fichier MIDI : weepmine.mid
Banque de son : soundbank-min.gm
Voici les "polys" de ce cours de maitrise au format .pdf. En fait ce sont des copies des transparents que j'utilise en cours.. En attendant de proposer des polys adaptés à ce cours, on pourra aller utiliser les polys du DESS:
| Concepts de Midi et JavaSound | COURS_Midi_JavaSound.pdf |
| La synthèse de son | Cours sur la synthèse sonore (soustractive et FM) |
| TP 1 : | Premiers pas sur JavaSound |
|
TP 2 : |
|
|
TP 3 : |
Globalement l'ensemble des projets porte sur la réalisation de modules sonores réalisés à l'aide de Java Sound Midi..
Dans tous les cas, l'idée est de construire un module (device en Java Midi) qui puisse s'intégrer à d'autres modules. On fera attention à ce que le device puisse être bien séparé de l'interface (le module sera défini par une API et l'interface sera définir dans une classe à part qui pilotera l'API du module).
Un arpégiateur est un outil de reproduction d'arpèges, c'est à dire de suites de notes correspondant à un accord. Le principe est le suivant: un musicien joue un accord sur un clavier et l'arpégiateur joue les notes de l'accord dans un ordre pré-établi (montée, descented, montée-descente, accord ryhtmique, aléatoire) avec un ryhtme pré défini. Pratiquement tous les synthés actuels disposent d'un arpégiateur, du simple au complexe. Voici l'arpégiateur de Reason:
(cliquer
sur l'image pour l'agrandir)
On suppose que l'on envoie des notes (événements note on) dans un buffer. L'arpégiateur joue ses notes en faisant des arpèges. Voilà les fonctionnalités standard d'un arpégiateur:
On pourra s'inspirer d'arpégiateur existants. La plupart des synthés (hard ou soft) comprennent un arpégiateur.
Les séquenceurs "pas à pas" ont fait les beaux jours de la musique électronique des années 70 et 80. On les entend toujours dans les musiques actuelles (ambient, dance, house...). Le principe est qu'un programmeur entre les notes qui vont être jouées sur une séquence de 12 à 32 notes (en général), toutes les notes étant jouées au même tempo.
(cliquer sur
l'image pour l'agrandir)
Voici un exemple de step sequencer: les notes sont jouées sur une grille, les boutons en dessous donnent la vélocité (force) de la note ainsi que d'autres paramètres assignables (legato ou lié, ouverture du filtre, etc...)
(cliquer
sur l'image pour aller sur le site)
ou bien le sequenceur Matrix de Reason (vu ici doublé pour correspondre plus à ce que l'on demande d'un "vrai" step sequenceur):

Les plus:
Faire de la musique assistée par ordinateur nécessite la présence d'un modules de gestion de notes. Ce sujet se propose de réaliser un petit ensemble de modules qui pourront être reliés les uns aux autres afin de gérer une cascade de modules...
Quelques modules à réaliser (tous ces modules sont à réaliser). Chacun de ces programme est en fait très simple. Dès que vous aurez réalisé le premier, les autres paraitrons assez faciles.
Il s'agit de reproduire à l'aide de Java Sound, le mécanisme utilisé dans le logiciel Ocarina pour l'Iphone qui consiste à souffler dans un micro pour avoir une note, pendant qu'on joue la note sur un clavier.
retour au début de ma page d'accueil