Historique: Jack et plusieurs cartes son
Aperçu de cette version: 29
Un questionnement récurrent est : "comment puis-je utiliser les entrées de plusieurs cartes son pour me faire un gros 4 pistes avec deux 2 pistes", ou "comment puis-je utiliser les entrées d'une carte son et les sorties d'une autre". Cette page essaie d'y répondre en définissant ce qui est possible et ce qui ne l'est pas et surtout ... pourquoi ?.
Les convertisseurs audio-numériques utilisent pour ceci une "horloge" pour cadencer cet échantillonnage.
Le problème est moindre si vous voulez utiliser des sorties différentes dans le sens où il est souvent supportable d'avoir un léger décalage à l'écoute s'il s'agit de brancher plusieurs cartes pour du monitoring par exemple. Pour info, le "des-échantillonnage" est effectué par un convertisseur numérique-analogique ( CNA ).
Il parait également qu'une synchronisation par MIDI est réalisable. (Si vous avez des infos quant à ceci, (je, et je suppose) nous sommes vraiment intéressés ! Merci de nous en faire part ici même, ou dans un forum.
D'autres solutions existent certaines tenant de la bidouille, d'autres plus stables et moins risquées, par exemple :
1 La solution conseillée par les développeurs de Jack :
Celle-ci agit directement au niveau de Jack, il existe un utilitaire intégré à Jack pour ajouter des entrées et sorties alsa au graphique des connexions existantes de jack. Description détaillée : jack_alsa_io
2 Une autre solution :
lancer jack avec deux cartes son (une pour l'enregistrement et l'autre pour l'écoute) :
voir Jack Tuto Associer deux cartes son
3 Une autre solution :
Celle-ci agit directement au niveau de Jack en utilisant ses fonctionnalités de réseau. Voir pour ceci les pages : Net Jack, JackTrip, Jack.udp, Une utilisation de Jack.udp.
4 Une autre solution :
Il est également possible au niveau d'ALSA de déclarer une carte virtuelle additionnant plusieurs cartes physiques et ainsi, utiliser tout ce foutoir comme une seule carte dans JACK.
Voir la page Fusionner plusieurs cartes son avec ALSA
Et aussi cet exemple : Utiliser plusieurs cartes son (ICE1712/Delta 1010) avec ALSA et jackd.
L'avantage, mais aussi l'inconvénient de ces solutions est qu'elles ne requièrent pas de synchronisation physique entre les cartes son, les flux de la carte "esclave" sont ré-échantillonnés à la volée.
Inconvénient, le ré-échantillonnage consomme pas mal de processeur et n'est pas vraiment auditivement transparent. Mais c'est bien pratique !
Avec la quatrième solution (carte virtuelle) et le matériel adapté, il est possible de synchroniser l'horloge des cartes son.
Cette page est issue de ce fil de discussion sur LinuxMAO.
Voir également la page http://jackaudio.org/multiple_devices (lien en anglais) sur le site web officiel de Jack.
3 pages pointent vers Jack et plusieurs cartes son
Quelques connaissances pré-requises
Une première chose à savoir est que les interfaces-son, grâce à leurs convertisseurs physiques internes ( CAN ), traitent la forme d'onde analogique pour la transformer en un signal numérique, utilisable et modifiable par vos applications informatiques. Ce traitement est appelé échantillonnage.Les convertisseurs audio-numériques utilisent pour ceci une "horloge" pour cadencer cet échantillonnage.
Les problématiques
Le problème en découlant, si on veut utiliser plusieurs entrées de plusieurs interfaces-son, est que ces horloges ne sont naturellement pas synchronisées entre elles. Il en résultera un "décalage" auditif si vous lisez 2 ou plusieurs pistes enregistrées simultanément sur des interfaces différentes et donc, échantillonnées par des horloges cadencées différemment.Le problème est moindre si vous voulez utiliser des sorties différentes dans le sens où il est souvent supportable d'avoir un léger décalage à l'écoute s'il s'agit de brancher plusieurs cartes pour du monitoring par exemple. Pour info, le "des-échantillonnage" est effectué par un convertisseur numérique-analogique ( CNA ).
Des solutions industrielles
Certaines technologies de compatibilité entre plusieurs marques de matériel ont été développées comme ADAT ou wordclock par exemple. Le principe général est de déclarer une des horloges comme "maitre" et l'autre (ou les autres) comme "esclave". De ce fait, les échantillonnages seront tous cadencés par la même fréquence d'horloge.Il parait également qu'une synchronisation par MIDI est réalisable. (Si vous avez des infos quant à ceci, (je, et je suppose) nous sommes vraiment intéressés ! Merci de nous en faire part ici même, ou dans un forum.
D'autres solutions moins industrielles !
D'autres solutions existent certaines tenant de la bidouille, d'autres plus stables et moins risquées, par exemple :
1 La solution conseillée par les développeurs de Jack :
Celle-ci agit directement au niveau de Jack, il existe un utilitaire intégré à Jack pour ajouter des entrées et sorties alsa au graphique des connexions existantes de jack. Description détaillée : jack_alsa_io
2 Une autre solution :
lancer jack avec deux cartes son (une pour l'enregistrement et l'autre pour l'écoute) :
voir Jack Tuto Associer deux cartes son
3 Une autre solution :
Celle-ci agit directement au niveau de Jack en utilisant ses fonctionnalités de réseau. Voir pour ceci les pages : Net Jack, JackTrip, Jack.udp, Une utilisation de Jack.udp.
4 Une autre solution :
Il est également possible au niveau d'ALSA de déclarer une carte virtuelle additionnant plusieurs cartes physiques et ainsi, utiliser tout ce foutoir comme une seule carte dans JACK.
Voir la page Fusionner plusieurs cartes son avec ALSA
Et aussi cet exemple : Utiliser plusieurs cartes son (ICE1712/Delta 1010) avec ALSA et jackd.
L'avantage, mais aussi l'inconvénient de ces solutions est qu'elles ne requièrent pas de synchronisation physique entre les cartes son, les flux de la carte "esclave" sont ré-échantillonnés à la volée.
Inconvénient, le ré-échantillonnage consomme pas mal de processeur et n'est pas vraiment auditivement transparent. Mais c'est bien pratique !
Avec la quatrième solution (carte virtuelle) et le matériel adapté, il est possible de synchroniser l'horloge des cartes son.
Commentaires
Voila, dans tous les cas, tout ceci peut se tester (avec de grandes précautions pour la quatrième méthode hein ... faites pas les idiots ... 😀 ) et permet d'obtenir des résultats assez intéressant la plupart du temps.Cette page est issue de ce fil de discussion sur LinuxMAO.
Voir également la page http://jackaudio.org/multiple_devices (lien en anglais) sur le site web officiel de Jack.
Notes de travail
Il fut aussi possible de lancer deux instances distinctes de Jackd et de les "connecter" avec jack-diplomat. Ce programme est en voie de disparition et est donc déprécié en faveur de alsa-in/out. (voir les commentaires en dessous)3 pages pointent vers Jack et plusieurs cartes son