Linux PluseAudio で マイクをスピーカーにつなぐ
概要
NeosVRをUbuntu 20.04上のSteam上で動作させた。 ほぼ問題なく動作するが、マイクの音声が読み込まれない。 スピーカーをマイクとして設定するとNeosVR上のインジゲーターが振れる。
マイク自体が壊れていない事は、マイクの音をAudacityで録音できる事で確認した。
LinuxのProton(Wine)で動作させているため、あまりマイク関連の設定項目はないので、 「LinuxのPulseAudio側でマイクとスピーカーを接続」して、 スピーカーをNeosVRに接続することにする。
環境
- Ubuntu Studio 21.04
- Jack ではなく PluseAudio を利用
手順
手動で下記を実行して動作を確認した。
$ pacmd load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'
$ pacmd load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=null.mic
~/.config/pulse/default.pa には下記を追記
# マイク
# http://itline.jp/~svx/diary/?date=20200421#p22
load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'
load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=null.mic
意図
PulseAudioにはヌルデバイスと呼ばれる「最初は物理デバイスが何も紐付かないデバイス」を作れる。
$ pacmd load-module module-null-sink sink_name=null.mic sink_properties=device.description='Null_Mic'
上記を実行し、pavucontrolでオーディオ関連を確認すると、物理的なデバイスが紐付いていない下記の2つが追加されている。
更にループバックモジュールを使いながら、下記のように物理デバイスをスピーカーに紐付ける。
$ pacmd load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=null.mic
このようにすると「マイクからの入力をスピーカーに紐付ける」ということができる。