DAWと他のアプリケーションから同時に音声を流す方法(windows環境)

こんにちは( ・ ̫・ )
これまでDTMにはフリーのDAW(Reaper,Cakewalk)を使用していましたが、先日ふと思い立ってCubaseを導入してみました。

国内シェアNo.1を誇っているだけあり、機能や情報が豊富でウキウキ₍₍ ◝( ´ω´ )◟ ⁾⁾だったのですが、過去に使っていたDAWでは見られなかったDAWと他のアプリケーションから同時に音声を流せない』という問題が発生。
DAWを起動しながらYoutubeDTM講座や耳コピ補助アプリを利用したい私のようなか弱い子羊には深刻過ぎる悩みです。

なにかいい解決策ないかなーと同じ問題を訴える投稿を求めて質問サイトを右往左往したところ、

  • macOSにはこの問題を解決する『Core Audio』というフレームワークが標準搭載されている。つまり、これはwindowsユーザー特有の問題である。
  • マルチクライアント対応のオーディオインターフェース*1を持っていないのが悪い。黙って買え。
  • そもそもDAW起動しながら他の音声聞くって何?笑笑

といった回答が散見されました。
windowsでもハードウェアに頼らずソフトウェア上で解決できそうに思えたためもう少し調べたところ、簡潔かつ無料で解決できる方法を発見したため、備忘録としてここにまとめておきます。

問題のまとめ

解決策

  • フリーソフト『VoiceMeeter Banana*2を用いて仮想オーディオデバイスを複数個定義し、それらの出力信号を1つにまとめて物理(ハードウェア)オーディオデバイスへ転送する

詳細な手順

  1. VoiceMeeter Bananaを公式サイトからダウンロード&インストール

  2. windowsタスクバー右下のサウンドアイコンを右クリックして「サウンド」を選択し、「再生」タブから『VoiceMeeter Input』を選んで既定のデバイスに設定するf:id:march_poppintail:20210411074107p:plain
    これにより、特別な設定をしていないアプリケーションの音声信号は全て『VoiceMeeter Input』という仮想オーディオデバイスに送られます。
    注意:この状態のままではイヤホンやスピーカーから音が出ないはずです。

  3. オーディオデバイスを専有するDAWの設定を変更し、音声出力を『VoiceMeeter AUX Virtual ASIO』に変更する

    f:id:march_poppintail:20210411074407p:plain
    Cubaseの場合
    これで、DAWから出る音声信号は他のアプリケーションとは別の仮想オーディオデバイスに送られることになります。やはりこのままでは音は聞こえません。

  4. VoiceMeeter Bananaの設定画面を起動し、右上にある出力先ハードウェアオーディオデバイスを環境に合わせて設定する

    f:id:march_poppintail:20210411080427p:plain
    ここでは、3つある出力先のうち「A1」にPC上部のイヤホン端子と対応するデバイスを設定しています。WDMとかMMEに関しては各自調べて


  5. 最後に、2つの仮想オーディオデバイスの出力をそれぞれ先ほど設定したハードウェアオーディオデバイスと紐づける

    f:id:march_poppintail:20210411081002p:plain
    各仮想オーディオデバイスから出力される信号の宛先を両方「A1」にしました。*3
    これで、DAWの音声とその他の音声が両方とも1つのハードウェアオーディオデバイスから流れるようになります。問題なく設定できていれば、イヤホン等から音が聞こえるようになっているはずです。



まとめ

以上の手順により、当初の問題は解決できたと思います。一安心。
今後、レイテンシー等が気になるようなら細かい設定が必要になるかもしれません。

今回導入したVoiceMeeter Bananaはフリーソフトとは思えないほどに高機能かつ扱いやすく感じました。この先もいろいろな場面でお世話になりそうです。*4

おしまい\(  ¨̮ )/*5




*1:おそらく2~3万円が相場

*2:仮想オーディオデバイスを提供するアプリケーション。リアルタイムで複数音声のmixを行える他にも様々な機能を持ち、生配信・Discordでの通話・動画の録画など、多彩な用途で用いられる。

*3:画像のように、各仮想オーディオデバイスへの名付けもできます。

*4:ゲーム画面の録画をするとき、作業用BGMを簡単にカットできるのはうれしいですね

*5:この顔文字をmarkdownで記述するの地味にむずかった。特殊文字+空白はやっかいらしい