GNU/Linux >> Tutoriels Linux >  >> Linux

Comment activer l'annulation d'écho / bruit de l'entrée microphone sur votre bureau Linux (PulseAudio)

PulsAudio est livré avec un module qui peut être utilisé pour effectuer une annulation de l'écho acoustique de l'entrée du microphone et une certaine réduction du bruit de fond. Ce module n'est pas activé par défaut sur la plupart (sinon la totalité) des distributions Linux, donc cet article vous montrera comment l'activer.

Je vais vous montrer deux façons d'activer le module PulseAudio Echo Cancel :un qui le rend permanent pour qu'il démarre automatiquement lorsque vous vous connectez à votre bureau et un autre qui vous permet d'activer l'annulation d'écho si vous en avez besoin, quand vous en avez besoin.

Il ne s'agit pas seulement de proposer 2 alternatives, mais aussi de contourner un insecte PulseAudio cela arrive, par exemple, lorsqu'un casque est branché après que le module Echo Cancel ait été chargé, ce qui signifie qu'il ne bascule pas automatiquement sur le nouveau sink_master . De plus, dans mon cas, le chargement de Module Echo Cancel ne fonctionne pas du tout au démarrage (je ne sais pas pourquoi), mais il peut être chargé sans problème après la connexion en utilisant la deuxième méthode ci-dessous.

[[Edit]]Pour ceux qui ont plusieurs microphones branchés sur leur ordinateur, j'ai ajouté une nouvelle section à cet article qui explique comment choisir le microphone auquel appliquer l'annulation d'écho/bruit (la nouvelle section s'appelle Comment pour sélectionner le microphone dans les configurations avec plusieurs microphones à utiliser avec le module PulseAudio-echo-cancel ).

Comment activer l'annulation d'écho du module PulseAudio au démarrage

Afin de toujours avoir une suppression d'écho / bruit sur votre bureau Linux avec PulseAudio et d'avoir le module de suppression d'écho chargé au démarrage, effectuez les étapes suivantes.

1. Modifier /etc/pulse/default.pa en root avec un éditeur de texte comme Nano (éditeur de texte en ligne de commande) par exemple :

sudo nano /etc/pulse/default.pa

Faites défiler vers le bas de ce fichier et collez ce qui suit :

.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
set-default-source echocancel
set-default-sink echocancel1
.endif

Ceci fait ceci :si votre système PulseAudio est compilé avec le module d'annulation d'écho/bruit, chargez ce module, utilisez webrtc comme méthode d'annulation d'écho (il devrait être meilleur que le speex standard), fournissez un nom de source et de puits, puis insérez Vous définissez cette source et ce puits par défaut.

2. Après avoir enregistré le fichier, rechargez PulseAudio avec cette commande :

pulseaudio -k

Ou redémarrez votre ordinateur.

Ensuite, regardez dans les paramètres sonores de votre système et les périphériques d'entrée et de sortie doivent tous deux avoir le nom par défaut, mais avec "Echo annulé avec ..." entre parenthèses, par ex. Audio Analog Stereo) "comme dans la capture d'écran ci-dessus dans l'article.

Cela devrait persister même après le redémarrage.

Si cela ne fonctionne pas pour vous, consultez la deuxième méthode ci-dessous pour charger le module d'annulation d'écho si nécessaire.

Comment activer l'annulation d'écho du module PulseAudio si nécessaire

