仮想オーディオ出力を生成し、Ubuntuベースのディストリビューションからルーティングする方法

仮想オーディオ出力を生成し、Ubuntuベースのディストリビューションからルーティングする方法

私はUbuntu 16.04.1に基づくElementaryOS 0.4.1 Lokiを使用しています。

使いたいOBS、ゲームプレイと同じビデオゲームのサウンドを録音するスクリーンレコーダーです。ゲーム中にバックグラウンドでボイスチャットアプリを使用したいのですが、OBSは何も録音したくありません。

OBSは特定のプログラムのオーディオを選択的に無視することはできませんが、指定された入力デバイスのサウンドを録音することはできます。

ここに画像の説明を入力してください。

ダミー入力を生成し、pavucontrolの出力リストを使用してボイスチャットアプリケーションをその入力にルーティングして、OBSがそれを選択できないようにしたいと思います。また、この入力をヘッドフォン/ライン出力ポートで再生したいと思います。

ここに画像の説明を入力してください。

仮想オーディオケーブルなどのソフトウェアを使用してWindowsでこれを行うことができることはわかっていますが、Linuxで同じことを行う方法はわかりません。

何かをするためにsudo modprobe snd-dummyを試しましたが、仮想デバイスをヘッドフォン出力にルーティングすることはできません。

この問題にどのように対処する必要がありますか?

ベストアンサー1

繰り返しますが、シングルプログラムまたはプログラムグループA(ゲーム)はOBSとヘッドセットの両方にサウンドを出力し、他のプログラムまたはプログラムグループB(ボイスチャット)はヘッドセットにのみサウンドを出力する必要があります。 、すべてPulseaudio評価です。正しいですか?

を使用しないでくださいsnd-dummy。 ALSAレベルです。代わりに、Pulseaudioレベルで「空の受信機」を作成します。

pacmd load-module module-null-sink sink_name=game_sink sink_properties=device.description=Game-Sink

pavucontrolまたは、可能であれば、基本OSのサウンド構成を使用して、すべてのグループAサウンド出力をこのレシーバーに切り替えます。 Pulseaudioの各レシーバーには対応するモニターソース(付属のOBSメニューに表示されます)が付属していますので、ゲームレシーバーモニターで録音するようにOBSを設定してください。

これはグループAの録音のみを処理し、ヘッドフォンに出力しません。これを行うには、上記の監視ソースからヘッドフォン受信機へのループバックが必要です。

pacmd load-module module-loopback source="game_sink.monitor" sink="your-headphone-sink"

ヘッドフォン受信機を含むすべての受信機の名前を見つけることができます。

pacmd list-sinks | grep name:

名前を引数として使用する場合は、山括弧を省略してください。

おすすめ記事