Pulseaudioで2つの入力ソースをミキシングする方法(SimpleScreenRecorderを使用してマイクとスピーカーを録音する場合)

Pulseaudioで2つの入力ソースをミキシングする方法(SimpleScreenRecorderを使用してマイクとスピーカーを録音する場合)

私はLinuxでSSR(SimpleScreenRecorder)を使用して会議を録画しています。

基本構成としてPulseaudioを使用しています。

SSRが画面とオーディオを録音すると、スピーカーの出力は録音されますが、マイクは録音されません。pactl load-module module-loopback latency_msec=1マイクがスピーカーに接続され、SSRが両方とも録音できるようにSSRを使用してループバックを作成できることを認識していますが、ヘッドフォンを使用しないとフィードバックとLarson効果が生成されます。

明らかに、SSRに2つのオーディオソースを同時に録音するように要求することはできません。 SSRがその仮想ソースから録音するように指示できるように、スピーカーとマイクを含む仮想Pulseaudioソースを作成する方法はありますか?

私が読んだときアプリケーションとマイクを1つの入力に混在させる、マイクとスピーカーをルーティングできる仮想スピーカーを作成でき、SSRはここからコンテンツを読むことができます。しかし、まだ会議中にマイクとスピーカーが正常に動作したいと思っています。

方法が合わない場合は、SSRからOBSに切り替える必要があります...

ベストアンサー1

マイクとスピーカーの出力を同時に録音するには、仮想スピーカーと2つのループバックモジュールを作成します。 1つはマイクを仮想スピーカーにミラーリングし、2つ目はスピーカーをミラーリングします。次に、対応する仮想スピーカーのモニタリングをssrに記録することを選択します。

注文する:

pactl load-module module-null-sink sink_name=both sink_properties=device.description=Both-mic-and-speakers
pactl load-module module-loopback source=alsa_output.pci-0000_00_1f.3.analog-stereo.monitor sink=both
pactl load-module module-loopback sink=both

alsa_output.pci-0000_00_1f.3.analog-stereoスピーカーの名前に変更してくださいpactl list sinks short

ただし、このソリューションには次の欠点があります。

  • すべてのアプリケーションの音を録音します。
  • システムボリュームは録音ボリュームに影響します(したがって、ボリュームを20%に設定すると、録音は非常に静かです)。これをマイクの音量(100%かもしれません)の影響を受ける音声と比較してください。
  • ヘッドフォンで録音しないとエコーが発生します。

より複雑なスクリプト(単一のアプリケーションを記録するために使用)を使用すると、最初の2つの問題を軽減できます。

pactl load-module module-null-sink sink_name=fake_speakers sink_properties=device.description=Virtual-speakers
pactl load-module module-remap-source source_name=fake_mic master=fake_speakers.monitor source_properties=device.description=Virtual-mic
pactl load-module module-null-sink sink_name=fake_speakers2 sink_properties=device.description=Second-virtual-speakers
pactl load-module module-loopback source_dont_move=true sink_dont_move=true sink=fake_speakers2 source=fake_speakers.monitor
pactl load-module module-loopback sink_dont_move=true sink=fake_speakers2
pactl load-module module-remap-source source_name=fake_mic2 master=fake_speakers2.monitor source_properties=device.description=Second-virtual-mic
pactl load-module module-loopback source_dont_move=true source=fake_speakers.monitor

次に、アプリケーションの受信機を仮想スピーカーとして設定します。次に、SSRオーディオソースをSecond-Virtual-micに設定します。アプリの音は聞こえますが、SSRは選択したアプリとユーザーの音声のみを録音し、すべての音量はデフォルトで100%に設定され、ユーザーが制御できます。サウンドレイテンシが発生した場合は、ループバックにレイテンシ_msecパラメータを追加してみてください。

おすすめ記事