question sur les SYSEX
- 9 réponses
- 3 participants
- 525 vues
- 3 followers
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
Sujet de la discussion Posté le 14/06/2020 à 14:00:30question sur les SYSEX
Je suis en train de me fabriquer une interface sur LEMUR i-pad. Pas de soucis pour faire des contrôles sur les control change. Mais à un moment je cherche à atteindre des paramètres un peu plus fins et inaccessibles. D'où la volonté d'utiliser les sysex, mai j'avoue que ça me fait un peu mal au cerveau.
Bien sûr je me suis taper les forum etc... mais rien n'est très clairement expliqué pour notre machine préférée. Et même pas là : http://www.deepsonic.ch/deep/docs_manuals/e-mu_eos_remote_sysex.pdf
exemple, ici on me conseille de commencer le message par F0h,7Eh, 7Eh serait le numéro du constructeur, or icihttps://www.midi.org/specifications/item/manufacturer-id-numbers on me dit que c'est 18h... bref, ça me fout des doutes et c'est pas très rassurant pour se lancer.
Est-ce qu'on aurait un génie du code sur ce forum pour me donner un coup de main et surtout me donner au moins un exemple d'une ligne de sysex pour EMU6400 ULTRA pour m'éclaircir ?
Merci.
Bien sûr je me suis taper les forum etc... mais rien n'est très clairement expliqué pour notre machine préférée. Et même pas là : http://www.deepsonic.ch/deep/docs_manuals/e-mu_eos_remote_sysex.pdf
exemple, ici on me conseille de commencer le message par F0h,7Eh, 7Eh serait le numéro du constructeur, or icihttps://www.midi.org/specifications/item/manufacturer-id-numbers on me dit que c'est 18h... bref, ça me fout des doutes et c'est pas très rassurant pour se lancer.
Est-ce qu'on aurait un génie du code sur ce forum pour me donner un coup de main et surtout me donner au moins un exemple d'une ligne de sysex pour EMU6400 ULTRA pour m'éclaircir ?
Merci.
mk.ultra
130
Posteur·euse AFfiné·e
Membre depuis 18 ans
2 Posté le 14/06/2020 à 15:40:18
Bonjour,
je ne suis pas un grand spécialiste des sysex mais sur l'exemple ci dessous il semble bien que "18h"
soit id pour E-MU.
Parameter Value Request:
EXAMPLE:> {F0h,18h,21h,ddh,55h,02h,01h,xxh,xxh,<Checksum>,F7h}
F0h = sysex message
18h = EMU ID
21h = E4 ID
ddh = Device ID
55h = Special Editor designator byte
02h = Command::Parameter Value Request
01h = Byte count(number of Byte pairs)
{xxh,xxh} = Parameter ID (LSB first)
<Checksum> = 1 Byte = XOR(1's compliment) of sum of {xxh,xxh}
F7h = EOX
This message contains only 1 request packet.
The response a complete Parameter Value Edit SYSEX message for each parameter.
Après je crois comprendre que "ddh" correspond à 'ID" de la machine en question.
Donc si tu as un E6400Ultra il faut attribuer le code tout en bas.
00h,05h = E4
01h,05h = E64
02h,05h = E4k
03h,05h = E64FX
04h,05h = E4XT
05h,05h = E4X
06h,05h = E6400
07h,05h = E4XT ULTRA
08h,05h = E6400 ULTRA
Ensuite les "xxh" correspondent aux paramètres ID comme par exemple les numéros de bank et preset.
pour cet exemple on ne voit pas de "yyh" qui eux sont les "Parameter data".
J'espère ne pas m'être trompé et avoir pu t'aider.
je ne suis pas un grand spécialiste des sysex mais sur l'exemple ci dessous il semble bien que "18h"
soit id pour E-MU.
Parameter Value Request:
EXAMPLE:> {F0h,18h,21h,ddh,55h,02h,01h,xxh,xxh,<Checksum>,F7h}
F0h = sysex message
18h = EMU ID
21h = E4 ID
ddh = Device ID
55h = Special Editor designator byte
02h = Command::Parameter Value Request
01h = Byte count(number of Byte pairs)
{xxh,xxh} = Parameter ID (LSB first)
<Checksum> = 1 Byte = XOR(1's compliment) of sum of {xxh,xxh}
F7h = EOX
This message contains only 1 request packet.
The response a complete Parameter Value Edit SYSEX message for each parameter.
Après je crois comprendre que "ddh" correspond à 'ID" de la machine en question.
Donc si tu as un E6400Ultra il faut attribuer le code tout en bas.
00h,05h = E4
01h,05h = E64
02h,05h = E4k
03h,05h = E64FX
04h,05h = E4XT
05h,05h = E4X
06h,05h = E6400
07h,05h = E4XT ULTRA
08h,05h = E6400 ULTRA
Ensuite les "xxh" correspondent aux paramètres ID comme par exemple les numéros de bank et preset.
pour cet exemple on ne voit pas de "yyh" qui eux sont les "Parameter data".
J'espère ne pas m'être trompé et avoir pu t'aider.
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
3 Posté le 14/06/2020 à 17:36:48
merci pour le début de réponse mk.ultra
j'en suis à peu prêt là :
240=F0(ok)
emu id = 18h donc 24 ?
dans la doc j'ai 08h,05h = E6400 ULTRA
08h= 8 et 05h=5
dois-je mettre 240,24,8,5 ?
je veux contrôler le type de filtre : j'ai
E4_VOICE_FTYPE, id = 82 (52h,00h) min = 0; max = variable donc :
240,24,08,05,82,0,x,247 ?
247 pour le message de fin (ok)
on voit en bas de l'image la ligne de code pour un juno 60
j'en suis à peu prêt là :
240=F0(ok)
emu id = 18h donc 24 ?
dans la doc j'ai 08h,05h = E6400 ULTRA
08h= 8 et 05h=5
dois-je mettre 240,24,8,5 ?
je veux contrôler le type de filtre : j'ai
E4_VOICE_FTYPE, id = 82 (52h,00h) min = 0; max = variable donc :
240,24,08,05,82,0,x,247 ?
247 pour le message de fin (ok)
on voit en bas de l'image la ligne de code pour un juno 60
[ Dernière édition du message le 14/06/2020 à 18:03:46 ]
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
4 Posté le 14/06/2020 à 17:51:33
Avec tes info et sachant que je veux contrôler le type de filtre, ça ferait (E4_VOICE_FTYPE, id = 82 (52h,00h) min = 0; max = variable) :
247,18,(21h=)33,(08h,05h=)8,5,82,0(?),0,x(ma variable),247
?
donc ;roundcx,247 midiout(target,{240,18,33,8,5,82,0,0,round(x*(127/6)),247}) ?
(x*(127/6) étant l'expression pour sélectionner l'un des 21 filtres.
J'ai bon ?
Je me rend compte que je n'ai pas le canal qui serait 5 et j'avoue que je ne serais pas trop où le mettre ...
L'idéal ça serait de pouvoir enregistrer le message sysex directement de l'EMU, j'ai essayé avec une MPC4000 et un bcr2000 qui ont tendance à tout bouffer niveau message, mais là j'ai que dal. Et je n'arrive pas à trouver un soft efficace pour me donner ce genre d'info...
247,18,(21h=)33,(08h,05h=)8,5,82,0(?),0,x(ma variable),247
?
donc ;roundcx,247 midiout(target,{240,18,33,8,5,82,0,0,round(x*(127/6)),247}) ?
(x*(127/6) étant l'expression pour sélectionner l'un des 21 filtres.
J'ai bon ?
Je me rend compte que je n'ai pas le canal qui serait 5 et j'avoue que je ne serais pas trop où le mettre ...
L'idéal ça serait de pouvoir enregistrer le message sysex directement de l'EMU, j'ai essayé avec une MPC4000 et un bcr2000 qui ont tendance à tout bouffer niveau message, mais là j'ai que dal. Et je n'arrive pas à trouver un soft efficace pour me donner ce genre d'info...
[ Dernière édition du message le 14/06/2020 à 17:57:39 ]
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
5 Posté le 14/06/2020 à 18:01:54
Citation :
Ensuite les "xxh" correspondent aux paramètres ID comme par exemple les numéros de bank et preset.
c'est aussi ça qui m'intéresserait d'atteindre. Je le fais déjà en programme change. C'est mortel mais il n'y a que 127 programmes atteignables (frustration!). En plus, j'atteind mes patch/programmes avec un menu déroulant avec mes noms de preset, le luxe !
mk.ultra
130
Posteur·euse AFfiné·e
Membre depuis 18 ans
6 Posté le 14/06/2020 à 20:14:27
Je t'ai aidé avec mes maigres connaissances mais je n'ai eu à utiliser les "Sysex" que pour quelques bidouilles pour d'autres machines.
Peut-être auras tu plus de chance avec les utilisateurs du "Lemur".
Les commandes Sysex de l'Ultra ne doivent pas être en temps réel donc il faut s'attendre à avoir une grosse latence mais en revanche les CC sont assez nombreux.
Peut-être auras tu plus de chance avec les utilisateurs du "Lemur".
Les commandes Sysex de l'Ultra ne doivent pas être en temps réel donc il faut s'attendre à avoir une grosse latence mais en revanche les CC sont assez nombreux.
[ Dernière édition du message le 14/06/2020 à 20:31:58 ]
x_X_x_av
1426
AFicionado·a
Membre depuis 15 ans
7 Posté le 14/06/2020 à 20:44:44
Le Device ID n'est pas le modèle de la machine, mais un identificateur sur le bus Midi. Ça permet d'avoir plusieurs E4 sur le même bus (in/thru/in) et de pouvoir les différencier. Il faut alors configurer chaque E4 avec un ID différent, de 0 à 126, la valeur 127 (7fh) étant un code de broadcast.
Le code du modèle sur 2 mots n'est utilisé qu'en réponse à la demande d'identification (premier message décrit dans la doc).
Le reste n'est pas correct non plus…
En particulier, il maque le bloc <COMMAND>, qui prend une des valeurs indiquées en page 29 et suivantes.
Par exemple pour modifier E4_VOICE_FTYPE:
Il y a d'autres exemples à partir de la page 31.
Bon courage!
Le code du modèle sur 2 mots n'est utilisé qu'en réponse à la demande d'identification (premier message décrit dans la doc).
Le reste n'est pas correct non plus…
En particulier, il maque le bloc <COMMAND>, qui prend une des valeurs indiquées en page 29 et suivantes.
Par exemple pour modifier E4_VOICE_FTYPE:
<Header>
F0h = sysex message
18h = EMU ID
21h = E4 ID
xxh = Device ID
55h = Special Editor designator byte
<Command>
01h = Parameter Edit
<Count>
02h = nombre de double mots qui suivent
<Packet> = <2 Byte ID>,<2 Byte Data>.
52h = LSB / E4_VOICE_FTYPE (id = 82)
00h = MSB " "
xxh = LSB / numéro du type de filtre (??)
yyh = MSB / " " "
<Checksum>
xxh = à calculer
<EOX>
F7h
Il y a d'autres exemples à partir de la page 31.
Bon courage!
x_X_x_av
1426
AFicionado·a
Membre depuis 15 ans
8 Posté le 14/06/2020 à 20:50:47
Le petit programme Midi Tools permet d'envoyer et recevoir des messages sysex écrit à la main. Pratique pour vérifier que le dialogue entre l'ordi et l'E4 fonctionne.
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
9 Posté le 16/06/2020 à 08:39:45
merci pour toutes ces réponses , je n'ai pas encore bien compris comment mettre tout ça dans mon interface lemur, mais ça va se faire.
tremble
432
Posteur·euse AFfamé·e
Membre depuis 19 ans
10 Posté le 07/11/2021 à 23:43:55
Bonsoir,
finalement je n'ai jamais résolu ce problème ...
Ce qui est bien frustrant. Aujourd'hui je m'attelle a une nouvelle interface max4live dans ableton et je retombe sur le même souci. Depuis j'ai aussi trouvé des modèles intéressants https://maxforlive.com/library/device/4761/emu-control
que je n'ai jamais réussi à faire tourner et qui ne fonctionne que sur un seul canal qui m'intéresse dons pas. Néanmoins j'y ai trouvé cette ligne sysex pour contrôler le type de filtre :
240 24 33 1 85 1 2 82 0 / is $i1 / 0 127 247
"is $i1" étant censé être la valeur à changer pour changer le type de filtre
je l'ai intégré à mon plug... évidemment, ça ne fonctionne pas.
Est-ce qu'il y aurait un petit génie pour m'aider ?
Merci
finalement je n'ai jamais résolu ce problème ...
Ce qui est bien frustrant. Aujourd'hui je m'attelle a une nouvelle interface max4live dans ableton et je retombe sur le même souci. Depuis j'ai aussi trouvé des modèles intéressants https://maxforlive.com/library/device/4761/emu-control
que je n'ai jamais réussi à faire tourner et qui ne fonctionne que sur un seul canal qui m'intéresse dons pas. Néanmoins j'y ai trouvé cette ligne sysex pour contrôler le type de filtre :
240 24 33 1 85 1 2 82 0 / is $i1 / 0 127 247
"is $i1" étant censé être la valeur à changer pour changer le type de filtre
je l'ai intégré à mon plug... évidemment, ça ne fonctionne pas.
Est-ce qu'il y aurait un petit génie pour m'aider ?
Merci
- < Liste des sujets
- Charte