我通过 Skype 处理业务。有时,当我与客户交谈时,他们很快就会给出很多指示。如果有一种方法可以记录对话,以便我可以在以后需要时收听它们,那就太好了。
我注意到有人建议使用“recordmydesktop”、“xvidcap”和“ffmpeg”进行录制。但是,我不想录制视频。我只想录制语音通话当我戴着耳机时。这意味着我应该能够录制声音排队,不要通过拔出耳机并将客户放在扬声器上来进行外部录制(我知道他们可以听到,但他们不喜欢)。
如果您知道可以解决我在 Debian 6 系统上的问题的方法,请告诉我。
答案1
通过 ALSA 仿真
我没有 Debian 6.0.x 机器可供测试,但我认为这种方法可能会起作用。礼貌Arch wiki 上的示例。
首先,使用pacmd list-sources
查找声卡监听流的名称。 Grep for.monitor
效果很好:
$ pacmd list-sources | grep '\.monitor'
name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
name: <alsa_output.usb-stereo-link_stereo-link_1200_USB_DAC-00-DAC.analog-stereo.monitor>
我有两张卡,因此有两个显示器。然后编辑您的~/.asoundrc
设置为其设置 ALSA 设备,添加如下行(但当然使用您的监视器设备名称,而不是我的):
pcm.pulse_monitor {
type pulse
device alsa_output.usb-stereo-link_stereo-link_1200_USB_DAC-00-DAC.analog-stereo.monitor
}
ctl.pulse_monitor {
type pulse
device alsa_output.usb-stereo-link_stereo-link_1200_USB_DAC-00-DAC.analog-stereo.monitor
}
然后用arecord -f s16_le -t wav -r 44100 -D pulse_monitor /tmp/outfile.wav
它来记录。
较旧的 PulseAudio 实用程序
parecord
您可以在上面找到的显示器上使用,而不是使用 ALSA 仿真。这样做:parecord -d alsa_output.usb-stereo-link_stereo-link_1200_USB_DAC-00-DAC.analog-stereo.monitor outfile.wav
。这也应该适用parec
(在下面的 LAME 示例中)
较新的 PulseAudio 实用程序
PulseAudio 附带了一个parecord
命令行实用程序,可以记录通过它的声音。
要使用它,首先找到要捕获的流的索引。从命令行的简单方法是pacmd list-sink-inputs
,它应该给出如下内容:
1 sink input(s) available.
index: 10720
driver: <protocol-native.c>
⋮
client: 87 <Chromium>
⋮
我省略了一堆行;但你可以看到那是 Chromium(我在其中运行音乐播放器)。这index: 10720
一点很重要。
想要记录下来,就这么简单parecord --monitor-stream 10720 outfile.wav
。您还可以将输出写入 stdout 并将其用作管道的一部分parec
;例如,如果您的磁盘空间不足,您可以直接编码为 MP3:
parec --monitor-stream 10720 --format s16le --channels 2 --rate 44100 \
| lame -r -s 44.1 -b 16 --signed --little-endian --preset medium /dev/stdin outfile.mp3