私の側でアプリケーションを聞くことができますが、私のアプリケーションのオーディオを仮想マイクロルーティングしようとしています。それではどうすればいいですか?
ベストアンサー1
PulseAudioにはオーディオがありますソース(音が出る場所、例:マイク)流し(例:スピーカーで接続する場所)源泉、オーディオを再生するアプリケーションは、流し。残念ながら、アプリケーションの出力(aシンク入力)はソースと見なされず、録音することはできませんが、それを解決する方法があります。
非常に簡単な設定では、「モニターソース」を使用して、現在聞いているすべてを録音できます。すべてのPulseAudioシンクは、pactl list short sources
このシンクの名前(名前はで終わる.monitor
)を見つけるために実行できます。 PulseAudioを使用する他の録音プログラムparec --record --device $SOURCE
がある場合は、録音が開始された後にpavucontrol
GUIを使用してタブのソースを変更できます。Recording
特定のアプリケーションだけを録音したい場合は、もう少しトリッキーです。 PulseAudioには、これをサポートするいくつかの関連モジュールがmodule-null-sink
ありますmodule-combine-sink
。
- ヌルシンクモジュールは、何も接続されていないシンクを生成します。アプリケーション出力を接続すると、それ自体はあまり役に立ちませんが、すべてのシンクと同様に、録音できるモニターソースがあります。 、ここにアプリケーションを接続すると、すでに隔離録音ができますが、これ以上直接聞くことはできません。
- 結合シンクモジュールは、受信したすべての入力を2つの異なるシンクに転送する新しいシンクを生成します。新しい結合シンクに送信することが両方のシンクに送信するのと同じであるという点で、名前は少し混乱しています。このシナリオでは、サウンドカードとヌルシンクを結合し、アプリケーション出力を新しい結合シンクに接続します。
次のようにこれらのシンクを作成できます(pactl list short sinks
結合シンクで使用するシンク名を見つけるために使用)。
pactl load-module module-null-sink sink_name=nullsink
pactl load-module module-combine-sink sink_name=combine slaves=nullsink,alsa_output.pci-0000_00_1b.0.analog-stereo
ここで説明されているように、接続を変更して結合pavucontrol
シンク(「同時出力...」)で再生するようにアプリケーションを設定し、ヌルシンクで録音するようにレコーダーを設定することが含まれます(「ヌル出力」)。
CLIを使用してこれらの接続を確立することもpactl
可能ですが、より複雑になる可能性があります。