IMA4 2016/2017 P19 : Différence entre versions
(→Semaine 1) |
(→Semaine 1) |
||
Ligne 89 : | Ligne 89 : | ||
*Message de statut permettant de choisir :<br> | *Message de statut permettant de choisir :<br> | ||
**Une fonction : note on, note off, contrôle/change mode ... | **Une fonction : note on, note off, contrôle/change mode ... | ||
− | Dans le cas d'un contrôle de note on peut préciser : | + | Dans le cas d'un contrôle de note on peut préciser : |
**Un canal(1 à 16) | **Un canal(1 à 16) | ||
**La hauteur de note (0 à 127) | **La hauteur de note (0 à 127) |
Version du 25 janvier 2017 à 14:16
Cahier des charges
Discussion du 09/12 avec M Redon :
- Contrôle des lecteurs disquettes et HDD fonctionnel.
- Revoir la régulation de l'imprimante matricielle : potentiellement juste effectuer des tests "réponse à une entrée" pour établir la fonction de transfert de l'imprimante.
- Réussir à "faire croire" aux modems qu'ils communiquent via un serveur vocal : explorer la piste du module Pluscom skype/pstn gateway.
- Approfondir l'analyse des fichiers MIDI.
- Éventuellement chercher d'autres instruments !
Présentation générale du projet
Contexte
Pour ce projet nous reprendrons celui de l'an passé. Il s'agira de finir les tâches entamées et d'en commencer de nouvelles afin de fournir à l'artiste Lucas Prieux, un orchestre électronique fonctionnel et répondant à ses souhaits afin qu'il puisse assurer son spectacle Humains dans des conditions idéales.
Description du projet
Ce projet consiste à mettre au point un orchestre électronique, c'est à dire utiliser des appareils obsolètes tels qu'une imprimante matricielle, des disques durs, lecteurs de disques, scanners, modems,... afin de produire des sons joués par l'artiste via un clavier MIDI et de mettre au point une interface WEB afin de gérer les instruments déployés.
Objectif du projet
L'objectif est de compléter le travail effectuer l'an passé par nos camarades, il se divise en deux grandes parties :
- Électronique : commander l'imprimante matricielle et les modems.
- Informatique : analyser un fichier MIDI afin de générer la commande de nos divers instruments.
Choix techniques : matériel et logiciel
Nous reprendrons le matériel utilisé par le groupe de l'an dernier, à savoir :
- Raspberry Pi
- Des adaptateurs USB-MIDI avec 1 USB et 2 sorties MIDI_IN et MIDI_OUT
- Instruments électroniques:
- Lecteurs de disquettes
- Disque dur
- Imprimante matricielle
- Modem 56k
- Magnétoscope
- Lecteurs CD/ROM
- Scanner
- Clavier MIDI
Calendrier prévisionnel
Liste des tâches à effectuer
Dans un premier temps nous souhaitons :
- Analyser un fichier MIDI, afin de pouvoir traiter les données envoyées par le clavier MIDI et générer une commande adaptée à chaque instrument
- Récupération du fichier
- Isoler les informations utiles
- Traiter ces informations de façon à générer une commande adaptée à chaque instrument (lecteur disquette, imprimante...)
- Commander les modems 56k
- Commander l'imprimante matricielle
- Commander le scanner
Calendrier
A la vue des premières recherches que nous avons effectuées et du temps nécessaire à la réalisation de chaque tâche:
- Vivian se consacrera principalement à l'analyse du fichier MIDI
- Antoine s'occupera de commander les modems et l'imprimante matricielle
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Définition cahier des charges | 0 |
Avancement du Projet
Semaine 1
Recherche à propos de la construction d'un fichier MIDI :
jchr.be
midi.org
D'après la spécification MIDI on distingue deux principaux types de message MIDI :
- Message de statut permettant de choisir :
- Une fonction : note on, note off, contrôle/change mode ...
Dans le cas d'un contrôle de note on peut préciser :
- Un canal(1 à 16)
- La hauteur de note (0 à 127)
- Sa vélocité (0 à 127)
- Message de contrôle permettant diverses fonctions de contrôle, de modulation de note, d'effets ...
Ces données sont précédées d'une entête de 14 octets :
- 4 octets pour préciser le format du fichier (MIDI)
- 4 octets pour définir la longueur de l'entête
- 2 octets pour définir le format ( single, double track ou multiple song)
- 2 octets pour définir le nombre de pistes
- 2 octets pour définir le nombre de subdivisions découpant un temps (beat)