使用管道線模組降低麥克風噪音

使用管道線模組降低麥克風噪音

使用pulseaudio,可以輕鬆載入麥克風降噪模組。這個連結解釋得很清楚: https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio

我想添加 rnnoise 作為 pipelinewire 的插件來為所有用戶消除麥克風的噪音。

我正在尋找一種簡約的解決方案,並希望避免應用程式。像這個: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file

答案1

安裝語音噪音抑制。截至 2024 年 4 月,沒有 Ubuntu 軟體包,請參閱這個懸而未決的問題取得安裝說明。不過,它是為 Arch、Alpine、Gentoo 和 openSUSE 打包的。請參閱其自述文件以了解可調整的設定。

答案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 設定中,您可以選擇消除噪音的麥克風。

評論

  1. 我們因此使用 pipelinewire 過濾器鏈模組。查看文檔,非常有用。
  2. 每個應用程式(使用音訊)都被設計為使用一個標準(稱為音訊插件 API):
    • ladspa:開放標準......但它不是最新的
    • lv2:開放標準...最新的
    • vst3:專有標準(您不應該在開源程式中看到它)
    • vst:專有標準(你不應該......)

因此,我提供的解決方案不涵蓋使用 lv2 音訊插件的應用程式(我不關心專有標準)。歡迎任何對 lv2 的幫助。

相關內容