Se connecter
Se connecter

ou
Créer un compte

ou

Fichier MIDI hexa -> décimal ?

  • 56 réponses
  • 4 participants
  • 2 604 vues
  • 5 followers
Sujet de la discussion Fichier MIDI hexa -> décimal ?
Bonjour,

Je dois modifier un fichier MIDI d'un morceau joué par orgue à tuyaux doté d'un enregistreur MIDI.
J'ai la notice des contrôleurs utilisés dans l'orgue mais quand j'ouvre le fichier avec cubase, il ne m'affiche pas les mêmes numéros de contrôleurs que ceux de la notice.

Exemple : pour changer de registre de l'orgue, comme pour les sons des synthés, on utilise program change.
Sur un synthé général MIDI, program change 0 = piano etc...
Sur l'orgue, j'ai par exemple

Registre n°1 ON = program change - canal 8 - controler 00
Registre n°1 OFF = program change - canal 8 - controler 01

ou

Registre n°x ON = program change - canal 8 - controler 0A
Registre n°x OFF = program change - canal 8 - controler 0B

Sauf que dans cubase, cela n'apparaît pas de la même façon, on a plutôt des chose du style
Program Change - donnée 1 = 2 - donnée 2 = 0 - donnée 3 = (vide) - voie = 8

J'ai donc trois colonnes de données et aucune ne correspond à celles de la notice.
Est-ce que c'est parce que j'ouvre le fichier MIDI avec un logiciel qui n'est pas adéquat ?

De plus, j'ai plein de contrôleurs qui apparaissent et qui ne correspondent pas à ceux de la notice.

Quelqu'un a une idée pour la correspondance des deux langages, s'ils sont toutefois différents ?

J'ai essayé d'ouvrir avec un éditeur hexa mais j'ai un flow de chiffres incompréhensibles.

Merci

[ Dernière édition du message le 03/04/2017 à 18:04:15 ]

Afficher le sujet de la discussion
31
Chimimic,

Aurais-tu un soft pour ouvrir les fichiers MIDI en hexa.
L'entreprise me dit que les séquenceurs tels que CUBASE peuvent se planter dans l'affichage des données, celles-ci étant parfois en hexa mais aussi en gray.
J'ai effectivement le même control change et les même valeurs pour l'activation d'un registre et pour la pédale d'expression, ce qui n'est pas du tout possible. Il y a erreur dans l'affichage des control change et des valeurs.
32
Bonjour,
oui, j'en ai développé un il y a plus de 10 ans, mais on doit surement trouver mieux maintenant ;)
Editeurs hexa

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

33
j'ai déjà un éditeur hexa mais ça m'affiche des centaines de lignes. Comment se repérer dans cet amas de milliers de chiffres?

Ce qu'il faudrait c'est avoir des colonnes avec une grille temporelle et le nom de l'évènement en lettre (pour se repérer) et le code natif.

Car si je veux trouver "le controleur et sa valeur" de l'évènement qui survient mesure 107.04.04.020, je le trouve comment dans la suite de milliers de chiffres de l'éditeur hexa ?

34
une autre question : un évènement MIDI peut comporter 1, 2 ou 3 octets (ou plus d'après ce que tu as écrit).

Comment le logiciel qui va décrypter les suites d'octets va faire pour savoir s'il s'agit d'un évènement program change (2 octets) ou control change (3 octets) puisque rien ne sépare les suites d'octets.

Ex : imaginons 3 évènements de 2 octets. Suivant la valeur des octets, le logiciel ne peut-il pas se tromper et penser qu'il s'agit de 2 évènements de 3 octets ?

[ Dernière édition du message le 25/04/2017 à 01:18:40 ]

35
Citation de Nicolas :
j'ai déjà un éditeur hexa mais ça m'affiche des centaines de lignes. Comment se repérer dans cet amas de milliers de chiffres? si je veux trouver "le controleur et sa valeur" de l'évènement qui survient mesure 107.04.04.020, je le trouve comment dans la suite de milliers de chiffres de l'éditeur hexa ?

Il est tout simplement impossible de s'y retrouver si on ne connait pas la structure du fichier.

Citation de Nicolas :
Ce qu'il faudrait c'est avoir des colonnes avec une grille temporelle et le nom de l'évènement en lettre (pour se repérer) et le code natif.

Eh bien là on tombe dans le développement sur mesure ;-)

