FFADO > Utiliser les applications non-jack avec votre carte firewire
Portail des Tutos > Utiliser les applications non-jack avec votre carte firewire
Tutoriel

  • Le but de la manœuvre : faire passer tout le son de votre ordinateur par la carte Firewire.
  • Date du tutoriel : 11 décembre 2009.
  • Tutoriel à jour : 11 décembre 2009 (Tumulte)
  • Fait par : Tumulte.
  • Mise en page : olinuxx.


Contrairement à une carte USB ou PCI, les cartes firewire utilisent exclusivement jack!
Or, par défaut, vous l'avez peut-être expérimenté, lorsque jack tourne, les applications non-jack comme la plupart des lecteurs de musique, le son d'internet etc.... refusent tout simplement de fonctionner !


Beaucoup se posent la question de l'intégration de FFADO comme pilote Alsa (pilote standard de la grande majorité des distributions).
En effet, cela permettrait, entre autre, d'utiliser une carte son Firewire avec des applications non compatibles Jack.
Bien que cela ait été en projet, cette intégration s'avère plus difficile que prévu étant donnée la spécificité des pilotes Firewire.
Pour l'instant cela n'est absolument pas possible, cependant il est envisageable qu'à terme (après la sortie de FFADO 2.0), des travaux soient engagés dans ce sens.

Pourtant, ne désespérons pas, une solution existe : il suffit de créer une sortie virtuelle pour ALSA ou PulseAudio, et toutes vos applications ALSA se connecteront automatiquement à votre carte (une fois JACK lancé bien entendu!)
Il est vivement conseillé la solution PulseAudio qui est bien plus simple et flexible, mais nous commencerons par ALSA !Utiliser les applications non-jack avec votre carte firewire!

sortie virtuelle ALSA

Commencez par installez le module qui permet à ALSA d'avoir une sortie jack.


Copy to clipboard
yum/apt-get install alsa-plugins-jack




Il vous faut commencer par lister le nom de vos entrées et sorties :
Copy to clipboard
$ jack_lsp


Ça devrait vous donner un truc du genre :
Copy to clipboard
system:capture_1 system:capture_2 system:capture_3 system:capture_4 system:capture_5 system:capture_6 system:playback_1 system:playback_2 system:playback_3 system:playback_4 system:playback_5 system:playback_6 system:playback_7 system:playback_8


Ou par exemple chez moi :
Copy to clipboard
system:AC0_dev0_Line_1/2 left PHASE X24 FW system:AC1_dev0_Line_1/2 right PHASE X24 FW system:AC2_dev0_SPDIF left PHASE X24 FW system:AC3_dev0_SPDIF right PHASE X24 FW system:MC4_dev0_MidiPort_1 system:AP0_dev0_Multichannel 1 PHASE X24 FW system:AP1_dev0_Multichannel 2 PHASE X24 FW system:AP2_dev0_Multichannel 3 PHASE X24 FW system:AP3_dev0_Multichannel 4 PHASE X24 FW system:AP4_dev0_SPDIF/AC3 left PHASE X24 FW system:AP5_dev0_SPDIF/AC3 right PHASE X24 FW system:MP6_dev0_MidiPort_1


Notez les deux premiers dispositifs de playback et de capture puis, éditez le fichier ".asoundrc" situé dans votre répertoire personnel :
Copy to clipboard
$gedit .asoundrc


et ajoutez-y les lignes suivantes :
Copy to clipboard
pcm.!default { type plug slave { pcm "jack" } } pcm.jackplug { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 system:playback_1 1 system:playback_2 } capture_ports { 0 system:capture_1 1 system:capture_2 } }


Notez que si on prend mon exemple, le nom des I/O ont des espaces. Or, si il y a un espace le programme qui va lire le fichier va s'arrêter à celui-ci! Veillez donc, le cas échéant à mettre entre apostrophe le nom des entrées/sorties!

Voici à titre d'exemple mon fichier .asoundrc fonctionnel :
Copy to clipboard
pcm.!default { type plug slave { pcm "jack" } } pcm.jackplug { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 'system:AP0_dev0_Multichannel 1 PHASE X24 FW' 1 'system:AP1_dev0_Multichannel 2 PHASE X24 FW' } capture_ports { 0 'system:AC0_dev0_Line_1/2 left PHASE X24 FW' 1 'system:AC1_dev0_Line_1/2 right PHASE X24 FW' } }

Notez que le premier apostrophe se situe AVANT "system"

sortie virtuelle Pulseaudio

Si, comme la plupart des grosses distributions, vous avez PulseAudio, la solution suivante est préférable!

Commencez par installer le module jack de pulse audio "pulseaudio-module-jack" via votre installateur de paquet favoris!

Ensuite, il faut éditer le fichier default.pa.... l'équivalent d'asoundrc pour pulse :
Copy to clipboard
$ gedit ~/.pulse/default.pa


Une fois gedit lancé, copiez dans le fichier les lignes suivantes :
Copy to clipboard
load-module module-native-protocol-unix load-module module-jack-sink channels=2 load-module module-jack-source load-module module-null-sink load-module module-stream-restore load-module module-rescue-streams load-module module-always-sink load-module module-suspend-on-idle set-default-sink jack_out set-default-source jack_in


Vous pouvez modifier la ligne "load-module module-jack-sink channels=2" si vous avez plus de 2 haut parleurs!

À partir de maintenant, vous devriez voir dans l'utilitaire pavucontrol (à installer si vous ne l'avez pas) qu'une nouvelle sortie "Jack" est apparue ! Vous pouvez en ajuster le volume comme n'importe quelle autre... pratique!

❗ Tumulte : j'ai fini par abandonner PulseAudio à cause de décrochages fréquents. À priori, JACK vire PulseAudio s'il n'est pas configuré en temps-réel, mais je n'en sais pas plus. Conclusion : SI pulse marche chez vous, tant mieux, sinon rabattez vous sur la solution ALSA. Disons que PulseAudio offre une bien meilleure flexibilité (volume par application, multi-cartes etc...) mais ALSA reste une valeur sûre sans aucun soucis, ou presque.


Licence

La licence de cet article est la Creative Commons suivante :
http://creativecommons.org/licenses/by-sa/2.5/deed.fr

Extrait :
Paternité - Partage des Conditions Initiales à l'Identique 2.5

Vous êtes libres :

  • de reproduire, distribuer et communiquer cette création au public
  • de modifier cette création
  • d'utiliser cette création à des fins commerciales

Selon les conditions suivantes :
  • by: Paternité. Vous devez citer le nom de l'auteur original.
  • sa: Partage des Conditions Initiales à l'identique. Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci.

À notez que :
  • À chaque réutilisation ou distribution, vous devez faire apparaître clairement aux autres les conditions contractuelles de mise à disposition de cette création.
  • Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits.

Ce qui précède n'affecte en rien vos droits en tant qu'utilisateur (exceptions au droit d'auteur : copies réservées à l'usage privé du copiste, courtes citations, parodie...)



voir la version intégrale de la licence