Tyjo, jak jsem chválil Debian 10 XFCE, tak mě hned včera lehce vyškolil :-) V souvislosti s MS Teams jsem řešil, že můj mikrofon šumí. Potvrzeno testovacím hovorem "sám se sebou". První věc byla, snížit úroveň mikrofonu - byl zbytečně nahlas. Druhá věc (paradoxně snad i jednodušší) byla povolit digitální potlačení šumu - k tomu stačí přidat
load-module module-echo-cancel
v globální konfiguraci PulseAudio /etc/pulse/default.pa , což je trivka. Zřejmě se to má vložit těsně před poslední odstavec konfiguráku, kde následují nějaké cca 2 moduly, které tyhle chytristiky nějak inteligentně zařazují/vyřazují podle situace.
A co mě na tom vyškolilo: ukládání nastavení hlasitosti napříč restarty. V systému je jednak PulseAudio - pokud správně chápu, je tento subsystém startován při startu X, nikoli jako systémový démon (přes systemd). K němu ovládací applet je xfce4-pulseaudio-plugin, ze kterého jedním kliknutím se dá spustit volně plovoucí appka pavucontrol. Kromě toho existuje možnost, nastavit hlasitost "o patro blíž k hardwaru", ve vrstvě ALSA - uživatelsky příkazem alsactl, s argumentem store anebo restore. S tím že tradičně ALSA údajně dělala restore při startu. Toto vše je za jízdy provázáno, potenciometry se pohybují společně. No a mně se to chová tak, že po startu je zvuk (xfce4-pulseaudio-plugin) nastavený na nějaké defaulty, které jsou po každém startu stejné. Když jsem si chvilku hrál s Audacity, klikal jsme si v něm (v Audacity GUI) ve volbě zdroje signálu apod., podařilo se mi zřejmě rozdrbat konfiguraci PulseAudia do té míry, že kromě mikrofonu nakonec přestalo fungovat i přehrávání, v celém systému, i po restartu. Z toho jsem se vyprostil tím, že jsem našel a smazal (napřed zkusmo přejmenoval) ~/.config/pulse/ . Po dalším restartu byly zpátky nějaké defaulty a chovalo se to opět cca mravně (na Audacity už jsem nesahal) - ale změny úrovní repráků a mikrofonu se neukládají. Pavucontrol zřejmě funguje jenom na runtime stav, nemá vlastní ukládání konfigurace na disk. Takže jsem sáhl po alsactl store/restore, což funguje, ale musím provést restore až poté, co všechny pulseaudio srandičky bezpečně nastartovaly. Třeba pokud alsactl restore zadám jako "aplikaci při startu" XFCE, kde nemám možnost nastavit pořadí, startuje alsactl dříve než pulseaudio, a alsactl restore se neprojeví. Pokud ho ale o 20 sekund odložím (nohup a sleep) tak to zafunguje. Ale tuším mi to pulseaudio přenastaví podle svého při "resume from suspend"... toto nemám přesně vysledované, prostě se mi stalo, že jsem ráno probudil noťas, přihlásil se do Teams, a najednou koukám, táhla v pulseaudio pluginu jsou zase na defaultech. To už ale probíhalo vyučování, takže jsem si nemohl hrát. Opravdu se mi nechce, kompilovat něco ze zdrojáků :-) Ono to nakonec nějak funguje... a ze mě je IRL široko daleko největší odborník* ;-) na konfiguraci echo-cancelation a potlačení šumu pod Windows a Linuxem.
Zrovna tohle by myslím v Ubuntu LTS fungovalo na první pokus.
*odborník je člověk, který přijel z jiného města.