Dans un précédent article, je racontais une manière de s’adapter à l’enseignement à distance. Certains de mes collègues ont complété en commentaire de l’article, décrivant leurs pratiques, et je les en remercie.
J’utilise donc GNU/Linux, mais pour diverses raisons c’est le logiciel Teams de Microsoft qui est mon outil quotidien d’enseignement. Que ce soit cet outil ou un autre, il est souvent difficile de faire écouter aux personnes qui participent à la séance le son d’un autre logiciel. Dans ce nouvel article, je vous raconte comment faire cela, mais aussi comment envoyer les voix des personnes qui participent dans tout autre logiciel.
Exemple d’utilisation
Nous animons depuis trois ans avec ADVOX et pour le Service Université Culture de l’UCA un atelier d’audiodescription. Cette année, conditions sanitaires obligent, il se déroule à distance.
Dans cet atelier, on explore avec les personnes participantes tous les aspects de l’audiodescription, depuis l’analyse filmique jusqu’au montage et mastering, en passant par l’écriture et l’enregistrement.
Voici un court extrait d’une séance ou l’une des personnes qui participe à l’atelier dit depuis chez elle l’audiodescription. C’est mon ordinateur qui enregistre, puis je réalise le montage, guidé par les participantes et participants. Enfin, on écoute le résultat.
Le logiciel que j’utilise ici est Reaper. Tout comme Teams, ce n’est pas mon outil quotidien, mais nous avons fait ce choix pragmatique car c’est un logiciel gratuit (en version d’essai infinie) sur tous les systèmes d’exploitation, et il est massivement utilisé, notamment par les radios locales. Ce que je raconte par la suite fonctionne parfaitement avec n’importe quel logiciel de montage son, comme Ardour ou Audacity par exemple.
Pour cet usage, j’ai donc deux besoins distincts :
- faire entendre et voir aux personnes présentes le logiciel de montage son
- enregistrer dans ce logiciel ce que disent les personnes présentes.
Un autre exemple d’utilisation pourrait être l’enregistrement d’interviews à distance, pour lesquelles j’ai précédemment proposé un état des lieux des possibilités.
Dans la suite, je vous propose deux solutions, dans l’ordre où je les ai essayées. Ma préférence va à la seconde, mais vous pourriez avoir besoin d’utiliser la première. Bien sûr, tout cela marche sous GNU/Linux, et il faudrait trouver des équivalents sur les autres systèmes d’exploitation. Il me semble que la deuxième solution est possible.
Première solution avec Pulseaudio
Depuis quelques années maintenant, Pulseaudio est le serveur de son utilisé par les bureaux et distributions majeures sous Linux. Son rôle est de permettre à l’utilisateur de choisir pour chaque logiciel vers quel sortie son il va envoyer le son, à quelle intensité sonore, etc.
C’est le compagnon idéal du quotidien, qui me permet par exemple d’écouter une conférence dans le casque branché sur mon ordinateur pendant que ma fille écoute une histoire audio sur l’enceinte Bluetooth connectée au même ordinateur.
Il faut un peu jouer d’astuce pour réussir à diriger du son entre logiciels grâce à Pulseaudio. Le principe consiste à créer des cartes son virtuelles. Pour réussir ça, il faut lire la doc et utiliser quelques lignes de commande bien senties, ou utilise le petit script conçu par Arnaud Venturi, après l’avoir édité pour qu’il corresponde à nos besoins. Arnaud propose le schéma suivant pour raconter comment cela fonctionne :
Dans son utilisation, Arnaud utilise mplayer pour faire écouter un film à son auditoire en vidéoconférence. Le son de mplayer est déparé en deux grâce à une carte virtuelle, puis envoyé à la fois dans les enceintes et dans une seconde carte son. Cette seconde carte son intègre le son de mplayer celui du micrphone pour envoyer le tout dans la vidéoconférence.
Cette première approche permet de résoudre l’une de mes problématiques, mais il faudrait aller un peu plus loin pour récupérer aussi le son de la vidéoconférence à l’aide d’une autre carte son virtuelle pour l’envoyer dans un logiciel de montage son, si on voulait enregistrer la voix des personnes qui participent à la visio.
Deuxième solution avec le serveur jack
Le serveur jack est aussi un serveur de son dont l’objectif est de se rapprocher du temps réel. C’est LE serveur de son de celles et ceux qui font du montage son ou du son en temps réel sous GNU/Linux. Il est aussi disponible pour MacOS X et Windows, mais je ne je n’ai jamais essayé sur ces plateformes.
Pour lancer jack, j’utilise Cadence, une des applications proposées par KXStudio, qui propose notamment un pont direct avec Pulseaudio. On laisse donc toutes les applications courantes (navigateur, lecteur son, logiciel de visio) se connecter à Pulseaudio, et le pont (bridge en anglais) se charge de faire communiquer ces logiciels avec ceux qui vivent du côté de jack, en temps réel.
Le principe consiste ensuite à utiliser le logiciel de montage son en le connectant à jack (c’est comme ça qu’il marche le mieux), puis à utiliser les facilités de jack pour router le son entre ce logiciel et le pont pulseaudio. J’utilise pour ça le l’interface Catia, qui facilite grandement ces branchements. En quelques clics glissés, on connecte nos logiciels.
Le dernier détail consiste à régler le logiciel de visio sur les entrées et sorties qui correspondent au pont vers jack depuis Pulseaudio :
Cette solution est très flexible, on peut imaginer plein d’autres solutions de routage. Attention cependant, si votre logiciel de traitement de son est réglé en mode playback durant les enregistrements (c’est-à-dire qu’il rejoue le son qu’il enregistre), les personnes à distance entendront le son en double. Dans ce cas, au moment de l’enregistrement, il est important d’enlever temporairement le lien de son sortant de Reaper vers Pulseaudio.
Bien sûr, tout ce que j’ai écrit ici fonctionne parfaitement avec Ardour et jitsi par exemple, si l’on veut utiliser une solution 100% libre.