GNU/Linux >> Znalost Linux >  >> Linux

Jak povolit potlačení ozvěny / šumu mikrofonního vstupu na ploše Linuxu (PulseAudio)

PulsAudio je dodáván s modulem, který lze použít k potlačení akustické ozvěny mikrofonního vstupu a určité redukci hluku na pozadí. Tento modul není ve výchozím nastavení povolen ve většině (pokud ne ve všech) distribucích Linuxu, takže tento článek vám ukáže, jak jej povolit.

Ukážu vám dva způsoby, jak aktivovat modul PulseAudio Echo Cancel:jeden, který jej učiní trvalým, takže se automaticky spustí, když se přihlásíte na plochu, a druhý, který vám umožní povolit zrušení ozvěny, pokud to potřebujete, když je potřebujete.

Nejde jen o to nabídnout 2 alternativy, ale také obejít hmyz PulseAudio, stane se to například, když se po nabití modulu Echo Cancel připojí sluchátka, což znamená, že se automaticky nepřepnou na nový sink_master . V mém případě také načítání modulu Echo Cancel při spuštění vůbec nefunguje (nejsem si jistý proč), ale lze jej načíst bez problémů po přihlášení pomocí druhé metody níže.

[[Edit]]Pro ty, kteří mají k počítači připojeno více mikrofonů, jsem do tohoto článku přidal novou sekci, která vysvětluje, jak vybrat, na který mikrofon použít potlačení ozvěny / šumu (nová sekce se nazývá Jak pro výběr mikrofonu v sestavách s více mikrofony pro použití s ​​modulem PulseAudio-echo-cancel ).

Jak povolit modul PulseAudio zrušení echa při spuštění

Abyste na svém linuxovém desktopu měli pomocí PulseAudio vždy potlačení ozvěny/šumu a aby bylo při spuštění nahráno potlačení ozvěny modulu, proveďte následující kroky.

1. Upravte /etc/pulse/default.pa jako root pomocí textového editoru, jako je Nano (textový editor příkazového řádku), například:

sudo nano /etc/pulse/default.pa

Přejděte na konec tohoto souboru a vložte následující:

.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

To dělá toto:pokud je váš systém PulseAudio zkompilován s modulem pro potlačení ozvěny / šumu, načtěte tento modul, použijte webrtc jako metodu potlačení ozvěny (mělo by to být lepší než standardní speex), uveďte zdroj a název umyvadla a vložte You nastavte tento zdroj a jímku jako výchozí.

2. Po uložení souboru znovu načtěte PulseAudio pomocí tohoto příkazu:

pulseaudio -k

Nebo restartujte počítač.

Pak se podívejte do nastavení zvuku vašeho systému a vstupní i výstupní zařízení by měla mít výchozí název, ale s „Echo cancelled with…“ v hranatých závorkách, např. Audio Analog Stereo) “jako na snímku obrazovky výše v článku.

To by mělo přetrvávat i po restartu.

Pokud to pro vás nefunguje, podívejte se na druhou metodu níže, jak načíst modul pro zrušení echa, pokud je to nutné.

Jak v případě potřeby aktivovat zrušení echa modulu PulseAudio

Chcete-li mít mikrofonní vstup potlačení ozvěny / šumu pouze v případě potřeby (povolením položky nabídky Aplikace), postupujte podle následujících kroků.

1. Vytvořte nový soubor ve své domovské složce s názvem echocancel s následujícím obsahem:

#!/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

Tím se uvolní modul-echo-zrušit, pokud již byl načten, pak se načte tento modul s webrtc jako metodou zrušení ozvěny (mělo by to být lepší než standardní speex), zadejte název zdroje a jímky a poté nastavte tento zdroj a jímku napevno jako standardní.

2. Po uložení souboru jej udělejte jako spustitelný a zkopírujte jej někam do cesty. Můžete jej nastavit jako spustitelný a v /usr/local/bin pomocí tohoto příkazu:

sudo install echocancel /usr/local/bin

3. Vytvořte soubor s názvem echocancel.desktop ve vaší domovské složce s následujícím obsahem:

[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. Uložte soubor a zkopírujte jej do ~/.local/share/applications/ , např. proveďte to z příkazového řádku pomocí:

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

Nyní byste měli mít nazvaný nový záznam. viz Echo Cancel PulseAudio Module v nabídce vaší aplikace. Kliknutím na něj by se měla načíst hlasitost PulseAudio pro potlačení ozvěny / šumu.

Poté zkontrolujte nastavení zvuku vašeho systému a vstupní a výstupní zařízení by měla mít výchozí název, ale s „echo zrušeno s…“ v hranatých závorkách, jako na snímku obrazovky výše v článku.

Pokud chcete uvolnit modul PulseAudio pro potlačení ozvěny, můžete provést následující:

pactl unload-module module-echo-cancel

Jak vybrat mikrofon v sestavách s více mikrofony pro použití s ​​modulem PulseAudio-echo-cancel

Pokud má váš systém více mikrofonů, použijte potlačení ozvěny/šumu na mikrofon, který chcete použít. Začněte vypisovat názvy zdrojů zvuku:
LANG=C pacmd list-sources | grep name:
To by mělo vypsat něco takového:


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>

Všimněte si, že v mém příkladu mají 2 zdroje ve svých názvech „input“. Musíte zjistit, na který mikrofon chcete použít potlačení ozvěny.

Pokud znáte název mikrofonu, který chcete použít, nyní potřebujete load-module module-echo-cancel Zahrňte řádek do jedné ze dvou výše uvedených metod (buď pomocí metody pro povolení rušení ozvěny modulu PulseAudio při spuštění nebo metody pro aktivaci rušení ozvěny modulu PulseAudio, pokud je to nutné) source_master=<SOURCE_NAME> , nahraďte SOURCE_NAME s názvem nalezeného zdroje, jak je popsáno výše (např.:alsa_input.pci-0000_00_1b.0.analog-stereo z mého příkladu výše).

Vzhledem k výše uvedeným pokynům pro povolení funkce PulseAudio Module Echo Canceling při spuštění a povolení PulseAudio Module Echo Canceling, pokud je to potřeba shora, budete muset změnit tyto load-module module-echo-cancel Správa:

od:

  • pro aktivaci funkce zrušení echa modulu PulseAudio při spuštění:

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

  • v případě potřeby aktivujte zrušení echa modulu PulseAudio:

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

Navíc:

  • pro aktivaci funkce zrušení echa modulu PulseAudio při spuštění:
load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • v případě potřeby aktivujte zrušení echa modulu PulseAudio:
pactl load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

Například:

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

Více o tom můžete najít v dokumentaci PulseAudio Module echo cancel.


Linux
  1. Jak změnit barvu vašeho terminálu Linux

  2. Jak rozšířit funkčnost vašeho Linuxového desktopu pomocí PlexyDesk

  3. Jak nainstalovat desktopové prostředí na váš Headless Linux Server

  1. Jak motivovat plochu Linuxu

  2. Jak porovnat nebo zkontrolovat rychlost serveru DNS v systému Linux?

  3. Linux – Jak zjistit, který modul poškozuje jádro?

  1. Jak povolit předávání IP v systému Linux

  2. Jak povolit prediktivní vstup na ploše Linuxu pomocí ibus-typing-booster

  3. Jak převést hex na ASCII znaky v prostředí Linuxu?