RNNoiseをOBS Studio以外でも使う

目的

Equalizer APOまたは,VSTホストとVoiceMeeterを使って,RNNoise*1によるマイクのノイズ抑制をWindows上で使う方法を紹介する.

ふだん,配信においてOBS Studio(以下,OBS)でノイズ抑制RNNoiseを使っていたが,そもそもこれはOBS使用時以外にも使えるのではないかと(今ごろ)思い,なんとか適用までに至ることができた.VSTプラグインEqualizer APOも,VSTホストとしてLight Host,VoiceMeeter Bananaも今回,初めて使用した.

OBSでのRNNoise設定画面

名称 規格 製造会社 備考
オペレーティングシステム Windows 10 Pro 64ビット,バージョン22H2 マイクロソフト インターナショナル版
配信ソフト OBS Studio 30.0.0 OBSプロジェクト 2023/11/25時点最新版
USBマイク HyperX SoloCast HP
VST Noise Suppressionプラグイン Real-time Noise Suppression Plugin 1.03 werman
イコライザーソフト Equalizer APO 1.3 Jonas Thedering
仮想ソフトウェアミキサー VoiceMeeter Banana 2.0.6.8 VB-AUDIO Software 上位機種にPotatoがある
VSTホスト Light Host 1.2.1 Rolando Islas クロスプラットフォーム

結論

まず最初に,VST Noise Suppressionプラグインをダウンロードして,C:\Program Files\VSTPluginswin-rnnoiseフォルダーごとコピーする*2

VST Noise Suppressionプラグインのダウンロード

Equalizer APOで使う

この方法では,とりあえず,該当のデバイスに適用できるため,特に考えることなくシステム全体に設定が反映できる.また,Equalizer APOはWindows起動時に自動的に裏で起動するようなので,一度設定してしまえば何も手間がかからない.

  1. Equalizer APOのインストールの最後に,Configuratorウィンドウが表示されるので,とりあえず使用するマイクのチェックを入れてCloseする
    対応デバイスのインストール(画面は既にインストール済のもの)
  2. スタートメニューからEqualizer APOのConfigurator Editorを起動する
    Equalizer APOの起動
  3. Equalizer APO起動後,警告が出るが,対応するマイクに対してインストールはしているのでNoを押す
    Equalizer APO起動時の警告画面
  4. 起動後,Device:の欄から対応するデバイス(今回はHyperX Solocast)を選ぶ
    バイス選択
  5. 緑色の+を押してPlugins→VST pluginを選択する.上部の1~3は今回使用しないので赤色の-を押して削除するか,パワーボタンを押して無効にする
    VSTプラグインの追加
  6. VST pluginの行が表示されたら,あらかじめコピーしておいたVSTプラグインのrnnoise_stereo.dllを開く
    VSTプラグインの指定
  7. この状態で,システム全体でノイズ抑制が効いた状態になる*3.Open panelをクリックすると,パラメーター設定画面が表示され,それらが調節できる.
    VST Noise Suppressionプラグイン設定完了

明示的に適用するデバイスを指定したい場合

  1. 緑色の+を押して→Control→Device (Select device)を選択する
    バイスの選択
  2. Change...→Select all devicesのアンチェックをして,使用したいデバイスを選んでOKを押す
    具体的なデバイス選択画面
  3. バイス設定の順番をノイズ抑制の前に移動し,対応するデバイスに対してのみノイズ抑制を実施するように変更
    バイス設定の適用順序変更

Light Hostを使用してVoiceMeeter Bananaで使う

VSTホストには,さまざまなものが提供されているが,Light Hostを使う.使用理由は,インストール不要で使うできるから.ほかには,Cantabile Liteが有名なもよう.

VoiceMeeter Bananaについては割愛するが,使用したいチャンネル数の違いなので,VoiceMeeterまたはVoiceMeeter Potatoでも大きな違いはないと思われる.

なお,この設定では,Equalizer APOと異なり, Light HostおよびVoiceMeeter Bananaが起動しているときのみ,ノイズ抑制が効くようになる.VoiceMeeter Bananaは,左上Menu内のRun on Windows Startupにチェックを入れることで常時起動できるが,Light Hostは常時起動させる設定がないため,別途,その設定が必要となる.

VoiceMeeter Banana側の設定

  1. HARDWARE INPUT 1にマイクを指定しておく.
    HARDWARE INPUT 1にマイクを割り当て
  2. 右上のMenu→System Settings / Options...を選択する
    VoiceMeeter Bananaでのメニュー内のシステム設定
  3. 表示されたSystem settings /Options...の画面にて,左下のPATCH INSERT欄からin1 Leftおよびin1 Rightをクリックして青い状態(挿入可能状態)にしてウィンドウを閉じる
    PATCH INSERT有効化

