私はオーディオを私のスピーカー用、放送用(ビデオチャットまたは他のストリーム用)、およびその両方のために分割する方法を見つけました。
これが私が今まで持っているものです~/.pulse/default.pa
:
# Swap channels of workstation speakers
load-module module-remap-sink sink_name=reversed-speakers sink_properties='device.description="Reversed speakers"' master=alsa_output.usb-0c76_USB_PnP_Audio_Device-00.iec958-stereo channels=2 master_channel_map=front-left,front-right channel_map=front-right,front-left
# Virtual sinks for myself, broadcast, and both
load-module module-null-sink sink_name=for-me sink_properties='device.description="For me"'
load-module module-null-sink sink_name=for-broadcast sink_properties='device.description="For broadcast"'
load-module module-null-sink sink_name=for-all sink_properties='device.description="For all"'
# Split for-all to me and to broadcast
load-module module-loopback source=for-all.monitor sink=for-me
load-module module-loopback source=for-all.monitor sink=for-broadcast
# Point the microphones at the broadcast
load-module module-loopback source=alsa_input.usb-046d_C922_Pro_Stream_Webcam_266FB1AF-02.iec958-stereo sink=for-broadcast
load-module module-loopback source=alsa_input.usb-0c76_USB_PnP_Audio_Device-00.iec958-stereo sink=for-broadcast
load-module module-loopback source=alsa_input.pci-0000_00_1f.3.analog-stereo sink=for-broadcast
# Point everything aimed at me to the (flipped) speakers
load-module module-loopback source=for-me.monitor sink=reversed-speakers
# By default things should go just to me
set-default-sink for-me
# By default things should get the for-broadcast input
set-default-source for-broadcast.monitor
これは素晴らしい作品です。聞きたいかどうかに応じて、特定のアプリを「放送用」または「全員用」に指定して放送するだけです。
起動時にボリュームを設定する方法が見つかりませんでした。 「For Me」および「For Broadcast」ループバックに対して、それぞれ-6dBおよび-12dBのソース出力レベルが必要です。
(たとえば)pavucontrolで手動で設定できますが、再起動時にみんなLoopbacksのソース出力ボリュームは最終的に同じ低レベルで終わりました(-6か-12かを覚えていません)。
このボリュームを同時に設定するオプションが見つからず、ファイルload-module module-loopback
に作成されるとdefault.pa
すぐにループバックインデックスをset-source-output-volume
実行する方法もわかりません。