Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Transformer un joystick en contrôleur MIDI
Cette page présente une méthode parmi d'autres pour transformer un joystick en contrôleur MIDI, uniquement en utilisant des logiciels libres.





But de ce tutoriel


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

Nous utiliserons aussi XY Controller, qui est présent de base dans LibraZiK 2 ou dans KXStudio. Vous pouvez utiliser n'importe quel autre logiciel à la place de ce dernier du moment qu'il a une entrée et une sortie MIDI compatible JACK. La méthode restera la même.

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

Pré-requis : savoir déjà un peu utiliser une interface graphique de JACK, savoir installer des paquets sur la distribution que vous allez utiliser.

À noter que ce tutoriel est inspiré de cet autre tutoriel : Yoshimi - modifications vectorielles temps réel. Merci donc aux personnes qui l'ont rédigé, sinon je n'aurais pas saisi le fonctionnement de certains réglages de qmidiroute.



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 Image . 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 LibraZiK-2. À 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 trouver Qmidiroute 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 :
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, mais ce que je peux vous dire, c'est que par exemple l'axe 0 agit sur le contrôleur MIDI 10 du logiciel que vous contrôlez. L'axe 1 sur le contrôleur 11, etc...

À noter, que vous pourrez uniquement vous servir des axes et du contrôleur de direction (D-pad) pour les commandes MIDI. Les boutons eux, de base sont asservis au changement de canal MIDI. Pour modifier cette fonctionnalité directement dans aseqjoy faites un tour par ici, qui est un fil de discussion pour modifier aseqjoy.

3. Lancez Qmidiroute.

4. Lancez Contrôleur XY.
Il est nativement dans LibraZiK-2.Vous pouvez aussi lancer 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, qui apparaît sous le nom joystick0, à Qmidiroute.

Image

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

Image

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 le 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-Controller à l'entrée MIDI de qmidiroute :

Image

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 :

Image

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.

Image

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 suivantes :
  • 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 transforment 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


Et bien normalement quand vous bougez votre joystick, le rond du pad et les potentiomètres de XY Contrôleur devraient bouger.
Et c'est gagné pour vous !



Divers


Collaborateur(s) de cette page : olinuxx et sri_raoul .
Page dernièrement modifiée le Vendredi 22 mai 2020 17:04:03 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool
calixtus06, 11:17, mar. 05 mars 2024: Bonjour et bienvenue à D752 :-)
calixtus06, 18:59, lun. 04 mars 2024: Bonjour et bienvenue à Hborsa et Adjudandouille :-)
olinuxx, 18:34, jeu. 29 Feb 2024: Bonjour et bienvenue à anto45500 cool
jujudusud, 23:38, mar. 27 Feb 2024: Venez participer à la joute numéro 17 : [Lien]
calixtus06, 18:36, jeu. 22 Feb 2024: Bonjour et bienvenue à nikartri et rckloar :-)
calixtus06, 10:15, mer. 14 Feb 2024: Bonjour et bienvenue à smonff, Alphascorpii, tadumtss et letoII :-)