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

 現在スピーカーから流れている音を録音するのに一番手っ取り早いのはAudacityで録音すること。とはいえ、やっぱりコマンドラインでなんとかしたほうがかっこええやん。

 まずはディバイス名を取得。

kazz@oscar ~# pactl list short sources
0	alsa_output.pci-0000_01_05.1.hdmi-stereo.monitor	module-alsa-card.c	s16le 2ch 44100Hz	RUNNING
1	alsa_output.usb-C-Media_INC._USB_Audio-00.iec958-stereo.monitor	module-alsa-card.c	s16le 2ch 48000Hz	RUNNING
2	alsa_output.usb-Roland_UA-30__48000Hz__Digiral_REC_-00.analog-stereo.monitor	module-alsa-card.c	s16le 2ch 48000Hz	RUNNING
3	alsa_input.usb-Roland_UA-30__48000Hz__Digiral_REC_-00.analog-stereo	module-alsa-card.c	s16le 2ch 48000Hz	RUNNING
4	alsa_output.pci-0000_00_14.2.analog-stereo.monitor	module-alsa-card.c	s16le 2ch 44100Hz	RUNNING
5	alsa_input.pci-0000_00_14.2.analog-stereo	module-alsa-card.c	s16le 2ch 44100Hz	RUNNING
kazz@oscar ~# 

 このディバイス名をコマンドラインで指定する。

kazz@oscar ~# rec -t pulseaudio alsa_output.usb-C-Media_INC._USB_Audio-00.iec958-stereo.monitor outfile.wav trim 0 3600

 これは3600秒録音する場合。

 役に立ったページ。
askubuntu.com

 GUIとCUIの折衷策として、pavucontrolで録音ディバイスを指定するという手もある。まず録音を開始することが必要。でないと録音ディバイスが表示されない。

 ネタ元。
ragranje.blog73.fc2.com