GNU/Linux >> Linux Esercitazione >  >> Linux

Come abilitare la cancellazione dell'eco/rumore dell'ingresso del microfono sul desktop Linux (PulseAudio)

PulsAudio viene fornito con un modulo che può essere utilizzato per eseguire la cancellazione dell'eco acustico dell'ingresso del microfono e una certa riduzione del rumore di fondo. Questo modulo non è abilitato per impostazione predefinita sulla maggior parte (se non su tutte) le distribuzioni Linux, quindi questo articolo ti mostrerà come abilitarlo.

Ti mostrerò due modi per abilitare il modulo PulseAudio Echo Cancel:uno che lo rende permanente in modo che si avvii automaticamente quando accedi al desktop e un altro che ti consente di abilitare la cancellazione dell'eco se necessario, quando ne hai bisogno.

Questo non solo per offrire 2 alternative, ma anche per bypassare un insetto PulseAudio questo accade, ad esempio, quando una cuffia viene collegata dopo che il modulo Echo Cancel è stato caricato, il che significa che non passa automaticamente a quello nuovo sink_master . Inoltre, nel mio caso, il caricamento del modulo Echo Cancel non funziona affatto all'avvio (non sono sicuro del perché), ma può essere caricato senza problemi dopo aver effettuato l'accesso utilizzando il secondo metodo di seguito.

[[Modifica]]Per coloro che hanno più microfoni collegati al proprio computer, ho aggiunto una nuova sezione a questo articolo che spiega come scegliere a quale microfono applicare la cancellazione dell'eco/rumore (la nuova sezione si chiama Come per selezionare il microfono nelle configurazioni con più microfoni da utilizzare con il modulo PulseAudio-echo-cancel ).

Come abilitare la cancellazione dell'eco del modulo PulseAudio all'avvio

Per avere sempre la soppressione dell'eco/rumore sul tuo desktop Linux con PulseAudio e per avere il modulo di soppressione dell'eco caricato all'avvio, procedi come segue.

1. Modifica /etc/pulse/default.pa come root con un editor di testo come Nano (editor di testo da riga di comando), ad esempio:

sudo nano /etc/pulse/default.pa

Scorri fino alla fine di questo file e incolla quanto segue:

.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

Questo fa questo:se il tuo sistema PulseAudio è compilato con il modulo di cancellazione dell'eco / rumore, carica questo modulo, usa webrtc come metodo di cancellazione dell'eco (dovrebbe essere migliore dello speex standard), fornisci un nome sorgente e sink, quindi inserisci You imposta questa sorgente e sink come predefiniti.

2. Dopo aver salvato il file, ricaricare PulseAudio con questo comando:

pulseaudio -k

Oppure riavvia il computer.

Quindi cerca nelle impostazioni audio del tuo sistema e i dispositivi di input e output dovrebbero avere entrambi il nome predefinito, ma con "Echo annullato con ..." tra parentesi, ad es. Audio Analog Stereo) "come nello screenshot sopra nell'articolo.

Questo dovrebbe persistere anche dopo il riavvio.

Se questo non funziona per te, controlla il secondo metodo di seguito per caricare il modulo echo cancel, se necessario.

Come attivare la cancellazione dell'eco del modulo PulseAudio se necessario

Per avere l'eco/cancellazione del rumore in ingresso del microfono solo quando necessario (avendo una voce di menu Applicazioni per abilitarlo) segui i passaggi seguenti.

1. Crea un nuovo file nella tua cartella home chiamato echocancel con il seguente contenuto:

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

Questo scarica module-echo-cancel se era già stato caricato, quindi carica questo modulo con webrtc come metodo di cancellazione dell'eco (dovrebbe essere migliore dello speex standard), fornisce un nome sorgente e sink, quindi imposta quella sorgente e sink fissi come standard.

2. Dopo aver salvato il file, rendilo eseguibile e copialo da qualche parte nel tuo percorso. Puoi renderlo eseguibile e in /usr/local/bin con questo comando:

sudo install echocancel /usr/local/bin

3. Crea un file chiamato echocancel.desktop nella tua cartella Inizio con il seguente contenuto:

[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. Salva il file e copialo in ~/.local/share/applications/ , per esempio. fallo dalla riga di comando con:

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

Ora dovresti avere una nuova voce chiamata. vedi Echo Cancel PulseAudio Module nel menu dell'applicazione. Cliccandoci sopra dovrebbe caricare il volume PulseAudio per la cancellazione dell'eco/rumore.

Dopo aver fatto ciò, controlla le impostazioni audio del tuo sistema e i dispositivi di input e output dovrebbero avere entrambi il nome predefinito ma con "eco annullato con ..." tra parentesi, come nello screenshot sopra nell'articolo.

Se vuoi scaricare il modulo PulseAudio per la cancellazione dell'eco, puoi fare quanto segue:

pactl unload-module module-echo-cancel

Come selezionare il microfono in configurazioni con più microfoni da utilizzare con il modulo PulseAudio-echo-cancel

Se il tuo sistema ha più microfoni, applica la cancellazione dell'eco/rumore al microfono che desideri utilizzare. Inizia a elencare i nomi delle sorgenti audio con:
LANG=C pacmd list-sources | grep name:
Questo dovrebbe produrre qualcosa del genere:


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>

Si noti che nel mio esempio 2 delle fonti hanno "input" nei loro nomi. Devi scoprire a quale microfono vuoi applicare la cancellazione dell'eco.

Se hai il nome del microfono che vuoi usare, ora ti serve il load-module module-echo-cancel Includere la riga in uno dei due metodi utilizzati sopra (utilizzando il metodo per abilitare la cancellazione dell'eco del modulo PulseAudio all'avvio o il metodo per attivare la cancellazione dell'eco del modulo PulseAudio, se necessario) source_master=<SOURCE_NAME> , sostituisci SOURCE_NAME con il nome della fonte trovata come descritto sopra (es.:alsa_input.pci-0000_00_1b.0.analog-stereo dal mio esempio sopra).

Considerando le istruzioni precedenti per abilitare l'annullamento dell'eco del modulo PulseAudio all'avvio e abilitare l'annullamento dell'eco del modulo PulseAudio se necessario dall'alto, dovrai modificare quei load-module module-echo-cancel Gestione:

da:

  • per attivare il modulo PulseAudio annulla l'eco all'avvio:

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

  • per attivare l'eco del modulo PulseAudio annulla se necessario:

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

Inoltre:

  • per attivare il modulo PulseAudio annulla l'eco all'avvio:
load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • per attivare l'eco del modulo PulseAudio annulla se necessario:
pactl load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

Ad esempio:

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

Puoi trovare maggiori informazioni su questo nella documentazione sull'annullamento dell'eco del modulo PulseAudio.


Linux
  1. Come cambiare il colore del tuo terminale Linux

  2. Come estendere le funzionalità del tuo desktop Linux con PlexyDesk

  3. Come installare un ambiente desktop sul tuo server Linux senza testa

  4. Come eseguire il benchmark o controllare la velocità del tuo server DNS su Linux?

  5. Linux:come determinare quale modulo contamina il kernel?

Come aggiungere un utente al tuo desktop Linux

Come è cresciuto il desktop Linux

Come navigare nel desktop GNOME Linux con solo una tastiera

Come modificare il colore di output di "Echo" in Linux

Come modificare lo schema di partizione sul tuo server Linux?

Come installare Steam su desktop Linux | Gioca ai tuoi giochi preferiti