=======================================================================

====== 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  1C  ??  00  F7

                        Control 2 Switch 2 :     F0  41  10  00  59  12  11  00  22  1C  ??  00  F7

                        Control 2 Switch 3 :     F0  41  10  00  59  12  11  00  24  1C  ??  00  F7

                        Control 2 Switch 4 :     F0  41  10  00  59  12  11  00  26  1C  ??  00  F7

 

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  3F  ??  00  F7

                        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  1F  ??  00  F7

                        Control 1 Switch 2:      F0  41  10  00  59  12  11  00  22  1F  ??  00  F7

                        Control 1 Switch 3 :     F0  41  10  00  59  12  11  00  24  1F  ??  00  F7

                        Control 1 Switch 4 :     F0  41  10  00  59  12  11  00  26  1F  ??  00  F7

                        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 2C 03 00 F7

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  2C                   CC75  4B                   PIT-ENV                    6B

            CC12  0C                   CC45  2D                   CC76  4C                   TVF-ENV                   6C

            CC13  0D                   CC46  2E                   CC77  4D                   TVA-ENV      6D

            CC14  0E                   CC47  2F                   CC78  4E

            CC15  0F                   CC48  30                    CC79  4F

            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  3C                   CC91  5B

            CC28  1C                   CC61  3D                   CC92  5C

            CC29  1D                   CC62  3E                   CC93  5D

            CC30  1E                   CC63  3F                   CC94  5E

            CC31  1F                                                       CC95  5F

 

 

 

Destinations

------------

            OFF                00                    TVF-LFO1     0B                   TVF-ATK                   16

            PCH                01                    TVF-LFO2     0C                   TVF-DCY                  17

            CUT                02                    TVA-LFO1     0D                   TVF-REL                    18

            RES                 03                    TVA-LFO2     0E                   TVA-ATK                  19

            LEV                04                    PAN-LFO1     0F                   TVA-DCY                  1A

            PAN                05                    PAN-LFO2     10                    TVA-REL                   1B

            DRY                06                    LFO1-RATE   11                    TMT                1C

            ------               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 -63 a +64), il faut soustraire a la valeur décimale (colonne gauche) 64.

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        2C                   75        4B                   107      6B

            12        0C                   45        2D                   76        4C                   108      6C

            13        0D                   46        2E                   77        4D                   109      6D

            14        0E                   47        2F                   78        4E                   110      6E

            15        0F                   48        30                    79        4F                   111      6F

            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        3C                   91        5B                   123      7B

            28        1C                   61        3D                   92        5C                   124      7C

            29        1D                   62        3E                   93        5D                   125      7D

            30        1E                   63        3F                   94        5E                   126      7E

            31        1F                                                       95        5F                   127      7F

            32        20