Historique: jack_alsa_io
Aperçu de cette version: 40
alsa_in et alsa_out sont 2 petits outils en ligne de commande très pratiques fournis avec JACK (dans le paquet de JACK, souvent appelé
page en cours de ré-écriture (pianoliv octobre 2012)
À quoi servent-ils ?
Ils permettent de greffer une deuxième carte son sur la celle utilisée par votre jackd.
Exemple
Nous allons prendre un exemple pratique : nous voulons ressortir le son d'une application compatible JACK sur 2 paires d'enceintes différentes, par exemple, pour écouter le même son dans 2 pièces différentes et nous allons utiliser pour cela 2 cartes-son différentes.
C'est parti !
Ce qui devrait vous retourner un truc comme ça :
Dans cet exemple :
ce qui aura pour conséquence de faire apparaitre votre greffe sous le nom de greffe.
Note : si vous voulez mettre un nom comportant un espace, il vous faudra utiliser des apostrophes :
alsa_out -d hw:1
Vous risquez de vous retrouver avec un message d'ereur genre:
Rate doesn't match (requested 48000Hz, get 32000Hz)
Setting of hwparams failed: Invalid argument
Dans ce cas faites
alsa_out -h
pour savoir la ou les commandes à ajouter.
Chez moi j'ai du faire:
alsa_out -d hw:1 -r 32000
Et tout est rentré dans l'ordre.
Ce truc peut être très utile comme pour :
Notes :
Olivier-olinuxx : alsa_out fonctionne très bien pour ce que j'ai pu en tester, alsa_in fonctionne sur le même principe, il est censé, par exemple, pouvoir "prendre" les entrées de plusieurs cartes-son. Ceci dit, je n'ai pas essayé et des rumeurs qui disent "le problème, c'est qu'il va y avoir des soucis de synchronisation" courent. Le mieux est encore d'essayer et de venir nous raconter votre expérience ici ou dans le forum "Les serveurs son : Jack, PulseAudio et autres". 😀
Pour aller plus loin :
[+]
Solution 2
La deuxième solution est d'utiliser alsa_in
J'ai eu quelques problèmes pour la faire fonctionner mais voici le script que j'utilise sur ma distribution (Debian Wheezy)
Cette solution est intéressante car on peut associer d'autres cartes son (mais là on sort un peu du sujet😕).
Par exemple si je veux brancher ma guitare ou un micro sur ma carte son, je peux ajouter la commande suivante :
Et si je veux en plus sortir le son sur ma carte interne :
Ce qui me donne le script suivant :
jackd ou jack-audio-connection-kit ou bien encore jackdmp).page en cours de ré-écriture (pianoliv octobre 2012)
À quoi servent-ils ?
Ils permettent de greffer une deuxième carte son sur la celle utilisée par votre jackd.
- alsa_in greffe les entrées,
- alsa_out greffe les sorties.
Exemple
Nous allons prendre un exemple pratique : nous voulons ressortir le son d'une application compatible JACK sur 2 paires d'enceintes différentes, par exemple, pour écouter le même son dans 2 pièces différentes et nous allons utiliser pour cela 2 cartes-son différentes.
Les étapes
C'est parti !
Nous allons chercher l'emplacement de vos cartes son :
Copy to clipboard
cat /proc/asound/cards
Ce qui devrait vous retourner un truc comme ça :
olinuxx@olinuxx-desktop:~$ cat /proc/asound/cards
0 [M5461 ]: HDA-Intel - HDA ULI M5461
HDA ULI M5461 at 0xff6f8000 irq 22
1 [USX2Y ]: USB US-X2Y - TASCAM US-X2Y
TASCAM US-X2Y (1604:8005 if 0 at 002/002)
2 [U0x71040x2202 ]: USB-Audio - USB Device 0x7104:0x2202
USB Device 0x7104:0x2202 at usb-0000:00:1c.2-2, full speedDans cet exemple :
- la carte O, c'est ma carte intégrée,
- la carte 1, c'est ma carte USB TASCAM US-224,
- la carte 2, c'est mon clavier midi MIDITECH MidiStart-2, celui-ci ne nous intéresse pas pour ce tutoriel.
Lancement de JACK
Maintenant, je vais dire à JACK de greffer les sorties de ma carte son USB TASCAM US-224 sur son graphe interne. Je vais donc pour cela utiliser alsa_out et le régler sur la carte 1 en accord avec le résultat du
cat /proc/asound/cards.|
Dans un terminal, tapez : Copy to clipboard
Puis, jetez un œil dans qJackCtl, vous verrez apparaître 2 nouvelles sorties s'appelant alsa_out : |
|
|
Si vous voulez donner un nom autre que alsa_out à votre greffe, vous pouvez utiliser l'option -j comme ceci :
Copy to clipboard
alsa_out -dhw:1 -jgreffe
ce qui aura pour conséquence de faire apparaitre votre greffe sous le nom de greffe.
Note : si vous voulez mettre un nom comportant un espace, il vous faudra utiliser des apostrophes :
Copy to clipboard
|
Si vous voulez lancer ça automatiquement, vous pouvez utiliser la fonctionnalité de lancement de script de qJackCtl : dans qjackctl -> réglage -> options -> activer "Exécuter un script au démarrage" et y mettre votre ligne "alsa_out -dhw:1 -j'deuxième écoute'". Il ne vous reste qu'à redémarrer qJackCtl, et le tour est joué 😉 |
|
|
Si comme moi vous allez au plus simple avec le param^etrage en tapant:
alsa_out -d hw:1
Vous risquez de vous retrouver avec un message d'ereur genre:
Rate doesn't match (requested 48000Hz, get 32000Hz)
Setting of hwparams failed: Invalid argument
Dans ce cas faites
alsa_out -h
pour savoir la ou les commandes à ajouter.
Chez moi j'ai du faire:
alsa_out -d hw:1 -r 32000
Et tout est rentré dans l'ordre.
Conclusion
Utilisations possibles :Ce truc peut être très utile comme pour :
- du monitoring,
- balancer du son sur 2 enceintes dans 2 pièces, bien utile par exemple lors d'un enregistrement-maquettage,
- pour les utilisateurs de Mixxx qui veulent utiliser JACK comme sortie audio,
- ... et dans des tas d'autres configurations.
Notes :
Olivier-olinuxx : alsa_out fonctionne très bien pour ce que j'ai pu en tester, alsa_in fonctionne sur le même principe, il est censé, par exemple, pouvoir "prendre" les entrées de plusieurs cartes-son. Ceci dit, je n'ai pas essayé et des rumeurs qui disent "le problème, c'est qu'il va y avoir des soucis de synchronisation" courent. Le mieux est encore d'essayer et de venir nous raconter votre expérience ici ou dans le forum "Les serveurs son : Jack, PulseAudio et autres". 😀
Pour aller plus loin :
- Il y a plusieurs autres options que vous pouvez ajouter, pour plusse d'informations :
man alsa_outdans un terminal. 😉 - Voir la page de documentation officielle : http://trac.jackaudio.org/wiki/WalkThrough/User/AlsaInOut.
- http://jackaudio.org/multiple_devices
[+]
notes de travail
à intégrer dans cette page (en provenance de Jack Tuto Associer deux cartes son)Solution 2
La deuxième solution est d'utiliser alsa_in
J'ai eu quelques problèmes pour la faire fonctionner mais voici le script que j'utilise sur ma distribution (Debian Wheezy)
Copy to clipboard
jackd -P 70 -p 512 -d alsa -P hw:Pro -r 44100 -p 256 -n 2 & jackd_ID=$! alsa_in -j VYNIL -d hw:CODEC qjackctl kill -s KILL ${jackd_ID} rm ~/.jackdrc&
Cette solution est intéressante car on peut associer d'autres cartes son (mais là on sort un peu du sujet😕).
Par exemple si je veux brancher ma guitare ou un micro sur ma carte son, je peux ajouter la commande suivante :
Copy to clipboard
alsa_in -j FTP -d hw:Pro &
Et si je veux en plus sortir le son sur ma carte interne :
Copy to clipboard
alsa_out -j INT -d hw:0 &
Ce qui me donne le script suivant :
Copy to clipboard
jackd -P 70 -p 512 -d alsa -P hw:Pro -r 44100 -p 256 -n 2 & jackd_ID=$! alsa_in -j VYNIL -d hw:CODEC & alsa_in -j FTP -d hw:Pro & alsa_out -j INT -d hw:0 & qjackctl kill -s KILL ${jackd_ID} rm ~/.jackdrc