ubuntuで流れている音をsoxで録音する 2

 これの続き。

doroyamada.hatenablog.jp

 いつの間にかrec の-dオプションが効かなくなった。指定してあってもUA-30の音が録音されている。録音を開始してからpavucontrolでGUI切り替えするとそのディバイスの音を録音可能。

 しばらくあれこれいじっていて、謎解明。いろいろ試している時にpacmd set-default-sourceをやっていたせいだった。修正。切り換えが成功したかどうかのメッセージは出ないけど、失敗したときだけエラーが出るもよう。

kazz@oscar ~# pacmd set-default-source alsa_output.pci-0000_01_05.1.hdmi-stereo.monitor

 逆に、-dオプションはまるごと削除しても録音は可能だった。こちらの方が優先されるのか。そういえばdefault sinkの方もかなり優先順位が高かった。

 解明前に、他の方法としてparecコマンドへの切り換えも考えたけど、録音時間指定ができなそうだったのでパス。

 ちなみにsinkとsourceのリスト。

kazz@oscar ~/bin/sound# pacmd list-sinks|grep name:
	name: <alsa_output.pci-0000_01_05.1.hdmi-stereo>
	name: <alsa_output.pci-0000_02_00.1.hdmi-stereo>
	name: <alsa_output.usb-Roland_UA-30__48000Hz__Digiral_REC_-00.analog-stereo>
kazz@oscar ~/bin/sound# pacmd list-sources|grep name:
	name: <alsa_output.pci-0000_01_05.1.hdmi-stereo.monitor>
	name: <alsa_output.pci-0000_02_00.1.hdmi-stereo.monitor>
	name: <alsa_output.usb-Roland_UA-30__48000Hz__Digiral_REC_-00.analog-stereo.monitor>
	name: <alsa_input.usb-Roland_UA-30__48000Hz__Digiral_REC_-00.analog-stereo>
kazz@oscar ~/bin/sound# 

 流れている音をキャプチャする時のディバイス名には.monitorがつく。