Ubuntuを再起動すると入力デバイスが変わって音が拾えなくなる問題が起きていたのだけど、デバイス接続時にPulseAudioがデフォルトデバイスを自動切り替えする機能を切ればよくなりそうなので、無効にする方法をメモしておく(この環境では結果的にUSBオーディオデバイスがいくつもぶら下がっている形になっているので、認識順やつないでいる状態で順番が変わったりするのだと思う。バスパワーのハブにつながったカメラが怪しい)
PulseAudio 自動切り替えの無効化
自動切り替えを無効化するには、/etc/pulse/default.pa のmodule-switch-on-connectの記述をコメントアウトする。
### Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794) ##.ifexists module-switch-on-connect.so ##load-module module-switch-on-connect ##.endif
デフォルト入出力デバイスの設定
これの前はデフォルトの設定を変える方法を試していたので、それも併せてメモしておく。1. デバイスのnameを探す
汎用的には、pacmd list-sources / pacmd list-sinks でデバイスのname:を探す。$ pacmd list-sources (略) * index: 8 name: <alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback> (略)
ここで出てきたname: を後で使う。アスタリスクは今デフォルトに選ばれているもの。
GNOMEの設定の「サウンド」で選択していれば、pactl get-default-source / get-default-sinkでも得られる。
$ pactl get-default-source alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback
2. 設定ファイルに記述する
/etc/pulse/default.pa.d/00-default-device.conf に以下のように記述する。set-default-source alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback set-default-sink alsa_output.usb-Resonessence_Labs_Resonessence_Labs_HERUS-00.iec958-stereoなお、pactlコマンドでも変えることができるので、シェルスクリプトに書くのも可。
$ pactl set-default-source alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback
参考
安定のArchWiki。