Streamer du son vers un serveur Discord

Envoyer de la musique ou n'importe quel autre son depuis son PC vers un canal vocal d'un serveur Discord.

6 minute de lecture
Par Stéphane
Streamer du son vers un serveur Discord

Présentation

Il s'agit de streamer des sons depuis un PC vers un canal voix d'un serveur Discord. Cela n'est pas tout à fait trivial, en particulier si l'on désire continuer à ce servir de son PC normalement, c'est à dire sans que le stream ne monopolise vos enceintes, et sans non plus avoir l'obligation de garder votre client Discord connecté sur le même serveur où vous streamez.

Prérequis

J'utilise deux logiciels qui facilitent toute l'opération :

  1. Discord PTB, qui permet de streamer sur un serveur Discord.
  2. VoiceMeeter (Banana ou Patato) qui permet de router les sons depuis diverses entrées vers diverses sorties, comme on veut. C'est une table de mixage virtuelle.

Nota bene : les versions Banana ou Patato de VoiceMeeter  sont proposées en DonationWare, vous donnez ce que vous pensez que le logiciel vaut. Après l'avoir testé avec succès, j'ai envoyé des sous à l'auteur de ces logiciels.

Conseil : après les installations des logiciels, lancez un programmes qui génère du son, c'est plus facile pour debugger. Cela peut être iTunes, Windows Media Player, VLC, WinAmp, ce que vous voulez du moment où :

  1. ça produit du son en continu ;
  2. vous pouvez modifier la sortie dans les paramètres Son de votre PC.

Comprendre le schéma d'ensemble

Il est important de comprendre ce que l'on veut faire.

La pièce centrale du dispositif est le mixer virtuel VoiceMeeter. Cette table de mixage (pour la version Banana) possède 5 entrées (3 physiques + 2 virtuelles) et 5 sorties (ditto) et 5 bus, soit, schématiquement :

Représentation des bus de la table de mixage.

La version Potato possède plus d'entrées/sorties (8+3). Voici par exemple ce que vous pouvez y relier :

Exemple d'utilisation de la table de mixage virtuel VoiceMeeter.

Exemple

Imaginons que vous vouliez streamer de la musique sur un serveur Discord tout en regardant un film sur VLC. Il faut relier tous les composants comme ceci :

  • relier la sortie d'iTunes vers un stream Discord
  • diriger la sortie de VLC sur les enceintes
  • pouvoir vérifier ce qui est envoyé à Discord au casque

Vous devez paramétrer le mixeur comme suit (simulation sur la version Patato, mais fonctionne pareil sur Banana) :

  • Attribuer la sortie physique A1 du mixer à la sortie du PC qui contrôle les enceintes.
  • Attribuer la sortie physique A2 à la sortie casque.
A1 est mon ampli SMSL externe, sur A2 la sortie casque de la carte son Realtek
  • Sous Discord PTB, choisissez comme entrée "VoiceMeeter Output", qui correspond à B1.
  • Pour iTunes, la sortie doit être "VoiceMeeter VAIO".
Dans les Paramêtres Son de Windows 10, la sortie d'iTunes vers VoiceMeeter Input (Entrée Virtuelle 1)
  • Pour VLC la sortie sera "VoiceMeeter Aux VAIO"
La sortie de VLC vers l'entrée virtuelle 2 (AUX).
  • À ce point, ne reste plus qu'à distribuer l'entrée virtuelle 1 (VAIO) vers A2 (le casque) et B1, sortie du mixage qui est défini comme entrée dans Discord PTB.
  • L'entrée AUX est transmise à la sortie A1 sur lequel est mon ampli enceintes SMSL
"Câblage" de la table de mixage.

Notes

I Astuce

Pour mettre à jour la sortie d'un programme dans les Paramètres Son de Windows, il suffit de changer le Master Volume, pour n'importe quelle autre valeur, tout en haut de la fenêtre. Quand on change ce paramètre, ça remet à jour les Entrées/Sorties de tous les programmes listées, et aussi dans VoiceMeeter.

III Améliorer la qualité du son sous Discord

Il faut éditer votre canal sonore, et changer le paramêtre Bitrate, pour le passer de 64Kbps à 96Kbps. Si vous voulez plus, il faut payer (Server boost).

Modification de la vitesse du flux audio lors de la création d'un nouveau canal sonore.

II Installer VoiceMeeter Banana.

C'est trivial, mais il ne faut pas oublier de redémarrer l'ordinateur (comme demandé) à la fin.

Il y a beaucoup de documentations de disponibles, et un manuel (PDF en anglais), qui explique tout très bien RTFM !

III Configurer la gestion des périphériques de son

Une étape importante est la configuration du système entrée/sortie son de Windows pour lui indiquer qu'il doit utiliser VoiceMeeter par défaut. Cela ce fait en quelques clics en vous rendant sur le module de gestion du son du Panneau de Contrôle puis Son, et configurez les deux premiers onglets comme suit : sur le premier onglet (lecture), indiquer que la sortie par défaut du système est l'entrée Input de VoiceMeeter.

Sur le second onglet vous devez voir que les deux sorties de VoiceMeeter (Output et Aux Output) sont présentes. Les barres vertes indiquent juste que du son est transmis pendant les réglages.

Utilisation avec son smartphone (comme entrée)

J'écoute des podcasts sur mon iPhone, grâce à (l'excellent) programme Overcast. Mais quand je suis devant l'ordinateur, j'aime bien pouvoir envoyer le son du téléphone vers les enceintes reliées au PC. Pour ça, j'ai besoin d'un programme sur le PC capable de récupérer le flux envoyé par le smartphone. J'utilise l'application Shairport4w, qui est très simple.

Sur Shairport4w il y a juste un mot de passe à définir, et choisir l'entrée de VoiceMeester vers laquelle il enverra ce qu'il reçoit. La même chose doit être fait dans les Paramètre/Son Windows.

Sur VirtualMeeter, il y a juste à cliquer sur la sortie voulue (A1, A2, etc.) de l'entrée correspondante pour écouter le flux sur ses enceintes, casque, etc.

Utilisation avec son smartphone (comme sortie)

Si vous aimez utiliser les écouteurs de votre smartphone (par exemple si vous n'en avez pas sur votre PC), vous pouvez envoyer un flux du PC vers le smartphone. Cela peut être pratique pour utiliser le couple smartphone + écouteur comme un casque sans fil (genre bluetooth) chez vous. Tant que la connexion avec votre réseau est là, ça va !

Pour cela, il faut installer une petite application sur votre smartphone, elle s'appelle VBAN Lite. Il n'y a rien à configurer dessus. Juste la lancer.

Coté PC, il faut cliquer sur VBAN en haut de la fenêtre de VoiceMeeter :

et de définir un flux de sortie. Par exemple :

192.168.0.202 est l'adresse IP de mon iPhone, il recevra un flux à 44100 Hz stéréo, depuis la source A3. Il suffit alors de cliquer sur le bouton A3 d'une entrée pour qu'elle soit recopiée sur l'iPhone.

La sortie A3 est le bus 3. Ici je duplique sur mon iPhone le flux envoyé à mes enceintes en A1 et Discord B1.

L'utilisation d'une adresse de diffusion (broadcast), typiquement 192.168.0.255 permet à tous les ordinateurs ou smartphones de recevoir le même flux. Notez bien que l'utilisation de l'adresse de diffusion ne surcharge PAS le réseau, mais les machines qui sont dessus. En effet, elles doivent toutes prendre en comptes toutes les trames reçues avant des les ignorer si aucun programme n'en a besoin.