web-dev-qa-db-ja.com

Linuxでサウンドを取得して特定のことを行う方法を知る必要があります

私が欲しいのは、2つの異なるアプリケーションのサウンド出力を互いに分離し、それをサウンド編集プログラムにパイプすることです。

必要なのは、再生タブに出力するエントリをレコードに追加する方法です。これらのうち2つが必要です。これらの2つの接続を確立するためのalsa(配管)コマンド、またはフォノンがあるかどうかはわかりませんか?

app1(output) > inputA --- outputA > editing app (input1)
app2(output) > inputB --- outputB > editing app (input2)

そこで、出力デバイスを編集アプリケーションの入力デバイスとして設定します。これにより、同じ編集アプリケーションで2つの別々のオーディオソースが得られます。

3
user353378

Pulseaudioを使用し、ヌルシンクを使用しない場合:

pavucontrolを開始します。すべてのアプリケーションを起動します。 Output Devicesを選択し、app1が使用している出力デバイスを確認します。 Input Devicesを選択し、input1editing appを今見た出力デバイスの.monitor入力に設定します。

これは、app1が生成する音を聞きたくないが、editing appの音だけを聞きたい場合には不便です。したがって、nullシンクを作成します。

pacmd load-module module-null-sink sink_name=app1sink

再びpavucontrolで、app1の出力デバイスをapp1sinkに設定し、input1editing appapp1sink.monitorに設定します。

追加のapp2を使用するか、同じnullシンクを使用して、app2sinkに対して同じことを行うことができます。後者の場合、app1app2のサウンド出力がミックスされます。 pavucontrol(またはアプリ内音量コントロール)を使用して、追加ごとに個別に音量を調整できます。

editing app(名前を付けなかった)が実際に2つの異なるALSA/Pulseaudio入力を使用できず、上記のように単一のnullシンクを単純に混合することに満足できない場合は、もう少し複雑になります-その場合、Pulseaudioでapp1app2を混ぜたいhowを決める必要があるので、editing appの単一の入力は何か便利なことをします。

0
dirkt

[〜#〜] jack [〜#〜] そのようなことができます。

一部のアプリケーションのみがJACKをサポートしている場合は、 JACKとALSA間のルーティング を実行する必要があります。

どのアプリケーションもJACKをサポートしていない場合は、snd-aloopドライバーを使用して仮想サウンドカードを作成できる可能性があります。

0
CL.