Comment créer une carte audio virtuelle et diffuser le son de cette dernière

Je joue souvent avec des machines virtuelles. Dans le but d’améliorer mon installation domotique, j’ai dû installer une machine virtuelle sous Windows 7.  N’ayant pas trouvé comment récupérer facilement le son d’une machine virtuelle avec Archipel, façade de libvirt, côté hôte,  j’ai tenté une approche orientée invité (et donc logicielle côté machine virtuelle).

La première étape consiste à créer une carte sonore virtuelle qui s’occupera du son des applications à diffuser. La seconde étape consiste à diffuser le son.

Création d’un carte audio virtuelle

Sur la recommandation d’un ami, j’ai choisi VB Audio virtual cable. Téléchargez l’archive, pour moi c’était VBCABLEDriver_Pack42b.zip.  Décompressez-la puis lancez le programme d’installation en tant qu’administrateur. Si les nouvelles entrée et sortie sonores ne sont pas visibles, redémarrez.

C’est fini !

Diffusion du son

Le serveur

Pour le serveur, j’ai choisi Icecast (qui est aussi multi-plateforme). Le groupe derrière ce programme est le même que celui derrière le format audio OGG et le format vidéo Theora. Les flux générés par cette application sont aussi supportés par beaucoup de lecteurs audio comme VLC, OpenKarotz et Squeezebox pour ce que j’ai testé. Beaucoup d’autres lecteurs sont supportés, je vous propose d’essayer par vous-même. 😀

Téléchargez l’archive de l’application sur le site d’Icecast. Décompressez-la où vous installez vos programmes. Rendez vous dans le dossier etc et ouvrez le fichier icecast.xml avec votre éditeur de texte favoris.

Modifiez à votre guise les sections <authentication> et <hostname>. Souvenez-vous du <source-password>, vous en aurez besoin. Attention, il faut que les machines de votre réseau connaissent la machine sur laquelle vous installez Icecast avec le nom que vous choisissez. Vous pouvez mettre l’IP de la machine si vous n’utilisez pas de nom.

Ajoutez après la section d’exemple <mount> (mais en dehors des commentaires à ce sujet) le bout de code ci-dessous. N’oubliez pas de personnaliser le <mount-name>.

<mount>
  <mount-name>nom-que-vous-desirez</mount-name>
</mount>

J’ajoute ensuite Icecast aux programmes à lancer au démarrage car j’en ai besoin en permanence. Libre à vous d’en faire autant.

Lancez Icecast.

La passerelle entre votre carte son et le serveur

Pour connecter la carte son au serveur Icecast, j’ai trouvé Butt. Installez l’application. Lancez-là.

Allez dans Settings choisissez Cable output dans Audio Device. Ajoutez des informations pour le flux si vous le désirez.

Configuration
Configuration

Cliquez sur Add au niveau de Server.

  • Mettez le nom que vous désirez
  • Choisissez le type Icecast.
  • Entrez l’adresse que vous avez choisie pour <hostname> dans la configuration de Icecast
  • Tapez 8000 pour le port
  • Saisissez le mot de passe <source-password> défini dans <authentication> dans la configuration d’Icecast
  • Renseignez IceCast mountpoint avec le <mount-name> saisi dans la configuration d’Icecast
  • Mettez da,s IceCast user le mot source.
  • Cliquez sur ADD
Création d'un serveur
Création d’un serveur

Cochez Connect at startup puis cliquez sur Save settings.

Dans mon cas, j’ajoute aussi Butt aux programmes à lancer au démarrage car j’en ai besoin en permanence.

Cliquez sur le bouton Lecture. Info devrait maintenant afficher on live.

Vous pouvez maintenant vérifier que le son est bien diffusé en ouvrant le flux http://[valeur-de-hostname]:8000/sarah

Et voilà !

 

Laisser un commentaire