Skip to main content

Historique: Transformer un joystick en contrôleur MIDI

Aperçu de cette version: 11



Cette page présentera Transformer un joystick en contrôleur MIDI.

 attention
Page en cours d'écriture



But de ce tutoriel


Le but de ce tutoriel est de transformer un joystick en contrôleur MIDI via deux logiciels:

Note: il existe aussi Midijoystick, mais je n'ai pas réussis à l'installer

Connecter son joystick


Nous partirons du principe que le joystick que vous voulez utiliser est en USB, class compliant, c'est-à-dire sans avoir de pilote à installer.
Pour être sûr que le joystick que vous voulez utiliser fonctionne, vous pouvez utiliser jstest-gtk. Peut-être qu'il vous dira à vous aussi qu'il y a un accéléromètre dans votre ordi...en plus du joystick...

Installer aseqjoy


aseqjoy sert à transformer les signaux émis par votre joystick, et dont j'ignore la nature, en commandes MIDI.
De base, il est présent dans les dépôts de Librazik2. À vous de l'installer suivant la méthode qui vous convient le mieux: soit via synaptic, soit via une console.

Installer qMidiroute


Normalement vous devriez le trouver assez facilement dans les dépôts de votre distribution GNU/Linux

Branchez-moi tout ça!


1. Commencez par lancer jack. À vous de voir la méthode qui vous convient le mieux ( Cadence, Qjackctl, etc.)

2. Lancez aseqjoy, en ligne de commande dans un terminal.

Vous obtenez quelque chose comme ceci:
Copy to clipboard
aseqjoy aseqjoy version 0.0.2 - Copyright (C) 2003-2016 by Alexander Koenig aseqjoy comes with ABSOLUTELY NO WARRANTY - for details read the license. aseqjoy: /dev/js0: No such file or directory Using joystick (Logitech Logitech RumblePad 2 USB) through device /dev/input/js0 with 6 axes and 12 buttons. Axis -> MIDI controller mapping: 0 -> 10 1 -> 11 2 -> 12 3 -> 13 4 -> 14 5 -> 15 Ready, entering loop - use Ctrl-C to exit.


C'est que tout se passe bien pour le moment. Pour être honnête, je n'ai pas tout compris dans le fonctionnement de aseqjoy, je ne pourrais donc pas vous donner plus d'explication que cela sur le sens des ces lignes.
À noter, que vous pourrez uniquement vous servir des axes et du contrôleur de direction (D-pad) pour les commandes MIDI. Pour utiliser les boutons, faites un tour par ici ici, qui est un fil de discussion pour modifier aseqjoy.

3. Lancez Qmidiroute.

4. Lancez Contrôleur XY.
Il est nativement dans Librazik2, ou tout autre utilitaire MIDI qui a une entrée et une sortie MIDI.

5. Via l'interface graphique de Jack de votre choix, ici c'est Catia, patchez aseqjoy à Qmidiroute.

Catia Joystick0 Vers Qmidiroute


6. Dans Qmidiroute, récupérez les informations qui sont envoyez par votre joystick.

Journal Qmidiroute Aseqjoy

Dans cet exemple, j'ai bougé l'axe X de mon joystick. Cela veut dire que aseqjoy transforme bien ce signal en commande MIDI.
Cette commande MIDI est la suivante: sur la canal 2, le contrôleur 10 est à telle valeur; valeur qui varie en fonction de la position mon joystick sur cet axe.
Notez bien le canal et le numéro de contrôleur.

7. Retournez à l'interface graphique de Jack, pour moi Catia, et débranchez aseqjoy de qmidiroute.

8. Branchez la sortie MIDI de XY-Conntroller à l'entrée MIDI de qmidiroute:

XY Control Vers Qmidiroute

9. Nous allons répéter l'étape n°6: bouger le potentiomètre X dans Contrôleur XY, puis dans qmidiroute, nous récupérons son canal midi et le numéro de son contrôleur. Idem, on se garde ces informations sous le coude.

10. Idem étape n°7. On débranche tout.

11. Patchez le tout comme suit:
aseqjoy -> qMidiroute -> Contrôleur XY, ce qui vous donne quelque chose comme ceci, comme cela:

Patch Final