Citation de Nicolas :
une autre question : un évènement MIDI peut comporter 1, 2 ou 3 octets (ou plus d'après ce que tu as écrit). Comment le logiciel qui va décrypter les suites d'octets va faire pour savoir s'il s'agit d'un évènement program change (2 octets) ou control change (3 octets) puisque rien ne sépare les suites d'octets.

La norme MIDI décrit cela de façon claire, toute confusion est impossible. Chaque octet de début d'évènement (ou octet d'évènement si le message MIDI ne comporte qu'un seul octet) peut prendre une valeur que les autres octets ne peuvent prendre.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

36
Donc il n'y a aucun logiciel/développeur qui ouvre les fichiers MIDI en code pur, tout en séparant visuellement les évènements ? Ou bien un logiciel avec l'éditeur en liste des évènements MIDI et quand on clique sur un des évènements, on obtient le code en hexa ?

Je connais la structure musicale du fichier MIDI mais comment me repérer ?
37
Citation de Nicolas :
Donc il n'y a aucun logiciel/développeur qui ouvre les fichiers MIDI en code pur, tout en séparant visuellement les évènements ? Ou bien un logiciel avec l'éditeur en liste des évènements MIDI et quand on clique sur un des évènements, on obtient le code en hexa ?

Cela peut bien sûr se faire, je l'ai fait (en partie) avec mon logiciel MidiFileAnalyser, qui extrait des infos MIDI pour les présenter sous une forme particulière.
Au risque de me répéter, ton besoin semble nécessiter un développement sur mesure...

Citation de Nicolas :
Je connais la structure musicale du fichier MIDI mais comment me repérer ?

En analysant la structure du fichier.
C'est un peu long quand on débute, mais tu peux y arriver.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

38
ton soft semble être plutôt donner des statistiques du fichier non ?

La pédale d'expression est encodée sur 7 bit. Elle possède 30 positions visibles sur un écran digital. Et si la pédale avait été encodé en code gray ? Dans ce cas, comment visualiser le codage ? Cubase et l'éditeur hexa me donnent des valeurs complètement farfelues.
39
Toutes les données MIDI sont codées sur 7 bits (ou multiple entier de 7 bits). Valeur de pédale d'expression comprise. Le 8ème bit (MSB) indique s'il s'agit d'un octet de statut ou non.

Oui, et comme indiqué dans le descriptif, mon soft analyse les fichiers MIDI standard pour établir des statistiques. Mais je pourrais faire d'autres choses que des statistiques avec les données extraites...

Quelque soit le format utilisé pour coder ou stocker une info, il faut connaître le format en question pour savoir comment extraire l'info...

Citation de Nicolas :
Cubase et l'éditeur hexa me donnent des valeurs complètement farfelues.

Que l'éditeur hexa te donne des valeurs farfelues m'étonne beaucoup...

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

[ Dernière édition du message le 28/04/2017 à 17:57:48 ]

40
J'ai enregistré en MIDI la pédale d'expression seule, sans jouer aucune note, pédale fermée puis en l'ouvrant petit à petit jusqu'à son maximum.
Je possède deux versions de cubase (SX et 5) et un éditeur hexa avec lesquelles j'ai ouvert le fichier MIDI.
- cubase SX me donne un fichier totalement vide sans aucun évènement MIDI
- Cubase 5 et l'éditeur hexa me donne ceci :

Control Change 7, canal 1, valeurs 0 - 60 - 56 - 4 - 24 - 36 - 32 - 28 - 16 - 44 - 40 - 20 - 8 - 52 - 48 - 12

Trois choses me chagrinent :
- pourquoi j'obtiens 16 valeurs alors qu'il y a 30 positions d'ouverture de la pédale.
- la logique voudrait que la pédale d'expression parte de 0 (position fermée) à 60 (position ouverte), or, ici les valeurs sont illogiques.
- pourquoi cubase sx qui reconnaît pourtant dans d'autres fichiers MIDI le Control change 7, ne m'affiche aucune donnée MIDI. Dans les autres fichiers MIDI utilisant également la pédale d'expression, toutes les données sont retranscrites (notes, program change, control change) et à chaque fois, à l'endroit où la pédale d'expression est utilisée, il n'y a rien dans le fichier MIDI.

Je crois donc que cubase 5 et l'éditeur hexa transcrivent le contenu du fichier MIDI en pensant qu'il s'agit d'un control change 7 avec les valeurs décrites plus haut, mais qu'en réalité il n'en est rien, et c'est bien là le mystère.

Une preuve :
- lorsque je lis le fichier MIDI en question sur l'orgue, la pédale d'expression s'ouvre de la même manière que lorsqu'elle a été enregistrée. Par contre, j'ai crée un fichier MIDI de toute pièce en écrivant manuellement exactement les mêmes évènements : et bien, en lecture, il ne se passe rien, la pédale d'expression ne bouge pas.

Donc, il ne s'agit pas d'un vrai control change 7




[ Dernière édition du message le 29/04/2017 à 23:11:47 ]