GNU/Linux >> Belajar Linux >  >> Linux

Cara mengaktifkan pembatalan gema / kebisingan dari input mikrofon di desktop Linux Anda (PulseAudio)

PulsAudio dilengkapi dengan modul yang dapat digunakan untuk melakukan pembatalan gema akustik dari input mikrofon dan beberapa pengurangan kebisingan latar belakang. Modul ini tidak diaktifkan secara default di sebagian besar (jika tidak semua) distribusi Linux, jadi artikel ini akan menunjukkan cara mengaktifkannya.

Saya akan menunjukkan kepada Anda dua cara untuk mengaktifkan modul PulseAudio Echo Cancel:satu yang membuatnya permanen sehingga dimulai secara otomatis saat Anda masuk ke desktop dan yang lain memungkinkan Anda untuk mengaktifkan pembatalan gema jika perlu, saat Anda membutuhkannya.

Ini tidak hanya untuk menawarkan 2 alternatif, tetapi juga untuk mem-bypass serangga PulseAudio ini terjadi, misalnya, ketika headset dicolokkan setelah modul Echo Cancel diisi, yang berarti tidak secara otomatis beralih ke yang baru sink_master . Juga, dalam kasus saya, pemuatan Modul Echo Cancel tidak berfungsi sama sekali saat startup (saya tidak yakin mengapa), tetapi dapat dimuat tanpa masalah setelah masuk menggunakan metode kedua di bawah.

[[Sunting]]Bagi mereka yang memiliki beberapa mikrofon yang dicolokkan ke komputer mereka, saya telah menambahkan bagian baru ke artikel ini yang menjelaskan cara memilih mikrofon mana yang akan menerapkan pembatalan gema / bising (bagian baru disebut Bagaimana untuk memilih mikrofon dalam pengaturan dengan beberapa mikrofon untuk digunakan dengan modul-gema-batal PulseAudio ).

Cara mengaktifkan pembatalan gema modul PulseAudio saat startup

Agar selalu memiliki peredam gema / kebisingan di desktop Linux Anda dengan PulseAudio dan agar modul peredam gema dimuat saat startup, lakukan langkah-langkah berikut.

1. Edit /etc/pulse/default.pa sebagai root dengan editor teks seperti Nano (editor teks baris perintah) misalnya:

sudo nano /etc/pulse/default.pa

Gulir ke bagian bawah file ini dan rekatkan yang berikut:

.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

Ini melakukan ini:jika sistem PulseAudio Anda dikompilasi dengan modul pembatalan gema / kebisingan, muat modul ini, gunakan webrtc sebagai metode pembatalan gema (seharusnya lebih baik daripada speex standar), berikan nama sumber dan sink, lalu masukkan Anda atur sumber dan sink ini sebagai default.

2. Setelah Anda menyimpan file, reload PulseAudio dengan perintah ini:

pulseaudio -k

Atau restart komputer Anda.

Kemudian lihat pengaturan suara sistem Anda dan perangkat input dan output keduanya harus memiliki nama default, tetapi dengan "Echo dibatalkan dengan ..." dalam tanda kurung, mis. Audio Analog Stereo) “seperti pada tangkapan layar di atas dalam artikel.

Ini akan tetap ada bahkan setelah reboot.

Jika ini tidak berhasil untuk Anda, lihat metode kedua di bawah ini untuk memuat modul echo cancel jika perlu.

Cara mengaktifkan pembatalan gema modul PulseAudio jika perlu

Agar input mikrofon echo / noise cancelling hanya saat diperlukan (dengan memiliki item menu Aplikasi untuk mengaktifkannya) ikuti langkah-langkah di bawah ini.

1. Buat file baru di folder rumah Anda yang disebut echocancel dengan isi sebagai berikut:

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

Ini membongkar modul-echo-cancel jika sudah dimuat, lalu memuat modul ini dengan webrtc sebagai metode pembatalan gema (seharusnya lebih baik daripada speex standar), berikan nama sumber dan sink, lalu atur sumber dan sink itu tetap sebagai standar.

