Bonjour,
Tout d'abord je tiens à remercier chaleureusement Harry du support Kenton qui a gentiment planché sur mon problème et qui en a finalement trouvé la solution : Harry thanks a lot, you're the best !
L'exemple suivant explique comment contrôler le Pioneez Toraiz AS-1 avec des messages NRPN dont certains utilisent des valeurs supérieures à 128. Ce tuto pourra je pense s'appliquer à d'autres synthés qui utilisent des messages similaires, notament de Dave Smith (Sequential).
Un paramètre MIDI standard utilise 128 valeurs (0-127). Il en va de même pour un message NRPN.
Exemple 1 : Oscillator 1 Level (0-127)
(numéro de commande du paramètre = 2)
Header Data Minimum Level = 0
Header Data Maximul Level = 127
Command = NRPN MSB + LSB
NRPN Controller MSB = 0
NRPN Controlleur LSB = 2
NRPN Data MSB = 0
NRPN DATA LSB = Data From Knob
En revanche certains paramètres ont des valeurs supérieures à 128 (elles peuvent aller jusqu'à 128*128=16384). Il est alors nécessaire de changer la valeur du MSB pour obtenir les valeurs supplémentaires.
Ainsi un MSB de 0 donne des valeurs de 0-127
Un MSB de 1 = 128-255
Un MSB de 2 = 256-383
etc. jusqu'à 127 = 16383
Tout dépend de l'implémentation MIDI de l'appareil cible (voir le manuel). L'AS-1 utilise des valeures maximales de 255 :
Exemple 2 : Oscillator 1 Pulse Width (0-255)
(numéro de commande du paramètre = 4)
Header Data Minimum Level = 0
Header Data Maximul Level = 1
Command = NRPN MSB + LSB
NRPN Controller MSB = 0
NRPN Controlleur LSB = 4
NRPN Data MSB = Data From Knob
NRPN DATA LSB = Data From Knob
Et voilà, avec un seul potard on peut contrôler la PW de l'onde carrée de 0 à 255.
Merci Harry :-)
-
marclr17Squatteur·euse d’AFPosté le 03/11/2019 à 14:33:37merci à toi kosmix !!!
(tu pourais aussi la poster sur les autres produits de la série Kenton Control car proprio d'un Pocket Dial j'ai failli passer à côté, cela aurait été dommage) -
kosmixMa vie est un thread...Posté le 03/11/2019 à 16:09:08Je ne connais pas le Pocket Dial et comme il est d'une autre marque sa programmation doit probablement être différente, même si le principe reste le même. Mais si tu sais comment faire n'hésite-pas à poster un tuto
-
marclr17Squatteur·euse d’AFPosté le 03/11/2019 à 16:59:23ah oui, exact, je me suis emmêlé les pinceaux !
en tout cas, bon tuto, merci à toi -
christian_rAFicionado·aPosté le 03/11/2019 à 17:41:30La règle générale avec des NRPN codés sur deux octets est de faire exactement comme avec des dizaines et des unité, à savoir :
Valeur (de 0 à 99) = Dizaine * 10 + Unité
mais là on compte en base 256 donc
valeur du NRPN (de 0 à 65025) = MSB * 256 + LSB
(MSB = most significant bit, et LSB = least significant bit).
Dans certains cas (banques de patchs) on compte plutôt en base 128 (On peut donc adresser 0-128 banques de 0-128 patchs soit 16 384 patchs possibles).