Light Host側の設定

  1. https://github.com/rolandoislas/LightHost/releasesから,対応するzipをダウンロードする
    Light Hostのダウンロード
  2. 任意の場所に解凍*4して,Light Host.exeを実行する.実行後,ウィンドウが立ち上がるわけではなくて,タスクバーに起動することに注意
    Light Hostはタスクバーに起動する
  3. 左クリックするとメニューが表示されるので,Preferencesを選択する
    設定メニューの選択
  4. デフォルト設定ではAudio device type:がWindows Audioで,規定のデバイスが選択されているが,すべての欄を以下の設定して閉じる*5
    Audio Settingsの変更内容
  5. 次に,Edit Pluginsを選択する
    Edit Pluginsの選択
  6. 表示されるAvailable Pluginsウィンドウ左下のOptions...を押して,Scan for new or updated VST plug-insを選択する
    VSTプラグインのスキャンウィンドウ表示
  7. スキャン先がC:\Program Files\VSTPluginsになっていることを確認し,Scanを押す
    VSTプラグインのスキャン実行
  8. スキャン完了後,以下のウィンドウが表示されるので,rnnoise_stereo.dllが含まれていることを確認してOKを押す
    スキャン完了画面
  9. Available Pluginsウィンドウに利用可能なVSTプラグインが表示されたことを確認し,このウィンドウを閉じる
    利用可能なプラグインにNoise Suppressionプラグインが追加された
  10. 再度,タスクバーのLight Hostを左クリックしてAvailable Pluginsのwerman→rnnoise_stereoを押す
    Available Pluginsからrnnoise_stereoを選択
  11. Active Pluginsの中にrnnoise_stereoが含まれていれば,既に有効となっており,VoiceMeeter Bananaで聞こえるマイク音に適用される.必要に応じてEditを選択してパラメーター設定を実施できる
    Active Plugins内にrnnoise_stereoが追加された
  12. 最後に,Windowsの再起動後も自動でLight Hostが起動できるように,%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startupのフォルダー内にLight Host.exeのショートカットキーを置く

その他

VSTプラグインについて

いくらかバージョンがあるようで,今回はVSTを使用しているが,VST2,VST3がある.イマドキはVST3のようで,各社が販売しているVSTプラグインは,VST3のみの提供に移行しつつあるらしい.また

に置くのが業界標準(?)のよう.

Equalizer APOについて

システム全体にVSTプラグインを適用できる一方で,調べた限りでは,VST2または3は取り扱えない.そのため,最近のVSTプラグイン(≒VST2または3)を取り扱いたい場合は,今回のようにVSTホストを使用するしか方法がない.Audio Stream Input Output(ASIO)に触ってみていて気づいたが,ASIOの場合はWindowsの標準(正しい表現か不明)ドライバーを通らないので,Equalizer APOでのVSTプラグインが適用されない.

VSTホストについて

正直なところ,いろいろありすぎてよくわからない.楽曲製作するわけではないので,無料でなるべく簡単なもの,ということで今回はLight Hostを使用してみた.もっとかんたんなものがあれば,別のものを使用したい.

OBSとVSTプラグインについて

今回は,OBS内部で使用するのではなく,OBSの外でそれらVSTプラグインを使いたかったのでOBSの設定にはふれていないが,OBSではVST2のプラグインは使用できるらしい.さらに,VST3のプラグインについてもWaves社のStudioRackというソフトウェアを使用すると,OBSでもVST3のプラグインが使用できるようである.

全般的な感想

VoiceMeeter Bananaを導入しようとしていて,やっぱり単純にマイク入力をするとノイズがしっかり聞こえるなぁと思ったところより,この対策にたどり着いた.

Twitterを見る限りでは,RNNoise否定派もいるし,確かに歌うVTuberさんのRNNoise適用で高音が消える問題もあるようなので,一概にRNNoiseがよいとも言えないところは納得した.カラオケ配信をする予定はまったくないが,RX 10 Elementsに少し興味がわいた.

改訂履歴

# 日付 内容
1 2023/11/26 Equalizer APOでの適用方法を一部修正
Light Hostを使用したVoiceMeeter Bananaの使用方法を追加,その他を追加
2 2023/12/27 ASIOドライバー利用の場合は適用されない一文を追加

参考サイト

  1. RNNoise for Voicemeter (added to OBS studio V26 beta)
  2. Real-time Noise Suppression Plugin
  3. Free and Open Source Software Noise Cancelling for Working from Home
  4. How To Setup VST Plugins with VoiceMeeter (Light Host)
  5. Light Host

*1:正確にはどうやらまったく同じものではなく,VST Noise Suppressionプラグインというもの

*2:正確には使用するプラグインだけでよい.また,Equalizer APOを使用する場合,C:\Program Files\EqualizerAPO\VSTPluginsも存在するが,通常,VSTプラグインはこのディレクトリーに配置する慣習のためここにコピーする

*3:この時点でconfig.txtに保存されるため,明示的に保存操作をしなくてもOK

*4:フォルダー名Light Host 1.2.1 Win64をLight Hostに変更して,C:\Program Filesの中に配置するのがオススメ

*5:必要に応じて,Show advanced settings...にてサンプルレートとバッファーサイズを変更する