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

6 - Le MIDI

> Forums de discussion > 6 - Le MIDI > utiliser le clavier AZERTY comme clavier midi ?
Dernier post

utiliser le clavier AZERTY comme clavier midi ?

nitz utilisateur non connecté
Bonjour à tous,

J'aurai souhaiter savoir si quelqu'un connaissait un logiciel capable de capturer les entrées du clavier AZERTY afin de générer des signaux MIDI (CC essentiellement).

J'explique plus en détail ma situation :

guitariste linuxmao-iste, j'ai dédié un pc portable à la mao (effets sur guitare/chant, clavier maître pilotant des soundfonts, ardour...). J'aimerai pouvoir contrôler mes applis au pied, mais pour des raisons de prix et de poids, il n'y a aucun pédalier MIDI du commerce qui trouve grâce à mes yeux.

Mon idée toute bête est d'essayer d'utiliser un clavier USB posé au sol (45 grammes, pas d'alim, le rêve quoi (!) comme pédalier. J'ai laissé seulement quelques touches sur lesquelles j'ai collé des pads de caoutchouc. Pas sûr que la solidité soit au rendez-vous, mais cela ne m'a rien coûté, et tout est fait en récup (clavier usb de récup sur lequel il manquait des touches, bouchons en caoutchouc de récup...).

Pour le moment j'arrive à contrôler sooperlooper avec ce clavier usb, puisque ce logiciel reconnaît les entrées clavier. C'est déjà pas mal, mais j'aimerai pouvoir faire plus.

Des pistes :

- A priori, qmidiroute ne fait pas ça.
- Mididings ? Savez-vous s'il existe un script qui ferait ça ?
- Piz (mais j'ai l'impression que pour ce dernier il propose exactement l'inverse de ce que je souhaite, il transforme un signal midi en saisie clavier, en plus j'utilise de préférence jack-rack donc je préfèrerai du laddspa).
- je pense pouvoir utiliser vmpk qui a un éditeur de mappage du clavier, mais ça m'oblige à lacer ce logiciel, et qu'il soit toujours en avant-plan, non ?
- un autre logiciel ? Un gestionnaire de hotkeys évolué qui pourrait envoyer une commande personnalisée ?

Merci de vos lumières éclairantes,
Nitz

nitz utilisateur non connecté
re,

à toutes fins utiles, je vous conte la suite de mes aventures. J'ai fait des essais avec vmpk, et ça fonctionne à peu près, grâce aux raccourcis clavier. C'est pas idéal mais c'est un début.

Avec ce logiciel, on peut assigenr n'importe quelle touche ou ensemble de touches à :
- sélection de programme (PC+/-)
- au choix du controle affiché (c'est une liste déroulante, c'est un peu embêtant pour moi, ça, un seul contrôle est éditable à la fois)
- au changement de valeur du contrôle sélectionné (PC+/-).
- à n'importe quelle note de 0 à 127 grâce au mapping.

Je parviens bien à lier un contrôle à un élément rotatif (sur jack-rack ou rakarrack par exemple, pas de soucis non plus avec alsa modular synth). De ce côté, c'est une réussite, à part le fait que je doive d'abord appuyer sur une touche pour sélectionner le contrôle et appuyer sur une autre pour modifier sa valeur. Autre bémol, le pas de réglage va de 10 en 10. C'est pas hyper grave, mais pas très subtil parfois au niveau sonore sur certains effets.

Avec qmidiroute, j'arrive à faire un truc sympa : je route toutes les notes vers mon synthé (qsynth) et tous les PC et CC vers le rack d'effet, ce qui me permet d'utiliser les contrôles normalement réservés, et dont je ne me sers pas (modulation, etc...). J'ai donc potentiellement accès à 127 control sur 16 canaux : c'est de la bombe !

Mais je ne parviens pas à lier une note (par exemple les notes 0 à 14 qui sont trop basses, ou de 97 à 127 trop aigues, donc pas utilisées) à un commutateur on/off (effet activé ou pas). Dans qmidiroute, j'édite la première route pour ne prendre en compte que les notes de 15 à 96, et j'ajoute une quatrième route qui dit que pour ces notes, on les transforme en PC. Et pour éviter le note on/note off, je fixe la valeur on à 127 et off à 127 aussi. Ce qui oblige à utiliser une autre touche pour couper l'effet, avec les deux valeurs à 0. Ca parait déjà un poil compliqué... Et en plus ça marche pas !

Mon souci actuel, c'est que je ne parviens pas à vérifier ce qui sort de qmidiroute, histoire de savoir si c'est pas mes règles qui sont pourries. J'aimerai donc mettre un deuxième qmidiroute à la sortie du premier, pour utiliser son journal d'événements midi. En effet, dans ladish, qmidiroute n'apparait pas, j'édite les connexions grâce à aconnectgui et/ou à Patchage. Mais dans ces derniers logiciels, la deuxième instance de qmidiroute n'apparaît tout simplement pas... Je vais essayer de remplacer cette deuxième instance par kmidimon.

Je repars pour quelques heures de prise de tête !

A+

pianolivier utilisateur non connecté France
salut,

mon premier instinct pour envoyer des CC au clavier azerty aurai été en effet d'utiliser un clavier MIDI virtuel comme vmpk

alternativement, pour un setup plus compliqué mais plus modulable, il est possible comme tu le suggères d'utiliser un keylogger couplé à mididings pour envoyer du MIDI (en passant par un script bash entre les deux). Ce genre de manip est expliqué plus en détail sur la page transport MIDI.

Au passage, si mididings ne te fait pas peur, il doit être capable de régler les problème rencontrés avec qmidiroute.

Voilà, fais nous savoir ce que ça donne !

oliv'

nitz utilisateur non connecté
Bonjour à tous,

merci Oliv pour ta réponse. J'ai bein envie d'essayer mididings, ça a l'air puissant !

De mon côté, j'ai réussi à faire ce que je voulais, à force de bidouillages !

Voilà, donc j'utilise vmpk pour transformer en signaux midi les entrées de mon clavier AZERTY. Avec vmpk, on peut assigner n'importe quelle touche du clavier aux notes, et n'importe quelle touche aux événement internes du logiciel, qui peuvent parfois avoir un effet sur le midi (channel change, programme change, control change...).

Après, j'utilise qmidiroute avec 4 routes. Les notes de 12 à 96 sont renvoyées telles quelles sur le port alsa 1. Les autres notes (deux règles) sont transformées en CC, enfin les PC dont je n'ai pas l'utilité sont transformées aux aussi en CC.

J'ai transformé les PC en CC parce que c'est la seule manière que vmpk envoie un signal linéaire (de 0 à 127 sans paliers), alors que les CC 'normaux' sont crantés de 10 en 10.

Au final, j'ai donc ce que je veux : j'ai enlevé les touches du clavier qui ne me servent pas. Il m'en reste 16, sur lesquelles j'ai collé de gros blocs de coutchouc... Et ça fonctionne ! Sur le côté droit du clavier, j'ai réservées 4 boutons pour deux "pédales d'expression", ou plutôt un bouton 'up' et un bouton 'down' sur un CC, ce qui me convient très bien (une est linéaire, l'autre scalaire). J'ai réservé un bouton au sustain (0 ou 127 c'est très bien comme valeur pour le sustain), trois autres au contrôle de sooperlooper (rec, overdub et mute), et le reste comme boutons ON/OFF (malheureusement il me faut 2 boutons, un pour on et un pour off : je dis à qmidiroute d'envoyer toujours la même valeur que la note soit ON ou OFF, sinon je suis obligé de tenir le bouton appuyé, ce qui n'est pas très pratique, il faudrait trouver le moyen de garder la touche enfoncée...)

Dites-moi ce que vous en pensez ! Si des gens trouvent que c'est une bonne idée, je ferai un tuto avec des photos !!!

A+
Nico

koolben3359 utilisateur non connecté
Salut Nitz, je cherche à me fabriquer un pedalboard midi pour piloter hydrogen, sooperlooper et guitarix.
Je suis électronicien de formation mais je travaille dans l'informatique depuis que je suis sorti de l'école.
Au départ, j'avais donc penser utiliser un arduino et des switch pour construire ce pedalboard. Vu que le hardware, j'ai pas pratiqué depuis longtemps, j'ai ensuite pensé à plutot hacker un vieux clavier usb. Comme ca y'a plus que du soft à faire et ca je sais faire.
C'est en faisant des recherches pour voir si ca avait pas dèjà été fait que je suis tombé sur ce sujet.

Je pensais donc faire une appli en java, qui capterait les évenements claviers et les transformerait en messages MIDI. Cette appli se connecterait à Jack, et les messages Midi envoyés seraient configurables.
Je pense même qu'en hackant une souris lazer, on peut fabriquer une pedale d'expression ou wah.

Je voulais donc juste te dire que tu n'es pas le seul à chercher dans cette voie, et que on pourra surement si tu es d'accord s'entraider et partager nos avancées.

Koolben

nitz utilisateur non connecté
Salut Koolben,

ça me fait plaisir de pas être le seul galérien sur cette Terre !

de mon côté je suis web developpeur, je fais un peu de php, de python et de shell mais trop pas de programmation pure. Je suis très intéressé par ton soft et je suis prêt à t'aider à le développer dans la limite de mes compétences.

C'est une super bonne idée de détourner une souris pour faire une pédale ! Les pédales midi sont super cher je trouve, lourdes et pas pratiques. Du coup il faudrait peut-être regarder aussi les claviers usb qui font hub (pratique) et qui peuvent parfois avoir une molette intégrée (pour le réglage du son j'imagine ?). Il doit aussi y avoir des souris des tonnes de boutons et plusieurs molettes (souris de hardcore gamer, c'est pas trop ma came). J'ai vu aussi un pédalier midi en usb, pour les secrétaires, avec trois pédales, mais le prix fait que ça n'a pas d'intérêt. Enfin, du côté des outils pour graphistes, tablettes graphiques et compagnie, il y a peut-êtres choses sympas. Mais l'intérêt du clavier usb tout simple reste son coût plus qu'abordable, j'en ai plusieurs à la maison qu'on m'a donné (suffit qu'il manque une touche et les gens n'en veulent plus).

Sinon, j'avais entamé un projet que j'ai abandonné, à base d'un votant/pédalier de jeu vidéo. Je pense que ça pourrait vraiment t'intéresser si tu as des compétences en électronique, que je n'ai pas (j'ai tout fait cramé deux fois parce que je suis pas foutu de faire une soudure correcte...). L'idée, pour faire simple (il y a un post complet sur ce sujet dans ce forum), c'est d'utiliser aseqjoy, qui transforme les signaux 'game' en midi. Ce petit logiciel marche d'enfer (en c je crois), consomme peu de ressources. J'ai modifié la source du logiciel et recompilé pour mes besoins (envoyer des cc au lieu des pc). Je crois que ce 'patch' est en lien dans le post, mais c'était très facile à faire. J'avais démonté le volant pour récupérer les boutons, il y avait plusieurs molette sur le volant aussi, et le pédalier avait deux pédales (enlever le ressort pou éviter le retour automatique). J'avais foré le plastique du boîtier du pédalier, enlevé le lest (un petit bloc de béton) et l'avait remplacé par le circuit du volant, tout en conservant le circuit du pédalier (reliés entre eux par un cable, le pédalier fonctionne en mode 'esclave'). Au niveau plastique c'était amateur mais pas mal, les pédales sont d'assez mauvaise qualité, il faut dire ce qui est, mais suffisantes pour mes besoins (je fais de wah wah ou de whammy, je cherche plutôt à augmenter légèrement la prfondeur d'une réverb, le gain d'une sim d'ampli, ce genre de choses). Globalement ça fonctionnait. Mais en refaisant les soudures j'ai merdouillé... Ca m'a gonflé et j'ai tout arrêter. je crois d'ailleurs que quand j'ai déménagé j'ai tout jeté à la poubelle (de rage :[]).

