pulseaudioを使用すると、マイクノイズ低減モジュールを簡単にロードできます。このリンクは非常に明確に説明します。 https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio
すべてのユーザーのマイクノイズを排除するために、rnnoiseをパイプラインワイヤにプラグインとして追加したいと思います。
私は最小限のソリューションを探しており、アプリを避けたいです。このように: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file
答え1
答え2
rnnoise
すべてのユーザーにプラグインをロードする方法を見つけました。pipewire
ステップ1:
このページからrnnoise
X86 Linux用にコンパイルされたドライバをダウンロードできます。これは最後のバージョンではありませんrnnoise
。最新バージョンが必要な場合は、直接コンパイルする必要があるようです。公式githubリポジトリ。
ステップ2:
ダウンロードしたアーカイブから必要なLinuxライブラリを見つけることができます。常にモノライブラリを使用してください。マイクは一つだけあってもいいです!オーディオフォルダに保存することをお勧めします/usr/lib/audio/
ので、自分で作成する必要があります。このファイルの名前を変更すると、次のフォルダにあります。
- radespa.so
- lv2.so
- vst3.so
- VSt.so
ステップ3pipewire
このパスを取得するには、2つのフォルダを作成します。
/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設定でノイズキャンセルマイクを選択できるようになりました。
コメント
- したがって、我々はパイプラインワイヤフィルタチェーンモジュールを使用します。。文書を確認してください。とても便利です。
- オーディオを使用するすべてのアプリケーションは、標準(オーディオプラグインAPIと呼ばれる)を使用するように設計されています。
- ladspa:オープンスタンダードですが…最新バージョンではありません。
- lv2:オープンスタンダード...最新
- vst3:独自の標準(オープンソースプログラムでは表示されません)
- vst:排他的な標準(それはしないでください...)
したがって、私が提供するソリューションは、lv2オーディオプラグインを使用するアプリケーションには適用されません(独自の標準には興味がありません)。 LV2の助けを歓迎します。