Pour que l'entrée du microphone annule l'écho / le bruit uniquement lorsque cela est nécessaire (en ayant un élément de menu Applications pour l'activer), suivez les étapes ci-dessous.

1. Créez un nouveau fichier dans votre dossier personnel appelé echocancel avec le contenu suivant :

#!/usr/bin/env bash
pactl unload-module module-echo-cancel
pactl load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
pacmd set-default-source echocancel
pacmd set-default-sink echocancel1

Cela décharge module-echo-cancel s'il était déjà chargé, puis charge ce module avec webrtc comme méthode d'annulation d'écho (il devrait être meilleur que le speex standard), donne un nom de source et de puits, puis définit cette source et ce puits comme étant norme.

2. Après avoir enregistré le fichier, rendez-le exécutable et copiez-le quelque part dans votre chemin. Vous pouvez le rendre exécutable et en /usr/local/bin avec cette commande :

sudo install echocancel /usr/local/bin

3. Créez un fichier nommé echocancel.desktop dans votre dossier personnel avec le contenu suivant :

[Desktop Entry]
Version=1.0
Name=Echo Cancel PulseAudio Module
Comment=Load the PulseAudio module-echo-cancel
Exec=echocancel
Icon=multimedia-volume-control
Type=Application
Categories=AudioVideo;Audio;

4. Enregistrez le fichier et copiez-le dans ~/.local/share/applications/ , par exemple. faites-le depuis la ligne de commande avec :

cp echocancel.desktop ~/.local/share/applications/

Vous devriez maintenant avoir une nouvelle entrée appelée. voir Echo Cancel PulseAudio Module dans le menu de votre application. Cliquer dessus devrait charger le volume PulseAudio pour l'annulation d'écho/bruit.

Après cela, vérifiez les paramètres audio de votre système et les périphériques d'entrée et de sortie doivent tous deux avoir le nom par défaut, mais avec "écho annulé avec ..." entre parenthèses, comme dans la capture d'écran ci-dessus dans l'article.

Si vous souhaitez décharger le module PulseAudio pour l'annulation d'écho, vous pouvez procéder comme suit :

pactl unload-module module-echo-cancel

Comment sélectionner le microphone dans les configurations avec plusieurs microphones à utiliser avec le module PulseAudio-echo-cancel

Si votre système dispose de plusieurs microphones, appliquez l'annulation d'écho/bruit au microphone que vous souhaitez utiliser. Commencez à lister les noms des sources audio avec :
LANG=C pacmd list-sources | grep name:
Cela devrait afficher quelque chose comme ceci :


LANG=C pacmd list-sources | grep name:

name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor> name: <alsa_input.pci-0000_00_1b.0.analog-stereo> name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor> name: <alsa_input.usb-046d_0819_FEB73FA0-02.mono-fallback>

Notez que dans mon exemple, 2 des sources ont "entrée" dans leurs noms. Vous devez savoir à quel microphone vous souhaitez appliquer la suppression d'écho.

Si vous avez le nom du microphone que vous souhaitez utiliser, il vous faut maintenant le load-module module-echo-cancel Inclure la ligne dans l'une des deux méthodes utilisées ci-dessus (soit en utilisant la méthode pour activer l'annulation d'écho du module PulseAudio au démarrage ou la méthode pour activer l'annulation d'écho du module PulseAudio si nécessaire) source_master=<SOURCE_NAME> , remplacer SOURCE_NAME avec le nom du nom de la source trouvée comme décrit ci-dessus (ex :alsa_input.pci-0000_00_1b.0.analog-stereo de mon exemple ci-dessus).

En tenant compte des instructions ci-dessus pour activer l'annulation d'écho du module PulseAudio au démarrage et activer l'annulation d'écho du module PulseAudio si nécessaire ci-dessus, vous devrez modifier ces load-module module-echo-cancel Gestion :

de :

  • pour activer l'annulation d'écho du module PulseAudio au démarrage :

load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • pour activer l'annulation d'écho du module PulseAudio si nécessaire :

pactl load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1

En plus :

  • pour activer l'annulation d'écho du module PulseAudio au démarrage :
load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • pour activer l'annulation d'écho du module PulseAudio si nécessaire :
pactl load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

Par exemple :

pactl load-module module-echo-cancel source_master=alsa_input.usb-046d_0819_FEB73FA0-02.mono-fallback aec_method=webrtc source_name=echocancel sink_name=echocancel1

Vous pouvez en savoir plus à ce sujet dans la documentation sur l'annulation d'écho du module PulseAudio.


Linux
  1. Comment changer la couleur de votre terminal Linux

  2. Comment installer un environnement de bureau sur votre serveur Linux sans tête

  3. Comment évaluer ou vérifier la vitesse de votre serveur DNS sous Linux ?

  4. Comment activer la saisie prédictive sur votre bureau Linux avec ibus-typing-booster

  5. Comment convertir les caractères hexadécimaux en caractères ASCII dans le shell Linux ?

Comment ajouter un utilisateur à votre bureau Linux

Comment le bureau Linux s'est développé

Comment naviguer sur votre bureau GNOME Linux avec seulement un clavier

Comment changer la couleur de sortie de 'Echo' sous Linux

Comment changer le schéma de partition sur votre serveur Linux ?

Comment installer Steam sur le bureau Linux | Jouez à vos jeux préférés