Chargement...
 
Skip to main content

5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres...


[Résolu] un moyen de faire couper une connection dans jack par un evenement midi ?

voilà, je me demandais si qulqu'un connaitrait un moyen de faire couper une connection, voir d'en etablir une par le biais d'un evenement midi.
France
Pour moi, ça n'est pas possible ! ( Je dis ça sans avoir la prétention d'avoir fait le tour de la question!). Est-ce que tu n'aurais pas plutôt intérêt à créer tes connections à l'avance, même si elle ne servent pas ?
j'ai des connection crées d'avance, et j'en ai besoin de différentes à disposition en live.
je voudrais en fait passer du pilotage d'un expandeur au pilotage de synthés soft differents à différents moments d'une prestation live, le tout à partir du meme clavier.
en fait un patchbay midi dont les configs seraient changeables par des evenements midi serait l'ideal.(peu importe l'evenement midi qui le declencherait, je sais transformer les evenements midi dejà grace à qmidiroute)

dans l'absolu, pouvoir le faire aussi pour du signal audio serait encore mieux.
France
Tu peux essayer mididings qui te permettra de lancer des scripts à partir de contrôles MIDI.
France
D'accord avec olinuxx : c'est mididings la solution.
J'ai construit quelques scripts pour connecter et déconnecter des instruments virtuels à un clavier maître en agissant sur les contrôles midi de ce clavier, pour pouvoir facilement changer de son en "concert".
Si tu veux, j'envoie ça et tu pourras adapter à tes besoins.
@ m2v2
avec plaisir
mais voilà, je viens d'essayer de l'installer, et rebonjour la galère, on est repartis pour un tour de manège :

lors du
Copy to clipboard
./setup.py build


j'ai gagné divers messages d'erreurs que j'ai pu résoudre en installant un certain nombre de paquets, mais là, je seche :

Copy to clipboard
/usr/bin/ld : ne peut trouver -lboost_python-mt /usr/bin/ld : ne peut trouver -lboost_thread-mt


j'ai pourtant bien installé libboost suite à un precedent message d'erreur...
France
Et pourquoi pas tout simplement
Copy to clipboard
sudo apt-get install mididings

?
Le boulet !
parceque je suis allé dans synaptic voir si les paquets existaient, et pas de trace...
...mais voilà, le boulet j'avais fait une faute d'orthographe , avais tapé middings 🙄
ok donc maintenant ça roule je l'ai, plus qu'à bosser pour voir comment l'utiliser...
France
😀
T'inquiète pas, ça m'est déjà arrivé 😕


Pour mes scripts, j'utilise les contrôles midi de 81 à 86 que je traite dans un script "instruselect.py" que voici :
Copy to clipboard
from mididings import * run( Filter(CTRL) >> CtrlSplit({ 81: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Salamander'),System('/home/michel/mididings/instruscripts/SalamanderOff')), 82: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Clavinova'),System('/home/michel/mididings/instruscripts/ClavinovaOff')), 83: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Wurlitzer'),System('/home/michel/mididings/instruscripts/WurlitzerOff')), 84: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Rhodes'),System('/home/michel/mididings/instruscripts/RhodesOff')), 85: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Strings'),System('/home/michel/mididings/instruscripts/StringsOff')), 86: CtrlValueSplit(64,System('/home/michel/mididings/instruscripts/Organ'),System('/home/michel/mididings/instruscripts/OrganOff')) }) )

Pour chaque contrôle, je traite différemment les valeurs 0 ou 127 (split 64) pour connecter ou déconnecter l'instrument correspondant. Sur chaque ligne j'appelle un autre script "nom_de_linstrument" ou "nom_de_linstrumentOff".
Ces autres scripts (dans le dossier "instruscripts") sont fait comme ça (par ex. Salamander et SalamanderOff :
Copy to clipboard
#! /bin/sh jack_connect "MIDI Chromatic Transpose:events-out" "SalamanderGrandPianoV3:events-in"

Copy to clipboard
#! /bin/sh jack_disconnect "MIDI Chromatic Transpose:events-out" "SalamanderGrandPianoV3:events-in"

Le "MIDI Chromatic Transpose:events-out" est un transpositeur midi que j'ai intercalé entre mon clavier et les instruments. Tu peux le remplacer directement par le clavier.
En fait les commandes principales sont jack_connect et jack_disconnect.

Bon, j'ai l'impression que tout ceci peut être assez confus. N'hésite pas à demander des éclaircissements !
Ok merci pour votre aide, j'ai pu, grâce à vos exemples (ceux de la page de mididings notament, m'en sortir pour mes patchs live en faisant des scenes connectées aux bons canaux midi sur yoshimi et des ports vers mes expandeurs, et un port qui ne va nulle part en guise de coupure pour pouvoir utiliser mon clavier maitre aussi en solo.
j'ai essayé avant avec les scripts, mais là je patouille trop.
France
Super chouette ça ! En avant la musique !