
使用pulseaudio,可以輕鬆載入麥克風降噪模組。這個連結解釋得很清楚: https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio
我想添加 rnnoise 作為 pipelinewire 的插件來為所有用戶消除麥克風的噪音。
我正在尋找一種簡約的解決方案,並希望避免應用程式。像這個: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file
答案1
答案2
我找到了一種為所有用戶加載插件的rnnoise
方法。pipewire
步驟1:
在本頁您可以下載rnnoise
為 X86 linux 編譯的驅動程式。這不是 的最後一個版本rnnoise
。如果你想要最新版本,我認為你必須自己進行編譯官方 github 倉庫。
第2步:
在下載的檔案中,您將找到所需的 Linux 庫。始終採用單聲道庫。您可能只有一個麥克風!我建議將它們儲存在/usr/lib/audio/
所以你必須創建資料夾音訊。當我重命名這些文件時,我現在在此資料夾中:
- 拉德斯帕.so
- lv2.so
- vst3.so
- VSt.so
步驟3
建立 2 個pipewire
資料夾以取得此路徑:
/etc/pipewire/pipewire.conf.d/
步驟4
在此資料夾中建立文件99-mic-denoising.conf
。在此文件中貼上以下內容:
context.modules = [
{name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/audio/ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 90.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]
步驟5
重新啟動 Pipewire 守護程式:
systemctl restart --user pipewire.service
現在,在 gnome 設定中,您可以選擇消除噪音的麥克風。
評論
- 我們因此使用 pipelinewire 過濾器鏈模組。查看文檔,非常有用。
- 每個應用程式(使用音訊)都被設計為使用一個標準(稱為音訊插件 API):
- ladspa:開放標準......但它不是最新的
- lv2:開放標準...最新的
- vst3:專有標準(您不應該在開源程式中看到它)
- vst:專有標準(你不應該......)
因此,我提供的解決方案不涵蓋使用 lv2 音訊插件的應用程式(我不關心專有標準)。歡迎任何對 lv2 的幫助。