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

le transport MIDI pour les applications non compatibles MMC (Dans l'antémémoire)
Cette page explique une méthode alternative pour contrôler le transport MIDI (avec son clavier MIDI) pour les logiciels qui ne supportent pas le protocole standard MMC.
Ou plus généralement : comment envoyer des raccourcis claviers à vos applications avec un contrôleur MIDI.
On notera qu'il est possible d'utiliser le protocole standard MMC avec certains des logiciels utilisés dans cette documentation, et que c'est bien plus simple (mais ne fonctionne apparement pas avec tous les systèmes, d'où la manip').



Synopsis


Étant propriétaire d’un Axiom25, j’ai été confronté à un souci : comment configurer les touches de commande avec mon logiciel séquenceur MIDI. C’est après quelques recherches et en additionnant 2 outils (mididings et xdotool ) qu’il m’a été possible de configurer le tout.

Je vous propose sur cette page ma méthode utilisée pour configurer les contrôleurs MIDI avec vos logiciels préférés.

Pré-requis


Comme expliquer plus haut, nous avons besoin de 2 outils pour que cette configuration fonctionne :

mididings

page wiki dédiée : mididings.
C’est un routeur/processeur d'évènements MIDI.
(Je ne reviens pas ici sur l’installation, la page wiki est très bien faite)

xdotool

site internet : http://www.semicomplete.com/projects/xdotool/ .
Cet outil permet de simuler des évènements claviers et souris, il permet également d'envoyer des ordres divers aux objets X (logiciels ouverts par exemple).
Installation par gestionnaire de paquet :

apt-get install xdotool


Nous supposons également que votre poste est fonctionnel (QJackCtl, Qtractor ou Rosegarden par exemple correctement installés et ouverts).

Repérage / configuration des raccourcis clavier de votre logiciel


Il s’agit ici de repérer quelle commande nous allons envoyer avec le contrôleur.
Exemple dans Qtractor => touche « espace » correspond à la commande « lecture ».

Identification du contrôleur


Nous allons récupérer le code MIDI envoyé par le contrôleur. Sur l’Axiom25 la valeur est indiquée sur l’écran LCD lors de la pression sur le contrôleur, pour tout autre matériel utiliser la commande :

mididings "Print()"


(ne pas oublier de relier votre contrôleur à mididings dans jack)

Création du script xdotool


Lancer votre éditeur de texte préféré et rentrer :

#!/bin/bash

WID=`xdotool search --title "Qtractor" | head -1`
xdotool windowfocus $WID
xdotool key space


Explications :


WID=`xdotool search --title "Qtractor" | head -1`


Cette commande va récupérer l’ID du logiciel, ici Qtractor (cette action est équivalente à la commande xwininfo).

xdotool windowfocus $WID


Cette commande rend votre logiciel « actif » comme lorsque l’on clique dessus.

xdotool key space


Ici nous y injectons la touche espace.

On enregistre le fichier de manière à pouvoir le retrouver facilement (par exemple nom de fichier : qtractor_espace), puis on rend exécutable le fichier :

chmod +x « votre dossier »/qtractor_espace


Création du script mididings


from mididings import *

run (
(CtrlFilter(117) & CtrlValueFilter (127)) % System("/home/christophe/./qtractor_espace")
)


Explications :


(CtrlFilter(117) & CtrlValueFilter (127)) % System("/home/christophe/./qtractor_espace")


Ligne aux allures un peu barbare mais en réalité pas vraiment méchante…

CtrlFilter(117)


117 correspond au numéro de votre contrôleur (rappelez-vous => mididings "Print()" ).

CtrlValueFilter (127)


127 est la valeur envoyée par votre contrôleur lors de la pression de la touche (on appuie => 127, on relâche =>0)

System("/home/christophe/./qtractor_espace")


là, on va chercher notre script xdotool.


Enfin,

(A & B) % C


Cette syntaxe signifie que lorsque les conditions A et B sont réunies, on exécute l’ordre C (concrètement c’est lorsqu’on appuie sur le contrôleur que le script est lancé).

On sauvegarde le fichier (par exemple midi.py) et enfin, on le lance :

python midi.py


(ne pas oublier de relier votre contrôleur à mididings dans jack)

Compléments d’information


Récupérer la valeur d’une touche pour xdotool


xdotool est très permissif, il accepte les commandes de type

xdotool key F6


ou encore

xdotool key ctrl+o


Pour les touches spéciales, vous pouvez utiliser les keycodes. Pour récupérer le keycode de votre touche, utiliser xev .

Additionner plusieurs commandes dans mididings


Exemple :

from mididings import *

run (
[
(CtrlFilter(117) & CtrlValueFilter (127)) % System("/home/christophe/./qtractor_espace"),
(CtrlFilter(114) & CtrlValueFilter (127)) % System("/home/christophe/./qtractor_retour"),
]
)


Aller plus loin avec ces outils


Nous avons vu ici des exemples pour configurer des commandes de transport, mais sachez que ces outils sont universels et les commandes n’ont pour seule limite que votre imagination. Vous pouvez par exemple vous servir du contrôleur pour enregistrer votre travail (raccourci ctrl+s).



Collaborateur(s) de cette page : olinuxx , pianolivier et cm35 .
Page dernièrement modifiée le Vendredi 19 septembre 2014 22:14:20 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, 19:03, dim. 03 Jul 2022: Bonjour et bienvenue à Yatem cool
sub26nico, 15:02, ven. 01 Jul 2022: Salut et bienvenue à petrusv et OlivSpai :-)
olinuxx, 21:18, mar. 28 Jun 2022: Bonjour et bienvenue à zenon cool
bluedid29, 21:30, lun. 27 Jun 2022: Et hop, nouvelle interface audio AUDIENT iD4 testée sur LibraZiK-4... ...impec :-)
PascalC67, 15:21, dim. 26 Jun 2022: Merci Olinuxx :-)
olinuxx, 08:51, dim. 26 Jun 2022: Merci pour les retours Bluedid29 et PascalC67. Bonnes musiques à vous !
olinuxx, 08:51, dim. 26 Jun 2022: Bonjour et bienvenue à PascalC67 cool
PascalC67, 00:23, dim. 26 Jun 2022: Bien joué Olinuxx. :-) Librazik4 + Harrison Mixbus 32C + Bitwig studio 4 + 01V96i
bluedid29, 22:12, sam. 25 Jun 2022: Test en cours LibraZiK-4 et nouvelle interface audio Audient iD4... ...tout se passe bien, super boulot olinuxx :-)
PascalC67, 19:39, sam. 25 Jun 2022: Bonsoir. retour d'un ancien. Je vais tenter une installe de Librazik 4 sur l'un de mes HPZ sous XEon et 01V96i. Si ca tourne bien j'envisagerai ... de connecter une carte MERGING via AES67 dessus en ethernet
Jim-Bo33, 16:42, sam. 25 Jun 2022: Bonjour Olinux, finalement j'ai retrouvert mon login et mon logon. tout va bien
bluedid29, 19:24, ven. 24 Jun 2022: Et hop,distribution LibraZiK-4 installée à partir de Debian 11 Voyager, y'a plus qu'à tester ! Bon week-end :-)