Faites-le vous même!
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Faites-le vous même!


 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ChatBoxChatBox  ConnexionConnexion  
Le Deal du moment : -24%
Continental Edison – TV LED – HD 32″ ...
Voir le deal
99.99 €

 

 Tout sur le MIDI

Aller en bas 
AuteurMessage
Franky
Modo
Franky


Nombre de messages : 736
Age : 36
Localisation : Grenoble
Date d'inscription : 04/05/2007

Tout sur le MIDI Empty
MessageSujet: Tout sur le MIDI   Tout sur le MIDI Icon_minitimeDim 25 Nov 2007 - 13:57

Je centralise les infos que j'ai appris sur la norme MIDI

Introduction:

Le MIDI est un langage numérique qui sert à transmettre des informations décrivant un son. Il a été inventé pour permettre aux synthétiseurs de communiquer entre eux, et pour numériser les actions musicales classiques...

Il s'agit d'un langage série, ce qui signifie que le signal passe uniquement par 3 conducteurs (aller, retour, masse), au contraire d'une liaison parallèle où il faut autant de fils que de bits à transmettre.

Le binaire:

Quelques rappels sur le binaire:
Une entité pouvant avoir la valeur 1 ou 0 est nommée "bit", on peut voir ça comme une case possédant deux valeurs possibles.
Une association de 8 bits forment un octet.
Avec n bits, on peut coder 2^n valeurs décimales. Par exemple, 4 bits permettent de coder 16 valeurs.
Pour passer du binaire au décimal, on multiplie par la puissance de 2 qui correspont à la position du bit:
7 6 5 4 3 2 1 0
0 1 0 0 1 1 0 0

L'exemple ci dessus donne: 2^6 + 2^3 + 2^2 = 64 + 8 + 4 = 76
Donc 01001100 = 76

Passer du décimal au binaire est moins évident: il faut décomposer le décimal en puissances de 2, en partant des plus grandes jusqu'à la dernière, 1 (2^0).
Reprenons notre exemple:
La puissance de 2 située juste en dessous de 76 est 64, soit 2^6. On place donc le bit correspondant à 1. Puis on retranche 64 à 76, ce qui nous donne 12. Et on recommence, la puissance de 2 située juste en dessous de 12 est 8, ect... et on obtient bien 01001100.

Les Messages:

Faisons un peu d'analogie: si un message MIDI était un train, le câble serait les rails, et les "mots" MIDI seraient les wagons... Tout train nécessitant une locomotive, en MIDI celle ci se nomme "octet de statut". Les wagons sont quand à eux nommés "octets de données". On les différentie par la valeur du premier bit qui les compose (le bit de poids le plus fort, ou MSB, pour Most Significant Bit), s'il est à 0, c'est un octet de données, s'il est à 1, c'est un octet de statut.

Ceci nous laisse dont 7 bits dans les octets pour coder les informations qui nous intéressent. Si cela est largement suffisant pour les statuts (on a rarement besoin de plus de 128 commandes pour piloter un synthé), c'est en revanche parfois insuffisant pour les données. C'est pour cela qu'on va pouvoir accrocher plusieurs wagons à notre train..

Voici comment se décomposent les octets de statut:
1 pour dire qu'on est bien sur un statut (le MSB)
xxx (3 bits) pour coder le type d'action (note on, control change, program change, aftertouch ect...)
xxxx (4 bits) pour coder le canal MIDI utilisé

Par exemple, un statut de note on sur le canal 3 s'écrirait:
10010010

Les canaux MIDI:

Il s'agit d'une information dans la locomotive qui pourrait s'apparenter à sa destination. Un canal MIDI est une info codée sur 4 bits (16 canaux en tout donc) permettant à un synthé de n'écouter que certains ordres parmi le flot continu qui s'écoule dans la chaine. On a bien 16 canaux, mais il faut faire attention que le canal numéro 1 est codé 0000, soit une valeur binaire de 0.. Les valeurs de canaux vont donc de 0 à 15, il faut donc faire attention à la méthode que l'on utilise pour compter les canaux..
Revenir en haut Aller en bas
http://fortyseveneffects.blogspot.com
 
Tout sur le MIDI
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [MIDI] Interface MIDI - Arduino
» M16DX (USB) + clavier midi usb
» Arduino + MIDI + Pure Data
» Celui qui a tout compris...
» Jouet qui joue tout seul :)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Faites-le vous même! :: Base de données :: Tutoriaux et Leçons-
Sauter vers: