Se connecter
Se connecter

ou
Créer un compte

ou

Le SYSEX dans toute sa splendeur !!

  • 45 réponses
  • 5 participants
  • 3 071 vues
  • 6 followers
Sujet de la discussion Le SYSEX dans toute sa splendeur !!
bonsoir les gens ! Bon je recopie le post que jai fais sur un groupe FB ^^ Donc je fais appel à vous, j'ai besoin de conseils mais surtout de cours je pense sur un sujet très préci ! Donc pour résumer depuis quelque temps j'ai acqui quelque vieilles machines, une Roland R8, une yamaha RX11, un sampler E-MU E6400 Ultra et une Proteus 2000 ! Donc bon j'exploite bien a fond mes jolis jouets ok mais j'aimerais programmer mes propres paramètres et je galère sur le SYSEX !!! Car c'est la seule façon pour moi de controler certains paramètres via mon controller midi, mais voila après de nombreuses heures de lectures sur le sujet je galère malgré les documentations a le mettre en place ! Alors j'ai quand même compris le principe et j'ai bien acquis le vocabulaire en partie mais j'ai du mal avec la R8 par exemple a comprendre comment chercher a controller un paramètre précis, ya peut être des termes ou je pense que comme je débute pour ce type de message midi hé bien je vois pas la fin ^^ voila en gros si quelqu'un pouvais me donner un coup de main la dessus j'en serais super heureux même si je sais que c'est pas le plus simple ! Mais je me dis que une fois bien compris le truc ça doit pas être si compliqué !! Merci :)
Afficher le sujet de la discussion
31
Je n'ai pas de BCR mais je suis curieux de savoir…
32
Alors je vais essayer d'être clair, mais ça va pas être simple car moi même ayant rien compris, enfin aps tout, et surtout le checksum j'ai vraiment du mal à définir son rôle dans mon code final, alors tout à commencer sur le forum du dévellopeur de BCmanager, le gros éditeur pour la BCR2000, au départ le dévellopeur m'a dit que c'était pas possible de faire des valeurs négative à postive avec un seul encodeur, et qu'il fallait ruser, apès un membre est arrivé en me disant que lui y arrive sans problème et qu'il avait posté la solution sur le groupe yahoo pour ce controlleur, voici ce quil dit:


