Linuxでは、ラップトップの所有者がマイクのノイズについて不満を言うのをよく見かけますが、Windowsではノイズが少なくなります。 原則として、可能な限り安いマイクおよび/またはコーデックを設置したメーカーは、ソフトウェアで不快な品質の鉄を滑らかにすることを望んで、これを責めています。
幸いなことに、Linuxには素晴らしいPulseAudioオーディオサーバーがあり、これを使用すると、マイクからのオーディオを著しく改善できます。
方法#1
特定のプログラムに対して、webrtcまたはspeexアルゴリズムに従って動作するPulseAudio組み込みノイズおよびエコーキャンセルモジュールを使用するには、環境変数で実行するだけで十分です。PULSE_PROP="filter.want=echo-cancel"
そして、あなたの音はすべて魔法とノイズを取り除きます!
例:
PULSE_PROP="filter.want=echo-cancel" skype
宛先:
後:
方法#2
ノイズを低減した一定のソースとシンクを作成します。 load-module module-echo-cancel source_name=noechosource sink_name=noechosink set-default-source noechosource
これらの行を/etc/pulse/default.paの最後のどこかに追加して、pulseaudioが起動するたびに実行されるようにすることができます。
残念ながら、PulseAudioの現在のバージョンには、録音だけでなく再生も実行されている場合にのみこのモジュールが機能するというバグがあります。 たとえば、Skype、Mumble、その他の音声電話では、すべてがすぐに素晴らしいものになります。たとえば、audacityを使用して音声のみを録音する場合は、最小音量でもバックグラウンドミュージックを含める必要があります。
2番目の方法を使用する場合は、必要なプログラムが、オーディオカードに直接ではなく、ノイズ低減機能付きのシンクでオーディオを再生することを確認してください。 たとえば、pavucontrolを介してシンクを転送できます。
ノイズキャンセルシンクを介してオーディオプレーヤーで音楽を再生しないでください。そうしないと、モノラルおよび32kHzのサウンドが得られます。
habrahabrには、PulseAudio開発者の1人、 AEPがいます。 相談してくれたことに感謝します。