2. Setelah Anda menyimpan file, buat itu dapat dieksekusi dan salin di suatu tempat di jalur Anda. Anda dapat membuatnya dapat dieksekusi dan dalam /usr/local/bin dengan perintah ini:

sudo install echocancel /usr/local/bin

3. Buat file bernama echocancel.desktop di folder rumah Anda dengan konten berikut:

[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. Simpan file dan salin ke ~/.local/share/applications/ , misalnya lakukan ini dari baris perintah dengan:

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

Anda sekarang harus memiliki entri baru yang disebut. lihat Echo Cancel PulseAudio Module di menu aplikasi Anda. Mengkliknya akan memuat volume PulseAudio untuk pembatalan gema / kebisingan.

Setelah melakukan ini, periksa pengaturan suara sistem Anda dan perangkat input dan output keduanya harus memiliki nama default tetapi dengan "echo dibatalkan dengan ..." dalam tanda kurung, seperti pada tangkapan layar di atas dalam artikel.

Jika Anda ingin membongkar modul PulseAudio untuk pembatalan gema, Anda dapat melakukan hal berikut:

pactl unload-module module-echo-cancel

Cara memilih mikrofon dalam pengaturan dengan beberapa mikrofon untuk digunakan dengan modul PulseAudio-echo-cancel

Jika sistem Anda memiliki beberapa mikrofon, terapkan pembatalan gema / derau ke mikrofon yang ingin Anda gunakan.Mulai daftar nama sumber audio dengan:
LANG=C pacmd list-sources | grep name:
Ini harus menghasilkan sesuatu seperti ini:


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>

Perhatikan bahwa dalam contoh saya, 2 sumber memiliki "input" dalam namanya. Anda perlu mencari tahu ke mikrofon mana Anda ingin menerapkan pembatalan gema.

Jika Anda memiliki nama mikrofon yang ingin Anda gunakan, sekarang Anda memerlukan load-module module-echo-cancel Sertakan baris dalam salah satu dari dua metode yang digunakan di atas (baik menggunakan metode untuk mengaktifkan pembatalan gema modul PulseAudio saat startup atau metode untuk mengaktifkan pembatalan gema modul PulseAudio jika diperlukan) source_master=<SOURCE_NAME> , ganti SOURCE_NAME dengan nama nama sumber yang ditemukan seperti dijelaskan di atas (mis.:alsa_input.pci-0000_00_1b.0.analog-stereo dari contoh saya di atas).

Mempertimbangkan instruksi di atas untuk mengaktifkan Pembatalan Gema Modul PulseAudio saat startup dan mengaktifkan Pembatalan Gema Modul PulseAudio jika diperlukan dari atas, Anda harus mengubah load-module module-echo-cancel tersebut Manajemen:

dari:

  • untuk mengaktifkan pembatalan gema modul PulseAudio saat startup:

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

  • untuk mengaktifkan modul PulseAudio echo cancel jika perlu:

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

Selain itu:

  • untuk mengaktifkan pembatalan gema modul PulseAudio saat startup:
load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • untuk mengaktifkan modul PulseAudio echo cancel jika perlu:
pactl load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

Misalnya:

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

Anda dapat menemukan lebih banyak tentang ini di dokumentasi pembatalan gema Modul PulseAudio.


Linux
  1. Cara mengubah warna terminal Linux Anda

  2. Cara Mengaktifkan Penerusan IP di Linux

  3. Linux – Bagaimana Cara Menentukan Modul Yang Menodai Kernel?

  1. Bagaimana tema Desktop Linux Anda

  2. Bagaimana cara Benchmark atau memeriksa kecepatan Server DNS Anda di Linux?

  3. Cara mengaktifkan input prediktif di desktop Linux Anda dengan ibus-typing-booster

  1. Cara memperluas fungsionalitas desktop Linux Anda dengan PlexyDesk

  2. Cara Memasang Lingkungan Desktop di Server Linux Tanpa Kepala Anda

  3. Bagaimana cara mengubah karakter hex ke ASCII di shell Linux?