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

Lancer un programme ou une commande à la réception d'un événement MIDI
informationinfo
Ce tutoriel répond à la question suivante :
Comment faire pour lancer un programme ou une commande lorsque j'appuie sur tel ou tel bouton de mon contrôleur MIDI (clavier, pédalier...) ?



C'est pour répondre à cette problématique que Mididings a été développé.
Commencez donc par l'installer sur votre machine.

Mididings fonctionne avec des scripts python. Mais vous n'aurez pas besoin de savoir programmer pour ce que nous voulons faire.


Créez un fichier, appelez-le par exemple me2sc et collez-y les lignes suivantes :
from mididings import *

run(
   Filter(NOTEON) >> KeySplit({
       60: System('clementine'),
       61: System('xdotool key ctrl+l'),
   })
)


Nous allons décortiquer ce bout de code afin de comprendre comment cela fonctionne :
  • Filter permet de filtrer les signaux reçus. NOTEON signifie que l'on ne prend en compte que les appuies sur les touches de notes. On peut le remplacer par NOTEOFF, NOTE ou CTRL (voir ici pour plus de détails).
  • 60 et 61 correspondent aux numéros des événements MIDI. Pour savoir quel numéro est associé à quel touche de votre contrôleur MIDI, connectez-le à QMidiRoute via Jack. Vous verrez alors les événements que reçoit QMidiRoute dans la fenêtre du logiciel.
  • clementine et xdotool key ctrl+l sont les commandes à lancer à la réception de ces événements. La première commande lance le lecteur audio du même nom et la deuxième utilise le programme xdotool pour simuler la combinaison de touche Ctrl+l (si vous souhaitez utiliser cette commande, n'oubliez pas d'installer le paquet xdotool sur votre machine).

Lancer plusieurs commandes en même temps

Si vous voulez qu'un événement MIDI exécute plusieurs commandes à la suite, écrivez-les dans un fichier séparé (ce qu'on appelle un script), rendez-le exécutable et renseigner son chemin à la place des commandes précédentes.

Par exemple, vous pouvez créer un fichier appelé script_touche_61.sh dans votre dossier personnel dans lequel vous mettrez :
xdotool key ctrl+x
xdotool key ctrl+c

Pour plus d'informations sur les scripts, vous pouvez consulter la page du wiki d'Ubuntu .

N'oubliez pas de rendre le fichier exécutable .

Et remplissez le fichier me2sc comme ceci, en remplaçant NOMDUTILISATEUR par le chemin qui convient :
from mididings import *

run(
   Filter(NOTEON) >> KeySplit({
       60: System('clementine'),
       61: System('/home/NOMDUTILISATEUR/script_touche_61.sh'),
   })
)



Ensuite, il faut identifier le nom de votre contrôleur MIDI. Pour cela utiliser la commande :
aconnect -i

ou :
aconnect -o

Par exemple, la mienne s'appelle Q49.

Il ne reste plus qu'à lancer Mididings en lui indiquant l'emplacement du script python et le nom du contrôleur :
mididings -c Mididings -f me2sc && aconnect Q49 Mididings


Et voilà !



[+]

Collaborateur(s) de cette page : olinuxx , Flo et jams .
Page dernièrement modifiée le Mercredi 13 janvier 2016 14:01:43 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

bluedid29, 00:41, ven. 31 mars 2017: A l'attention par exemple de zebassprophet qui m'avais posé la question ;-)
bluedid29, 00:39, ven. 31 mars 2017: J'ai posté ici pour expliquer quels soundfont j'avais employé (morceau joute nr10) : [Lien]
Samuel, 20:07, jeu. 30 mars 2017: @sub26nico, elle a un mode CC où on a accès aux 12 e/s. Donc compatible. Et on peut l'utiliser seule comme pré-ampli dans ordi
olinuxx, 19:51, jeu. 30 mars 2017: bonjour et bienvenue à Tomny, douxy, et à moonshadow :-)
sub26nico, 17:16, jeu. 30 mars 2017: @Samuel: tiens nous au jus pour la babyface pro, j'envisage de la prendre, je suis curieux de savoir sa compatibilité avec GNU/Linux
Samuel, 15:51, jeu. 30 mars 2017: Je reçois une rme babyface pro demain si tout va bien youhou
ycollet, 13:13, mer. 29 mars 2017: Pineal, un super truc pour le live coding ... [Lien]
allany, 08:30, mer. 29 mars 2017: Quelqu'un aurait-il des infos sur les caractéristiques du driver snd-usb-audio ? Nb E/S, échantillonnages supportés, ... afin d'éviter d'écrire des âneries à ce sujet dans les forums.
olinuxx, 14:31, lun. 27 mars 2017: bonjour et bienvenue à Antoine33/33antoine, et à El-Brouno :-)
Antoine33, 02:26, lun. 27 mars 2017: Bonsoir à tous! Je viens de m'inscrire!
olinuxx, 19:29, sam. 25 mars 2017: bonjour et bienvenue à Foretriks :-)
bluedid29, 15:16, sam. 25 mars 2017: N'hésitez-pas à participer, discuter, papoter... ...et bon week-end ! :-)