Historique: Jack et plusieurs cartes son
Aperçu de cette version: 19
Table des matières
Le pourquoi du comment
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 ?.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 :
Celle-ci agit également au niveau de Jack, il est aussi possible de lancer deux instances distinctes de Jackd et de les "connecter" avec jack-diplomat.
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.
5 Une quatrième solution :
Celle-ci s'adresse aux bidouilleurs de l'extrême, il s'agit, pour 2 cartes de modèles identiques, de chuinter une des horloges et de relier les 2 cartes à une seule horloge de manière à bénéficier du même cadencement d'horloge. Voir la page Utiliser plusieurs cartes son (ICE1712/Delta 1010) avec ALSA et jackd qui est une traduction de cet article (en anglais). Inutile de vous rappeler qu'en cas d'explosion de votre maison, LinuxMAO et n'importe qui d'un peu malin sur terre, se dégage de toute responsabilité ! 😊 Cet article est uniquement ici à titre informatif.
L'avantage, mais aussi l'inconvénient, des 4 premières solutions et 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!
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.