Normalement, quand vous bougez votre joystick, rien ne se passe dans Contrôleur XY. Sauf coup de bol...

Configuration de Qmidiroute


C'est là que nous aurons besoin des valeurs des canaux et de contrôleur des axes X et Y du joystick et de XY-Controller.

Config Qmidiroute

1. Enregistrez votre nouveau fichier Qmidiroute là où vous voulez avec le nom que vous voulez...
2. Créez une nouvelle règle. C'est l'icône avec un plus vert.
3. Dans la partie gauche, en "entrée", vous passez les valeurs suivante:
  • Type: Contrôleur
  • Canal: le canal que vous avez relevé en sortie de votre joystick, ici: 2 et ce dans les deux cases. Nous ne voulons écouter que ce canal.
  • Contrôleur: ce sont les numéros des contrôleurs que nous voulons écouter, ici les 10 et 11. Respectivement l'axe X et l'axe Y.
  • Valeur: de 0 à 127.

4. Dans la partie de droite, accrochez-vous à vos slips...:
  • Type: Contrôleur (bon, jusque là, ça va...)
  • Canal: Fixe // 2. (ok...)
  • Contrôleur: Offset (parce que nous aurons un décalage entre la valeur en entrée et la valeur que nous voulons en sortie...hé oui...) // -9
Le -9 vient du fait que nous avons les contrôleurs 10 et 11 en entrée et que nous voulons qu'ils se transforme en 1 et 2 en sortie.
La formule pourrait être:
Valeur de sortie = Valeur d'entrée + valeur de l'offset
D'où:
Valeur de l'offset = Valeur de sortie - Valeur d'entrée

Ce qui donne ici:
Valeur de l'offset = 1-10= -9
Je vous avais prévenu...Je ne trouve pas l'interface de Qmidiroute particulièrement claire pour ça...

  • Valeur 0 et 127
  • Port ALSA: 1

5. On sauvegarde son fichier...hein...

Test...



Liens et commentaires

Historique

Information Version
Fri 22 mai 2020 17:04 olinuxx + page intégrée 25
Afficher
Fri 22 mai 2020 17:02 olinuxx + pré-intégration + ponctuations + coquilles + suppression du bandeau "en cours" + min/MAJ 24
Afficher
Thu 02 Apr 2020 18:38 sri_raoul 23
Afficher
Mon 02 Mar 2020 21:55 olinuxx + titre de la page + suppression de la balise HTML (2ème page) + mise en page / cohérence wiki + liens internes + ponctuations + MAJ/min + drapeaux EN/FR + coquilles 22
Afficher
Mon 02 Mar 2020 10:18 sri_raoul 21
Afficher
Mon 02 Mar 2020 10:17 sri_raoul 20
Afficher
Mon 02 Mar 2020 10:16 sri_raoul 19
Afficher
Mon 02 Mar 2020 10:14 sri_raoul 18
Afficher
Mon 02 Mar 2020 09:57 sri_raoul 17
Afficher
Mon 02 Mar 2020 09:46 sri_raoul 16
Afficher
Sun 01 Mar 2020 23:39 sri_raoul 15
Afficher
Sun 01 Mar 2020 23:37 sri_raoul 14
Afficher
Sun 01 Mar 2020 23:33 sri_raoul 13
Afficher
Sun 01 Mar 2020 23:31 sri_raoul 12
Afficher
Sun 01 Mar 2020 23:30 sri_raoul 11
Afficher
Sun 01 Mar 2020 23:29 sri_raoul 10
Afficher
Sun 01 Mar 2020 23:26 sri_raoul 9
Afficher
Sun 01 Mar 2020 23:20 sri_raoul 8
Afficher
Sun 01 Mar 2020 23:06 sri_raoul 7
Afficher
Sun 01 Mar 2020 23:00 sri_raoul 6
Afficher
Sun 01 Mar 2020 22:49 sri_raoul 5
Afficher
Sun 01 Mar 2020 22:41 sri_raoul 4
Afficher
Sun 01 Mar 2020 22:18 sri_raoul 3
Afficher
Sun 01 Mar 2020 22:16 sri_raoul 2
Afficher
Sun 01 Mar 2020 22:08 sri_raoul 1
Afficher