I had some success in dealing with negative numbers.
The Emu Morpheus LFO amt uses the following encoding:
-128 is 007F, -1 is 7F7F, 0 is 0000, and 127 is 7F00.
(Two's complement with lsb first.)
This can be dealt with in the BCR2000 using a value of range 0-255 and the following tx code.

$F0 $7D val7.13 cks-1 2 $4E val0.6 $F7 $F0 $18 $0C $00 $03 $61 $40 val0.6 cks-3 3 $F7

As I sweep the BCR pot from 0-255, the Emu Morpheus LFO amt sweeps smoothly from -128 to 127.

The way this works is that there are two sysex messages (plus the junk that the BCR inserts between them).
The first sysex message will be ignored (manufacturer 7D=None).
The second sysex message is used (Manufacturer 18=Emu).
I am using checksums carefully to get the bcr2000 to do some trivial logic.
The first sysex message will be discarded: it is only used to form the "checksum" in the second message, which is not actually used as a checksum but as the MSB of the LFO amt.
The first checksum, in the first sysex msg, is 7F if the pot MSB is 01 and 00 if the pot MSB is 00. The second checksum, in the second sysex msg, is 00 if the pot MSB is 01 and 7f if the pot MSB is 01.
The number 4E is chosen to make sure everything works. It is chosen so that 7f = 4e xor f7 xor f0 xor 18 xor 0c xor 03 xor 61 xor 40.

Figuring out what 4E should be is a bit of a hassle. I'd be interested to hear if anyone has found a better method.



Je vous laisse le soin de traduire ^^ en gros il utilise le checksum pour faire une méthode triviale !! Heuu la j'ai rien compris !
Donc je test son code en adaptant avec le mien, ça marche toujours pas, je lui en fais part et la il revient me dire ça:



Hi, I don't have a Proteus 2000 and the sysex is a bit different so I can't test it myself.

However, I used the following string:

$F0 $7D $00 $00 val7.13 $7F cks-2 2 val0.6 $10 $55 $01 $02 $03 $02 $F7 $F0 $18 $0F $00 $55 $01 $02 $03 $02 val0.6 cks-3 6 $F7 $F7

with Value 1 as 116 and Value 2 as 140 (decimal). (These numbers are 12 either side of 127.)

This generates

F0 18 0F 00 55 01 02 03 02 74 7F F7

at the lower end through to

F0 18 0F 00 55 01 02 03 02 0C 00 F7

at the top end. Hope that is roughly what you need? Maybe I am out by 1.

By the way, I designed the code string above so that hopefully you can easily modify it to change a different parameter -- you should just need to change the parameter choice and instruction (55 01 02 03 02) which appears twice in the string.



Donc moi je tape ceçi pour ma part:
F0 7D 00 00 val7.13 7F cks-2 2 val0.6 10 55 01 02 03 02 F7 F0 18 0F 00 55 01 02 03 02 val0.6 cks-3 6 F7 F7

Donc mon ID 03 02 controle le master transpose sur la série Proteus, je l'ai remplacé la ou il fallait, sur mon BCmanager ensuite j'ai mis la value 1 à 116 et la value 2 à 140 comme il m'a dit et la miracle !! J'ai réussi à aller de -12 à + 12 sans problèmes !! Mais seulement il fallait descendre jusqua -24 et +24, donc j'ai réadapté les value, donc la value 1 à 104 et la value 2 à 152 ! Et nikel hop de -24 à +24 sans problèmes ;)

Bon c'est bien que ça fonctionne mais la j'ai pas compris ce que le checksum vient faire la et surtout comment il calcul les value que je dois renseigner, la je suis paumé, ça marche mais j'aimerais en savoir un peu plus !! Si les experts du sysex sur ce forum pouvaient m'expliquer ce mystère et pourquoi le checksum est la je vous serais reconnaissant :bravo:

Voici une image pour que vous compreniez comment je paramètre cela

2009161.png

Voila voila si ça peut aider quelqu'un encore je vais expérimenter cela ailleurs, mais le mec m'a enlevé un problème que je pensais vraiment pas résoudre, bravo à ce cher monsieur qui m'a filé cet astuce !! Bref qui à envi de m'expliquer ? ^^ Merci
33
Et surtout pourquoi partir de 127 ?? pourquoi y avoir soustrait 12 puis rajouter 1 ce qui nous fais 116 ??? idem pour 127 +12 +1 = 140 !! Pourquoi ?? je suis paumé ......

Bref j'ai envie de comprendre ^^
34
Je viens de tester cette méthode avec le master Tune, et ca fonctionne, j'ai fais cette fameuse addition, tout roule...mystère la !!
35
j'essaye de trouver un moment aussi pour faire le test sachant que c'est pour piloter un E-mu pour ma part ;)

X
36
Ah oui c'est le vintage key c'est ça ? Au fait une petite question, sur le vintage key quand tu souhaite modifier le cutoff d'un preset, tu es obligé d'indiquer dans le code sysex le numéro de preset et le layer ? Je bute aussi un peu la dessus, dsl j'en profite un peu hein ^^
37
le cutoff, soit tu le fait par sysex et oui c'est chaque preset de 0 à 255

Ou tout simplement avec un contrôleur midi sur 0 à 127

Par contre je ne te suis pas sur "le layer", tu as dans un programme un preset primaire et secondaire, c'est tout.

X
38
Oui on peut le faire en CC c'était juste pour tester et pour comprendre la logique! Bah sur le P2000 ou le Xtrem Lead que je viens d'avoir un preset tu peux avoir 4 layer ! un layer = un son ;) et chaque layer à son propre filtre et chorus par exemple :bravo:
39
Et tu peux linker jusqua 3 preset ! Ce qui peut nous faire 12 son jouant en simultané !! la je parle en mode normal, en poly tu a 16 part X 12 son imagine le bordel que ca peut devenir niveau sonorité ^^ bon après je vais pas juque la hein ;)
40
Je voulais surtout faire un controleur sysex pour le filtre des layers car je me dis que tout le monde n'a pas forcément le même controleur continu réglé sur le filtre selon la série proteus ou à tout simplement affecté un de ces controleur pour autre chose, ce qui veut dire que la personne peut affecter les CC midi dispo la ou il veut et le sysex lui est bien à part ! ca serait très intéressant a faire je pense car une fois mon patch pour rack de la série proteus terminé je compte le partager et le distribuer si ça peut aider certains ;)

[ Dernière édition du message le 26/10/2017 à 23:22:15 ]