=======================================================================
====== MC909.org - Comment accéder aux CTRLs
1-2-3-4 par sysex ? ======
=======================================================================
Auteur : Passé minuit (.ca)
Version: 0.1 (draft)
Date: 15 Nov 2004
Note de oXo
Tous ces
chiffres, ces trucs bizarres, ... et vous vous dites a quoi ça peut bien servir
cette histoire ?
Et bien en
une phrases je dirais : Ca permet d'ajouter 3 boutons Matrix
Control a votre 909 (par l'intermédiaire
de périphériques externes) avec exactement les MEME possibilités
de routage que le Matrix Control 1.
Des
exemples :
avoir sous la main les 4 cut-off de vos 4 tones
permettre de diminuer ou augmenter le volume de vos 4 tones
de manières indépendantes
avoir un bouton pour cross fader le volume de 2 tones + 1
pour cross fader les Cut-off + 1 pour la
résonance du tone 3 + 1 pour la vitesse du LFO2 du tone 4 !!
:))
Voila qqs idées, après c'est votre imagination... ;)
Nb: Tous les messages sysex qui vont suivre sont sauvegardables dans un patch ou dans un pattern.
(La version
finale de ce document devrait en parler plus en détail)
Le MC909 nous offre la possibilité de paramétrer 4
contrôleurs nous permettant de modifier nos patchs selon nos goûts.
À partir du MC909 directement (ou de l’éditeur sur PC ou
MAC), il n’est possible de changer que les paramètres du CTRL1 (que l’on
retrouve dans edit patch) dont la source est, par
défaut, CC1 (modulation).
Mais nous avons quand même accès aux 3 autres contrôleurs
par l’intermédiaire d’envoi de messages system exclusive (sysex).
L’intérêt est de pouvoir profiter de plus d’un contrôleur à
la fois lorsqu’un clavier (ou tout contrôleur midi externe: hard ou soft) est
branché à la prise midi in du MC.
La contrepartie c’est que ça demande un minimum de travail
mais au moins nous pouvons profiter de contrôleurs qui, autrement, ne sont pas
accessibles. En attendant un update . .
. c’est une alternative !
Procédure :
1) Il faut
d’abord posséder un appareil qui permet la programmation de messages sysex
(Hardware :Remote 25, MicroKONTROL,..
Softare : Cubase, Logic,...)
2) On
programme quelques messages sysex que nous modifions selon l’information à
envoyer.
3) On envoie
le message sysex.
Lorsque
celui-ci est envoyé, les contrôleurs du MC909 sont configurés selon nos
besoins,
ce qui nous permet de faire varier en temps réel les
paramètres assignés à ces
contrôleurs.
Identifions d’abord les différentes parties d’un message
sysex destiné au MC909.
Notez que les chiffres dans ce type de message sont toujours
inscrits en hexadécimal (voir le tableau plus bas pour la conversion) :
1ère
partie
l--------------------------------------------------------------------------------------------------------------------l
F0 41 10 00 59
12
Exclusive ID
number Device Model
ID Command ID
Status Roland ID
(17) (MC909)
(DT1)
l--------------------------------------------------------------------------------------------------------------------l
2ème
partie
l--------------------------------------------------------------------------------------------------------------------l
11 00 00 35 03 00 F7
--------------------------
Adresse Valeur Checksum EOX
l--------------------------------------------------------------------------------------------------------------------l
Pour nos besoins, la première partie (les 6 premiers bytes)
ne changera jamais. Même chose pour
l’avant-dernier byte (checksum) pour lequel le MC ne semble pas accorder
d’importance à la valeur en autant qu’il y ait un byte d’assigner au
checksum. Évidemment, le dernier byte
signifiant la fin du message (EOX) ne changera jamais lui non plus.
La deuxième partie (c’est cette partie qui va changer selon
nos besoins) se subdivise en 3 autres segments :
11 00 00 35 03
---------- ---------- --
Part Paramètre Valeur
affecté
Dans cet exemple-ci, on envoie un message destiné au Part 1
(11 00) modifiant la Destination 1 du CTRL2 (00 35) pour que la destination
soit la résonance (03). Si on avait
voulu le cutoff comme destination, on aurait eu le
même message mais on aurait modifié la Valeur a 02. Voir le tableau plus bas pour savoir quelles
valeurs correspondent à quels contrôleurs ou à quelles destinations.
Voici donc les messages sysex complets qui permettent de
modifier la source du CTRL1 et qui donnent accès à tous les paramètres des CTRLs 2-3-4 pour le Part 1:
NB1 : Les messages
sysex sont créés pour être destinés à un MC909 dont le device
ID est 17 (habituellement déjà sélectionné, par défaut. Si ce n’est pas le cas on peut le changer
dans Menu---Midi---Midi Rx---Device
ID).
NB2 : Ne pas oublier
de mettre RX Exclusive à ON (dans Menu---Midi---Midi Rx---Receive Exclusive)
NB3 : Remplacer les
?? par la valeur désirée.
CTRL1
Source
: F0 41
10 00 59
12 11 00 00 2B ??
00 F7
CTRL2
Source
: F0 41
10 00 59
12 11 00 00 34 ??
00 F7
Destination
1 : F0 41
10 00 59
12 11 00 00 35 ??
00 F7
Sens
1 : F0 41
10 00 59
12 11 00 00 36 ??
00 F7
Destination
2 : F0 41
10 00 59
12 11 00 00 37 ??
00 F7
Sens
2 : F0 41
10 00 59
12 11 00 00 38 ??
00 F7
Control
1 Switch 1 : F0 41
10 00 59
12 11 00
20 1B ??
00 F7
Control
1 Switch 2: F0 41
10 00 59
12 11 00
22 1B ??
00 F7
Control
1 Switch 3 : F0 41
10 00 59
12 11 00
24 1B ??
00 F7
Control
1 Switch 4 : F0 41
10 00 59
12 11 00
26 1B ??
00 F7
Control
2 Switch 1 : F0 41
10 00 59
12 11 00
20
Control
2 Switch 2 : F0 41
10 00 59
12 11 00
22
Control
2 Switch 3 : F0 41
10 00 59
12 11 00
24
Control
2 Switch 4 : F0 41
10 00 59
12 11 00
26
CTRL3
Source
: F0 41
10 00 59 12 11
00 00 3D
?? 00 F7
Destination
1 : F0 41
10 00 59
12 11 00 00 3E ??
00 F7
Sens
1 : F0 41
10 00 59
12 11 00 00
Destination
2 : F0 41
10 00 59
12 11 00 00 40 ??
00 F7
Sens
2 : F0 41
10 00 59
12 11 00 00 41 ??
00 F7
Control
1 Switch 1 : F0 41
10 00 59
12 11 00
20
Control
1 Switch 2: F0 41
10 00 59
12 11 00
22
Control
1 Switch 3 : F0 41
10 00 59
12 11 00
24
Control
1 Switch 4 : F0 41
10 00 59
12 11 00
26
Control
2 Switch 1 : F0 41
10 00 59
12 11 00
20 20 ??
00 F7
Control
2 Switch 2 : F0 41
10 00 59
12 11 00
22 20 ??
00 F7
Control
2 Switch 3 : F0 41 10
00 59 12
11 00 24
20 ?? 00 F7
Control
2 Switch 4 : F0 41
10 00 59
12 11 00
26 20 ??
00 F7
CTRL4
Source
: F0 41
10 00 59
12 11 00 00 46 ??
00 F7
Destination
1 : F0 41
10 00 59
12 11 00 00 47 ?? 00 F7
Sens
1 : F0 41
10 00 59
12 11 00 00 48 ??
00 F7
Destination
2 : F0 41
10 00 59
12 11 00 00 49 ??
00 F7
Sens
2 : F0 41
10 00 59
12 11 00 00 4A ??
00 F7
Control
1 Switch 1 : F0 41
10 00 59
12 11 00
20 23 ??
00 F7
Control
1 Switch 2: F0 41
10 00 59
12 11 00
22 23 ??
00 F7
Control
1 Switch 3 : F0 41
10 00 59
12 11 00
24 23 ??
00 F7
Control
1 Switch 4 : F0 41
10 00 59
12 11 00
26 23 ??
00 F7
Control
2 Switch 1 : F0 41
10 00 59
12 11 00
20 24 ??
00 F7
Control
2 Switch 2 : F0 41
10 00 59
12 11 00
22 24 ??
00 F7
Control
2 Switch 3 : F0 41
10 00 59
12 11 00
24 24 ?? 00 F7
Control
2 Switch 4 : F0 41
10 00 59
12 11 00
26 24 ??
00 F7
Pour avoir accès aux contrôleurs des Parts 2 à 16, il suffit
de remplacer les deux bytes désignant le Part affecté (bytes 7 et 8) :
Part 1 : 11 00 Part 2 : 11 20 Part
3 : 11 40 Part 4 : 11 60
Part 5 : 12 00 Part 6 : 12 20 Part
7 : 12 40 Part 8 : 12 60
Part 9 : 13 00 Part10 : 13 20 Part
11 : 13 40 Part 12 : 13 60
Part 13 : 14 00 Part 14 : 14 20 Part
15 : 14 40 Part 16 : 14 60
Alors voilà. Une fois
la programmation terminée (et ce n’est pas si terrible en bout de ligne) c’est
beaucoup plus simple et rapide que ce que l’on peut imaginer au premier coup
d’œil. Bien sûr, rien ne nous oblige à
programmer tous les messages.
D’ailleurs, je n’ai pas inscrit les messages sysex correspondant aux
paramètres des Destination 3 et 4 car ça ne me
semblait pas nécessaire. Peut-être vous
contenterez-vous de seulement un autre contrôleur supplémentaire. À ce moment là, pas besoin des CTRLs 3 et 4. On
peut aussi assigner les Patchs que l’on veut modifier par nos contrôleurs
toujours aux mêmes Parts, ce qui nous donne l’avantage d’avoir à faire la
programmation pour seulement 2, 3, 4 ou 5 Parts.
Personnellement, j’ai programmé chacun des messages pour les
Parts 1 à 8. Je n’ai qu’à modifier la
valeur (??) du message sysex selon l’information à envoyer et le tour est joué
!
Bref, c’est vraiment selon votre usage personnel alors,
amusez-vous bien !
Voici qqs exemples de messages Sysex que l'on peut envoyer :
------------------------------------------------------------
Nb:
Vous pouvez
aussi créer ces messages directement sur la 909 !
Edit
Pattern / Microscope
Appuyer sur
le bouton Tempo/Mute Control (pour l'allumer)
Create - System Exclusive OK
Create Position (a vous de voir) OK
Placer la
ligne d'édition sur la ligne Sysex créée puis appuyez sur la flèche de direction droite.
Un nouveau
menu apparaît, il ne vous reste plus qu'a saisir le
message.
!!!
Attention dans les exemples qui suivent l'avant dernière valeur est 00, vous
n'avez pas besoin de la saisir
!!! si vous utilisez directement la 909. Celle-ci la calculera
toute seule pour vous quand vous ferez OK
!!! Merci
Mr Roland ... bonne mémoire Mr Kamaro ;-D
Le but est de vous permettre de vérifier visuellement que
les messages que vous envoyez sont corrects et compris par la 909. Pour cela,
allez dans le menu CTRL1 et regardez les modifications que vos sysex vont
effectuer sur le système.
F0 41 10 00 59 12 11 00 00
Le premier message affecte la destination 1 du CTRL1 du Part
1 pour que ce soit RES (résonance) qui soit sélectionné
F0 41 10 00 59 12 11 00 00 2D 2A
00 F7
Le deuxième message affecte la sensibilité 1 du CTRL1 du
Part 1 pour quelle soit à -22
F0 41 10 00 59 12 11 00 20 17 02 00 F7
Le troisième message affecte le Control 1 Switch 1 du CTRL1 du Part 1 pour mettre cette valeur à REVS
(reverse)
Ok ca fonctionne ? alors il ne vous reste plus qu'a utiliser les tableaux ci
dessous pour obtenir 3 CTRLs de plus sur votre 909, pilotable par n'importe quel contrôleur (CC, molette de
modulation, Pad, et j'en passe ;-)
Valeurs en hexadécimale des différents paramètres
-------------------------------------------------
Sources
Off 00 CC33 21 CC64 40 BEND 60
CC01 01 CC34 22 CC65 41 AFTERTOUCH 61
CC02 02 CC35 23 CC66 42 SYS1 62
CC03 03 CC36 24 CC67 43 SYS2 63
CC04 04 CC37 25 CC68 44 SYS3 64
CC05 05 CC38 26 CC69 45 SYS4 65
CC06 06 CC39 27 CC70 46 VELOCITY 66
CC07 07 CC40 28 CC71 47 KEYFOLLOW 67
CC08 08 CC41 29 CC72 48 TEMPO 68
CC09 09 CC42 2A CC73 49 LFO1 69
CC10 0A CC43 2B CC74 4A LFO2 6A
CC11 0B CC44
CC12
CC13 0D CC46 2E CC77 4D TVA-ENV 6D
CC14 0E CC47
CC15
CC16 10 CC49 31 CC80 50
CC17 11 CC50 32 CC81 51
CC18 12 CC51 33 CC82 52
CC19 13 CC52 34 CC83 53
CC20 14 CC53 35 CC84 54
CC21 15 CC54 36 CC85 55
CC22 16 CC55 37 CC86 56
CC23 17 CC56 38 CC87 57
CC24 18 CC57 39 CC88 58
CC25 19 CC58 3A CC89 59
CC26 1A CC59 3B CC90 5A
CC27 1B CC60
CC28
CC29 1D CC62 3E CC93 5D
CC30 1E CC63
CC31
Destinations
------------
OFF 00 TVF-LFO1 0B TVF-ATK 16
PCH 01 TVF-LFO2
CUT 02 TVA-LFO1 0D TVF-REL 18
RES 03 TVA-LFO2 0E TVA-ATK 19
LEV 04 PAN-LFO1
PAN 05 PAN-LFO2 10 TVA-REL 1B
DRY 06 LFO1-RATE 11 TMT
------ 07 LFO2-RATE 12 FXM 1D
REV 08 PIT-ATK 13
PIT-LFO1 09 PIT-DCY 14
PIT-LFO2 0A PIT-REL 15
Control switches
----------------
OFF 00 ON 01 REVERSE 02
Sens
----
Étant donné
que la valeur varie entre 1 et 127, se référer au prochain tableau.
Conversion des Valeurs Décimales en Hexadécimales
=================================================
Nb : Pour avoir une correspondance
avec la valeur de sensibilité (qui sur la 909 est de
Exemple: D=0 valeur
pour la 909: 0 - 64 = -64
D=127 - 127 - 64 = 63
D H D H D H D H
0 00 33 21 64 40 96 60
1 01 34 22 65 41 97 61
2 02 35 23 66 42 98 62
3 03 36 24 67 43 99 63
4 04 37 25 68 44 100 64
5 05 38 26 69 45 101 65
6 06 39 27 70 46 102 66
7 07 40 28 71 47 103 67
8 08 41 29 72 48 104 68
9 09 42 2A 73 49 105 69
10 0A 43 2B 74 4A 106 6A
11 0B 44
12
13 0D 46 2E 77 4D 109 6D
14 0E 47
15
16 10 49 31 80 50 112 70
17 11 50 32 81 51 113 71
18 12 51 33 82 52 114 72
19 13 52 34 83 53 115 73
20 14 53 35 84 54 116 74
21 15 54 36 85 55 117 75
22 16 55 37 86 56 118 76
23 17 56 38 87 57 119 77
24 18 57 39 88 58 120 78
25 19 58 3A 89 59 121 79
26 1A 59 3B 90 5A 122 7A
27 1B 60
28
29 1D 62 3E 93 5D 125 7D
30 1E 63
31
32 20