検証記録: 記事の主張を、実機でどう確かめたかの記録です。
実機検証: OBSのノイズ抑制(Speex・RNNoise)の効き方(2026-10-22)
対象記事: posts/articles/obs-noise-suppression-rnnoise.md
環境: Windows 11、OBS Studio 32.2.2 と 33.0.0-rc3(ポータブル版、日本語UI)。録画は無劣化。NVIDIA の「ノイズ除去」はこのPCで使えないため対象外(OBSのログ: 「NVIDIA denoiser disabled, redistributable not found」)
方法: tools/capture/verify_noise.py(主実験)。追加実験は同じ関数を使って 33 で実施
素材(すべて合成。本物の声・部屋とは違う)
- 声: Windows の読み上げ音声(Microsoft Haruka、約13秒)。前後に3秒ずつ無音を付けた「基準の声」
- 雑音A(主実験): ピンクノイズ(ファンのような「サー」)+ 0.37秒ごとのクリック音(キーボードのような「カチ」)
- 雑音B(追加): ピンクノイズだけ
- 小さい声(追加): 基準の声を -18dB 下げたもの+雑音B
メディアソースで再生し、フィルタ「ノイズ抑制」の方式と抑制レベルを変えて録音した。
測り方
- 残った雑音: 先頭と末尾の、声が無い区間の音量(dBFS、RMS)。低いほど雑音が消えている
- 声の形: 声の区間で、基準の声との相関(1に近いほど元の声のまま)
- こもり: 声の区間の「4〜8kHz」と「300Hz〜4kHz」のエネルギー比を、基準の声と比べた差(dB)。マイナスが大きいほど高い音が削れている
- 声の音量: 小さい声の実験で、声の大きい部分の音量を基準と比べた差(dB)
結果
主実験: 雑音A(サー+カチ)、32.2.2・33.0.0-rc3 で同じ
| 方式 | 残った雑音 | 声の形 | こもり |
|---|---|---|---|
| フィルタなし | -34.3 dBFS | 0.97 | +7.9(雑音の高い音が乗っている) |
| Speex 抑制レベル -15 | -35.0 | 0.97 | +7.5 |
| Speex -30(初期値) | -35.0 | 0.97 | +7.5 |
| Speex -60(最大) | -35.0 | 0.98 | +7.5 |
| RNNoise | -53.8 | 0.97 | +0.5 |
→ Speex はクリック音(カチ)をほとんど消さなかった。抑制レベルを変えても数値は同じ。RNNoise はクリック音も含めて約20dB下げた。
追加: 雑音B(サーだけ)、33.0.0-rc3
| 方式 | 残った雑音 | 声の形 | こもり |
|---|---|---|---|
| フィルタなし | -48.2 | 0.999 | +0.4 |
| Speex -30 | -57.3 | 0.999 | -0.3 |
| Speex -60 | -57.7 | 0.984 | -0.3 |
| RNNoise | -78.7 | 0.906 | -0.5 |
→ Speex は約9dB、RNNoise は約30dB下げた。Speex の -30 と -60 の差は 0.4dB。RNNoise は声の形の数値が下がった(0.906)。
追加: 小さい声(-18dB)+雑音B、33.0.0-rc3
| 方式 | 残った雑音 | こもり | 声の音量 |
|---|---|---|---|
| フィルタなし | -48.2 | +8.3 | +0.2 |
| Speex -30 | -57.3 | -4.8 | -0.1 |
| RNNoise | -83.9 | -2.2 | -0.2 |
→ 小さい声では、Speex の方が高い音を多く削った(こもった)。どちらも声の大きい部分の音量は下げなかった。
数値の全件: results.json。聞き比べ用の音声(主実験、OBS 33): サイトの記事に掲載(なし/Speex -30/RNNoise、各9秒)。
メニュー(両版で実機確認)
ソースを右クリック → 「フィルタ」→ 左上の一覧の「+」→「ノイズ抑制」。設定は「方式」(「Speex (CPU使用率低め、低品質)」「RNNoise (高品質、CPU使用率高め)」)と、Speex のときだけ「抑制レベル」(noise-filter-33.png、walk-noise-*.json)。新しく付けたときの方式は RNNoise、抑制レベルの初期値は -30dB(OBSのソース 32.2.2)。
フィルタ画面の左上の見出しは、検証に使ったメディアソースでは「音声/映像フィルタ」と表示された(マイクのソースでは確認していない)。
測っていないこと
- 本物の人の声、本物の部屋の雑音、実際のマイク
- CPU 負荷(UI の表記は「Speex: CPU使用率低め」「RNNoise: CPU使用率高め」)
- NVIDIA のノイズ除去
- 雑音と声が同時に鳴っている部分の、雑音の消え方