Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/04/2024, à 11:11

Psilouh

clavier Midi et macro[RESOLU]

Bonjour à tous, j'ai récemment retrouvé mon clavier MIDI dont je n'ai plus l'utilité. Et je me suis dit pourquoi ne pas l'utiliser pour configurer des macros.

J'ai fait quelques recherche par-ci par-là, et suis tombé sur quelques exemple de script utilisant aseqdump et xdotool.

l'idée me semblait pas mal, cependant mon petit script ne semble pas fonctionnel après quelque essai. Alor je lance "une bouteille à la mer" espérant de l'aide.

Pour l'instant j'ai juste récrit un petit script bash en guise de test :

#!/bin/bash
aseqdump -p "LPK25" | \
while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do
    case "$ev1 $ev2 $ch $data1 $data2" in
        "Note on 48" ) xdotool type hello ;;
    esac
done 

je suis pourtant sûr que mon input fonctionne bien :

aseqdump -p LPK25
Waiting for data. Press Ctrl+C to end.
Source  Event                  Ch  Data
 24:0   Note on                 0, note 48, velocity 114
 24:0   Note off                0, note 48, velocity 127

Qulequ'un à une idée ? J'ai sûrement zappé quelque chose

Dernière modification par Psilouh (Le 12/04/2024, à 20:54)

Hors ligne

#2 Le 10/04/2024, à 15:48

krodelabestiole

Re : clavier Midi et macro[RESOLU]

"Note on 48" ? ça m'a pas l'air de correspondre au retour attendu.
(et il faut voir comment sont gérées les virgules)

ce script est inspiré par un tuto ou une page de doc ?

Hors ligne

#3 Le 10/04/2024, à 16:40

Psilouh

Re : clavier Midi et macro[RESOLU]

Je suis tombé sur un script identique et l'ai adapté à mon materiel. Mais je n'ai trouvé aucune documentation (j'aime partir à l'aventure sans couteau ahah..)

La je suis à la recherche d'une doc ou quelque chose qui saurait me guider sur mon clavier

Hors ligne

#4 Le 10/04/2024, à 16:42

krodelabestiole

Re : clavier Midi et macro[RESOLU]

Psilouh a écrit :

Je suis tombé sur un script identique

lequel ? (si tu veux de l'aide)

Hors ligne

#5 Le 10/04/2024, à 16:45

Psilouh

Re : clavier Midi et macro[RESOLU]

Effectivement, ça peux aider.

Voici le lien : https://github.com/chrisdonahue/midi2key_linux

Hors ligne

#6 Le 10/04/2024, à 17:03

krodelabestiole

Re : clavier Midi et macro[RESOLU]

et oui c'est bien différent :

case "$ev1 $ev2 $ch $data1 $data2" in
  "Control change 0 64 127" ) xdotool key alt+a ;;
  "Control change 1 64 0" ) xdotool key alt+a ;;
esac

vue ce que tu attends ce serait plutôt

"Note on 0 48 127"

mais on a un problème avec le 127 qui correspond à la vélocité : là il faut que tu bourrines la touche pour que ça marche.
il faudrait modifier le script davantage pour que ça fonctionne avec n'importe quelle vélocité : pour faire simple il suffit de virer le 127 et le $data2 de case.

Hors ligne

#7 Le 10/04/2024, à 17:25

Psilouh

Re : clavier Midi et macro[RESOLU]

pour éviter d'exploser mes touches, je suis parti "dans l'autre sens"

...
case  ..
   "note on 0 48 1" xdotool ...
aseqdump -p LPK25
Waiting for data. Press Ctrl+C to end.
Source  Event                  Ch  Data
 24:0   Note on                 0, note 48, velocity 1
 24:0   Note off                0, note 48, velocity 127

et toujours aucun résultat, en écrivant ces lignes je me rends compte que le soucis vient peut-être de 'xdotool' qui ne semble pas fonctionnel. Je vais revérifier si ma syntaxe est bonne de ce côté

Hors ligne

#8 Le 10/04/2024, à 17:40

krodelabestiole

Re : clavier Midi et macro[RESOLU]

sauf que "dans l'autre sens", tu as une chance sur 128 pour que ça marche (à moins que tu arrives à le jouer régulièrement)

pourquoi le n miniscule de note surtout ?

je suis pas sûr que tu aies choisi les meilleurs outils si tu débutes en programmation, à moins que ce soit ce que tu as envie d'apprendre ?

Hors ligne

#9 Le 12/04/2024, à 10:27

Psilouh

Re : clavier Midi et macro[RESOLU]

bon j'ai finalement trouvé une autre solution, en passant par "amidi"

#!/bin/bash
amidi -p hw:1,0,0 -d | while read -r line; do
  case "$line" in
    *"90 30"*)
      /home/user/script/touche_30.sh ;;
    *"90 32"*)
      /home/user/script/touche_32.sh ;;
    *"90 34"*)
##et ainsi de suite pour chaque touche
    *) ;;
  esac
done

j'ai créer un script par touche, mais aussi possible de mettre directement une commande

amidi -p hw:1,0,0 -d me ressort ça sur chaque touche :

amidi -p hw:1,0,0 -d

90 30 47
80 30 7F
90 32 3A
80 32 7F
90 34 53
80 34 7F
90 35 50
80 35 7F
90 37 65
90 39 62
80 39 7F
80 37 7F
90 39 26
90 3E 40
90 3C 36
80 39 7F
90 40 44
80 40 7F
80 3E 7F
90 45 63
90 43 5C
80 3C 7F
80 43 7F
90 3B 2E
90 41 40

90 étant "appuie" 80 "relache" suivie du "numéro de la touche" et en dernier la vélocité.

Dernière modification par Psilouh (Le 12/04/2024, à 10:28)

Hors ligne

#10 Le 12/04/2024, à 10:46

krodelabestiole

Re : clavier Midi et macro[RESOLU]

oui, c'est la norme midi (7 bit), représentée en hexadécimal.

Hors ligne