Pulseaudioシンクを仮想ソースにリダイレクト

Pulseaudioシンクを仮想ソースにリダイレクト

Zoom(ビデオ会議ソフトウェア)で問題のあるサウンドを再生できるように、プログラム(私の場合はffmpeg)のサウンドをソースにリダイレクトしようとしています。これを行う一般的な方法は、各シンクにモニターがあるため、SinkName.monitorソースをZoomのソースとして選択することです。しかし:

1)Zoomは、マイクのドロップダウンリストに監視ソースを一覧表示しません。 Zoomがそれを許可するように欺くために、ディスプレイのdevice.classプロパティを "sound"("display"の代わりに)に設定しようとしましたが、役に立ちませんでした。

2)Zoomはpavucontrolでソースを直接設定することを拒否するようです。録音タブでZoomに聞こえるように他のソースを設定しようとすると、何を選択しても選択は無視されます。ドロップダウンオプションも変更されていません。 ~/.alsoftrc を生成して「[pulse]」(新しい行)「allow-moves=yes」を書くと、役に立つかもしれないことをどこかで読んだが、何の役にも立たなかった。

だから私は自分のソースを設定し、「サウンドをそのソースにリダイレクト」してみました。私は空のシンク、空のソース、ループバックを作成しましたが、pavucontrolを開いた後、ループバックはソースをシンクにリダイレクトするために使用されたようです。逆ではありません(pavucontrol再生の下には、[[...] MySinkのMySourceループバック)が表示されます。ここで、MySinkは右のドロップダウン値です。

私が望むことを達成する方法はありますか?誰でも:

a) 通常のマイクのようにモニターを変更します。

b)受信機の音をソースにリダイレクトしますか?

ありがとうございます。

ベストアンサー1

Zoomでアプリケーションオーディオを共有すると、Linuxでは次の設定が機能します。マイクとアプリケーションのオーディオをZoomに供給しているままにします。ただし、最後に述べたように、どちらか一方を使用するように変更することもできます。

マイクといくつかのアプリケーションオーディオをミキシングする受信機を作成します。

pactl load-module module-null-sink sink_name=mix-for-virtual-mic \
sink_properties=device.description=Mix-for-Virtual-Microphone

アプリケーションオーディオを受信して​​、スピーカーと作成したばかりの特別なハイブリッド受信機に送信する受信機を作成します(alsa_output….analog-stereo受信機の名前に置き換えます。を参照pactl list sinks short)。

pactl load-module module-combine-sink sink_name=virtual-microphone-and-speakers \
slaves=mix-for-virtual-mic,alsa_output.pci-0000_00_1b.0.analog-stereo

実際のマイクをミックスレシーバーに再接続します(alsa_input…analog-stereoソース名と交換、参照pactl list sources short)。

pactl load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo \
sink=mix-for-virtual-mic latency_msec=20

Zoomがマイクが何であるかをどのように決定するのかわかりません。モニターを使用するように言うことはできませんがecho-cancel(Paulが説明したように)聞きます。実際にキャンセルしたいエコーがないので、キャンセルする偽の受信機を作成してください。

pactl load-module module-null-sink sink_name=silence \
sink_properties=device.description=silent-sink-for-echo-cancel

最後に、Zoomが検出するマイクとして機能するエコー除去ソースを作成します。

pactl load-module module-echo-cancel \
sink_name=virtual-microphone source_name=virtual-microphone \
source_master=mix-for-virtual-mic.monitor sink_master=silence aec_method=null \
source_properties=device.description=Virtual-Microphone \
sink_properties=device.description=Virtual-Microphone

Zoomのマイクセクションに仮想マイクが表示されます。

アプリケーションオーディオを仮想マイクロ送信するには、pavucontrolアプリケーションの受信機をMix-for-Virtual-Microphone(仮想マイクのみに送信)に設定するか、..の「Also Output Mix-for-Virtual-Microphone」に設定します。マイクとスピーカーに送信します。

「出力図...」で音量を変更すると、マイクの実際の音量に関係なく、仮想マイクやスピーカーのアプリケーションオーディオをミュートしたり、音量を変更したりできますpavucontrol

もちろん、「入力デバイス」セクションでマイクをミュートしてアプリケーションオーディオのみを共有できます。

わかりやすくするために、この設定を視覚化すると次のようになります。

設定図

おすすめ記事