Pages: 1 2
Salut !
J'ai une problématique je ne n'arrive pas à résoudre, et ce depuis maintenant plusieurs semaines.
Ça a un lien direct avec Pure Data, ce pourquoi je poste ça ici, mais pas que. Si ça pose soucis pardonnez-moi par avance
Je m'explique :
Je cherche à rediriger la sortie audio d'un ou plusieurs synthés virtuels (Yoshimi et/ou Phasex en l'occurrence) soit vers Icecast2 afin de streamer tout flux audio, soit vers Pure Data qui se chargera, en plus de l'envoi continu de contrôles vers lesdits synthés, de récupérer l'audio et de le streamer vers Icecast2 grâce à [mp3cast~].
Où est le problème là-dedans ? C'est fastoche ça !
Ouais, mais le truc c'est que tout doit être fait en ligne de commande, sans interface graphique (et via SSH en plus, tant qu'à faire).
Donc voilà, je ne sais pas trop comment faire pour rediriger la sortie son d'un de ces 2 synthés (ou plus si affinités) vers Pure Data (ou Icecast2), le tout en ligne de commande.
Merci beaucoup pour toute aide apportée
Hors ligne
RoKN a écrit:
Où est le problème là-dedans ? C'est fastoche ça !
euh, c'est à dire ?? (ça pourrait être intéressant pour ceux qui ne savent pas)
RoKN a écrit:
Ouais, mais le truc c'est que tout doit être fait en ligne de commande, sans interface graphique (et via SSH en plus, tant qu'à faire).
c'est un projet top secret ? bon comme ça fait plusieurs semaines que tu cherches, j'imagine que ça doit pas être aussi simple que le truc expliqué partout (genre une connexion à distance à l'interface graphique d'un Raspberry Pi, ou équivalent, via ssh ou vnc...) mais, par exemple, que tu aurais besoin de pouvoir configurer jack sur une machine qui n'aurait pas les librairies graphiques (X) donc sans la possibilité d'utiliser QjackCtl ? j'ai bon ??
Dernière modification par Nicolas Lhommet (2015-01-04 07:26:53)
Hors ligne
Jack dispose d'un tas (un GROS TAS) de commandes, tu devrais y trouver ton bonheur.
Parmi celles-ci, on trouve jack_connect, jack_disconnect, jack_lsp...
Hors ligne
1/ avoir jack-tools installé
2/ taper man jack et auto complétion avec [tab]
3/ se les taper un par un jusqu'à trouver l'âme soeur
pfff... linux c'est nulix
Dernière modification par sakramh (2015-01-04 12:08:23)
Hors ligne
citation :
:11:21
RoKN a écrit:
Où est le problème là-dedans ? C'est fastoche ça !
euh, c'est à dire ?? (ça pourrait être intéressant pour ceux qui ne savent pas)
Et bien il suffit de créer manuellement les connections avec Qjackctl.
Il faut rediriger les sorties audio des synthés vers Pd, puis un :
[adc~]
|
|
|
[mp3cast~]
citation :
c'est un projet top secret ? smile bon comme ça fait plusieurs semaines que tu cherches, j'imagine que ça doit pas être aussi simple que le truc expliqué partout (genre une connexion à distance à l'interface graphique d'un Raspberry Pi, ou équivalent, via ssh ou vnc...) mais, par exemple, que tu aurais besoin de pouvoir configurer jack sur une machine qui n'aurait pas les librairies graphiques (X) donc sans la possibilité d'utiliser QjackCtl ? j'ai bon ??
Ce n'est pas un projet top secret, c'est pour mon projet http://triangle-parallele-noir.hd.free.fr/.
La machine qui fait tourner ça, un Banana Pi, a "Bananian" d'installé, une version adaptée de Debian.
Il n'y a effectivement pas de serveur X et j'aimerais faire en sorte que ce soit automatique, genre avec un script shell qui se chargerais de lancer ce qu'il faut comme il faut (en cas de coupure de courant par exemple).
citation :
Jack dispose d'un tas (un GROS TAS) de commandes, tu devrais y trouver ton bonheur.
Oui justement, Jack est vachement complexe et je t'avoue que me tartiner le manuel de fond en comble, en anglais de surcroît, ne me tente pas vraiment pour ce genre de solution qui pourrait être simple pour quelqu'un qui s'y connaît
Je cherche juste à rediriger les sorties audio de synthés vers Pd (voir icecast2, mais ça c'est accessoire).
...
mince, du coup ça ne concerne plus directement Pd
Dernière modification par RoKN (2015-01-04 13:48:14)
Hors ligne
On t'a donné de bons pointeurs je pense, il ne te reste qu'à explorer les commandes jack_connect et jack_lsp (qui sont très simples d'usage). Il est possible de sauvegarder/restaurer les connexions en ligne de commande avec un utilitaire qui ne fait pas partie des jack_tools : jack_snapshot. Voir http://flo.mur.at/blog/jack-connection- … -restoring
Hors ligne
ou un zoli ti scricript bash à sa mémère
Dernière modification par sakramh (2015-01-04 15:14:38)
Hors ligne
RoKN a écrit:
je t'avoue que me tartiner le manuel de fond en comble, en anglais de surcroît, ne me tente pas vraiment pour ce genre de solution qui pourrait être simple pour quelqu'un qui s'y connaît
Vraiment ?? C'est sûr que ce manuel, c'est un véritable pavé, mieux vaut prévoir un bon coussin et une grosse bûche dans la cheminée :
http://derpi.tuwien.ac.at/cgi-bin/man/man2html?jack_lsp
http://derpi.tuwien.ac.at/cgi-bin/man/m … ck_connect
Hors ligne
À la décharge de RoKN, j'ai rapidement essayé de faire de même, et je n'ai pas trouvé non plus. Mais vous liens donnent la bonne piste. Merci :-)
Hors ligne
Je n'ai pas trouvé de guide pour réaliser le "patchage" via la ligne de commande, mais ça existera peut-être bientôt (les tutoriels existants préconisent naturellement l'usage de QjackCtl vu qu'il permet de faire ça facilement avec une interface graphique).
En attendant, je propose un tuto détaillant la démarche dite "RTFM" proposée plus haut par sakramh :
sakramh a écrit:
1/ avoir jack-tools installé
2/ taper man jack et auto complétion avec [tab]
3/ se les taper un par un jusqu'à trouver l'âme soeur
Deux usages de base de la ligne de commande permettent de trouver rapidement de quoi faire:
- l'auto-complétion des commandes, grâce la touche de "tabulations" du clavier: si jack est installé et que je cherche les commandes concernées, la curiosité m'impose de taper "jack" suivi de la touche Tab, et j'obtiens ainsi la liste de celles dont le nom commence par "jack" (donc qui ont probablement un rapport avec la choucroute) :
jack_adi_adit jack_iodelay jack_netsource jack_alias jack_lang jack_rec jack_bufsize jack_latent_client jack_samplerate jack_connect jack_load jack_server_control jack_control jack_lsp jack_session_notify jack_cpu jack_metro jack_showtime jack_cpu_load jack_midi_dump jack_simple_client jackd jack_midi_latency_test jack_simple_session_client jack_daniels jack_midiseq jack_test jackdbus jack_midisine jack_thru jack_disconnect jack_monitor_client jack_transport jack_evmon jack_multiple_metro jack_unload jack_freewheel jack_net_master jack_wait jackie_chan jack_net_slave jack_zombie
- étape suivante : la commande "man" ! d'accord ça peut être long (bien qu'instructif) d'inspecter chaque commande, mais si on est déjà familiarisé à l'usage de jack via l'interface graphique, on comprendra rapidement l'intérêt des de celles mentionnées (pertinemment) par dwan.
Pour compléter le "man"uel, il y a aussi l'aide de la commande pour obtenir davantage de précisions :
nico@ubuntu:~$ jack_connect -h usage: (null) [options] port1 port2 Connects two JACK ports together. -s, --server <name> Connect to the jack server named <name> -v, --version Output version information and exit -h, --help Display this help message For more information see http://jackaudio.org/
Bon c'est sûr que c'est une terminologie pas évidente, mais classique (ligne "usage:"). Et tout est en anglais, mais pour ça y'a des dico et de la traduction en ligne...
Tepaze a écrit:
j'ai rapidement essayé de faire de même, et je n'ai pas trouvé non plus. Mais vous liens donnent la bonne piste. Merci :-)
Dans ces conditions, je pense que si on ne trouve rien, rapidement ou en plusieurs semaines, c'est qu'on a pas vraiment cherché (ou qu'il manque des réflexes indipensables à un minimum d'autonomie... d'où ce tuto). Après on peut toujours buter sur un oubli, un dysfonctionnement troublant, ou avoir du mal à cerner un usage avancé... mais ça serait plus intéressant (d'en discuter ici) que de redonner des infos de base qui sont déjà facilement et immédiatement disponibles (grâce à des personnes qui ont quand même pris la peine de les rédiger pour aider les utilisateurs...)
Et puis, au délà des "moyens" à trouver pour réaliser un projet, prendre le temps de découvrir un domaine sans recherche de résultat immédiat, de "tâtonner" avec un peu d'expérimentation personnelle, voire même (soyons fous!) se passer de tutoriel, ça n'est pas sale
Bonne année à tous !
Dernière modification par Nicolas Lhommet (2015-01-04 20:19:48)
Hors ligne
Merci beaucoup pour vos réponses, effectivement ça donne de bonnes pistes, je ne connaissais pas toutes les commandes type "jack_xxxxxx", je vais creuser par là, j'y trouverais sûrement mon compte pour faire un beau script que je n'oublierai pas de partager ici.
citation :
Et puis, au délà des "moyens" à trouver pour réaliser un projet, prendre le temps de découvrir un domaine sans recherche de résultat immédiat, de "tâtonner" avec un peu d'expérimentation personnelle, voire même (soyons fous!) se passer de tutoriel, ça n'est pas sale
C'est ce que je fait depuis quelques temps maintenant, je fais toujours attention à bien me prendre la tête avant d'ouvrir un sujet sur codelab mais il y a quand même (et toujours) certains aspects qui m'échappent et que mon autodidactisme n'arrive pas à résoudre, c'est le cas de Jackd.
C'est comme ça qu'on apprends (plus ou moins lentement en fonction des personnes) mais qu'on perd aussi beaucoup de temps pour, finalement, pas grand chose (c'est plus une question de combler une frustration, de moins se sentir con).
En tout cas merci beaucoup
EDIT :
J'ai donc tenté un truc à base de "jack_connect"... et ça fonctionne : j'arrive à rediriger la sortie audio de Yoshimi vers Pure Data.
Voici le contenu du script qui permet de lancer Yoshimi avec l'option "alsa-midi" puis Pure Data :
#!/bin/bash yoshimi -a -i & pd-extended -nogui -jack -alsamidi puredata.pd
... mais mais mais ? où sont les commandes "jack_connect" ?!
Ben en fait j'ai utilisé l'objet [shell] au sein même du patch Pd, comme ça quand il se lance il envoie un message au shell, je trouve que c'est plus pratique :
[jack_connect yoshimi:right pd_extended_0:input1 && jack_connect yoshimi:left pd_extended_0:input0 <
|
|
|
[shell]
Et voilà.
Apparemment le midi se route tout seul (à confirmer).
Dernière modification par RoKN (2015-01-04 22:54:28)
Hors ligne
il y a çà aussi (jack+midi) : http://aj-snapshot.sourceforge.net/ (y a même un launchpad ubuntu)
citation :
Apparemment le midi se route tout seul (à confirmer)
sans doute parce que tu n'as pas d'interface hardware en midi sur la machine .
Pd à le défaut de tout connecter à la création du port midi .
Dernière modification par sakramh (2015-01-05 02:24:55)
Hors ligne
citation :
Pd à le défaut de tout connecter à la création du port midi .
C'est un heureux défaut dans mon cas
Pas contre ça soulève une autre problématique : l'utilisation de Jackd sans interface graphique.
En effet, Jack ne veut pas se lancer si une interface graphique n'est pas lancée... argh !
Mais ça, ça sort de Pure Data, donc ça n'as plus sa place ici
Hors ligne
Qjackctl n'est que l'interface graphique de jackd ! C'est par là qu'il faut creuser.
Hors ligne
Oui bien sur, mais il y a également une question de DBUS car si j'ai bien compris, par défaut jack ne peut se lancer sans serveur X.
J'ai pas encore pigé le pourquoi du comment, il va falloir que je creuse là-dedans.
Hors ligne
Pages: 1 2