Questions concernant ton projet : est-ce que java n'est pas un peu gourmand ? Je ne m'y connais pas très bien, amis il faut que la machine virtuelle java fonctionne pour que le logiciel s'exécute, non ? En plus c'est pas complétement libre toute cette histoire :-) Est-ce qu'un script en c, c++ consommerait pas moins de ressources ? Serait-il envisageable selon toi de réaliser l'appli comme un greffon pour un hôte : laddspa, vst natif ? Enfin, il doit y avoir des librairies et des classes toutes prêtes pour capturer les entrées clavier, et générer des signaux midi (je sais plus celle qu'utilise aseqjoy, je vais regarder ça).

A+
Nico

koolben3359 utilisateur non connecté
Je suis pas sur d'avoir encore quelques compétences en electronique. Je dois encore savoir souder mais c'est tout.

Mon but est avant tout d’économiser de l'argent parce que effectivement les claviers midi sont hyper cher. C'est pour ça que j'avais abandonner l'idée du volant car je n'en avais pas trouver de pas cher. L'avantage du clavier et de la souris c'est que même en neuf t'en trouve à 3 euros chaque.

Pour ce qui est du choix du langage, effectivement le java peut être un peu gourmand mais pour les traitements qu'il va y avoir à faire c'est pas sur. Mais de toute facon je peux aussi développer en C++, c'est juste qu'en java je trouve ca plus pratique.

Après pour le greffon laddspa, vst, je n'y connais rien, mais avec un peu de temps rien n'est impossible.

POur le hack de souris, le principe serait de positionner la souris à la verticale.Une tige plate attachée à une pedale ferait des va et viens verticaux devant le lazer. On obtient ainsi des déplacements du pointeur de haut en bas sur l'écran. On lie la position en ordonnée du pointeur à la valeur qu'on veut faire varier.

Koolben

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

calixtus06, 14:33, jeu. 28 mars 2024: Bonjour et bienvenue à b.vl :-)
calixtus06, 09:30, mer. 27 mars 2024: Bonjour et bienvenue à Noar :-)
olinuxx, 18:50, lun. 25 mars 2024: Bonjour et bienvenue à Ted Demore cool
olinuxx, 17:52, dim. 24 mars 2024: Bonjour et bienvenue à Noitavon cool
calixtus06, 11:07, jeu. 21 mars 2024: Bonjour et bienvenue à obds, ceric :-)
obds, 16:12, mar. 19 mars 2024: Cet édito est juste parfait. Trop beau !
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