Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Implémention MIDI et SysEx

  • 0 réponse
  • 1 participant
  • 524 vues
  • 1 follower
Sujet de la discussion Implémention MIDI et SysEx
Pour ceux qui prennent leurs vacance dans le MIDI :clin: voici un résumé de mon étude des messages Midi de l'Ion.

Attention, ces informations sont à prendre au conditionnel...
Ansi, il subsiste quelques points d'interrogation dans le texte.

Citation :
ION/MICRON
Implementation Midi

Format de message SysEx :
-------------------------

Pos. octets = Valeur hexa | Nom : Note
000 1 = F0 | SOX : Start of Exclusive ( standard )
001 3 = 00 00 0E | MANUF. : 'Alesis'
004 1 = 22 | DEVICE : famille d'appareils, 22 = Ion/Micron
005 4 = ?? ?? ?? ?? | OP-CODE: décrit le contenu du SysEx
006 64 = ?? 51 30 ... | HEADER : Contient la chaine .Q01SYNT.H... Role?
073 ? = ... | DATA : Données, leur nature dépend de OP-CODE
der. 1 = F7 | EOX : End Of Exclusive ( standard )

Format de OP-CODE :
--------------------
Apparement, le premier octet indique la nature générale du message.
Deux valeurs ont été identifiées 00 et 01 :

00 Bank Dump :
l'octet 2 indique le numéro de banque 0, 1, 2, 3 et 4 pour Edit buffer ?
l'octet 3 indique le numéro de patch de départ. 0 pour une banque complète.
l'octet 4 indique le nombre de patchs. 127 pour une banque complète ?
Note : l'octet 4 pourrait indiquer plutôt le numéro du patch final...

01 Patch Dump :
l'octet 2 indique le numéro de banque 0, 1, 2, 3 et 4 pour Edit buffer.
l'octet 3 indique le numéro de patch. 0 à 127 (0 à 3 pour Edit buffer).
l'octet 4 est inutilisé ?

Format des données Alesis :
-------------------------------
Alesis utilise des valeurs 8bits et 16 bits, mais comme le protocole MIDI n'autorise que 7 bits pour le transfert de données, Alessis à 'rusé' en stockant 7 octets de 8 bits sur 8 octets de 7 bits.
Donc, dans un groups de 8 octets, le premier contient les bits n°8 des 7 octets suivant.

Le message binaire de 8 octets à 7 bits :
ABC DEFG
HHH HHHH
III IIII
JJJ JJJJ
KKK KKKK
LLL LLLL
MMM MMMM
NNN NNNN
se convertit en 7 octets à 8 bits :
AHHH HHHH
BIII IIII
CJJJ JJJJ
DKKK KKKK
ELLL LLLL
FMMM MMMM
GNNN NNNN

Modifier la destination d'un SysEx:
-----------------------------------
Pour éviter d'écraser un patch existant en envoyant un SysEx vers l'Ion ou le Micron, on peut changer la valeur de OpCode.
- Ouvrez le fichier .syx en binaire.
Les premières valeurs sont par exemple F0 00 00 0E 22 01 03 4A 7E 00 51...
- Localisez la septième valeur : ici 03 qui indique le numéro de banque.
- Modifiez la valeur en 04 (edit buffer)
- Localisez la huitième valeur : ici 4A qui indique le numéro de patch.
- Modifiez la valeur en 00 (edit buffer part A)
- Enregistrez le fichier.

Maintenant le SysEx sera placé dans la zone d'édition temporaire du Part A sans écraser aucun son existant. Vous n'avez plus qu'a le stocker où vous voulez.