我怎样才能记录从我的扬声器发出的声音(而不是进入麦克风的声音)?

How can I record that sound going out of my speakers (not what's coming into the mic)?

我正在尝试录制我的计算机发出的声音(不使用麦克风)

我发现这两个命令可以将我的 麦克风 输出记录到文件中:

# creates mp3
arecord -f cd > my_file.mp3

# creates ogg
arecord -f cd -t raw | oggenc - -r -o out.ogg

但是我不确定如何直接录制扬声器中的音频。


我应该注意到,我已经弄清楚如何使用 PulseAudio 和 Audacity 来做到这一点 - 有一个很好的教程 here 但是它破坏了我的麦克风输入,而且我希望能够从命令行。

5个月后重温,终于明白了。

来自回答here

  1. sudo apt-get install pulseaudio-utils lame mpg123
  2. pacmd list-sinks | grep -e 'name:' -e 'index' -e 'Speakers',找到 <> 括号之间的字符串 - 对我来说是 alsa_output.pci-0000_00_1b.0.analog-stereo
  3. 开始播放一些音频
  4. parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor | lame -r -V0 - out.mp3
  5. control + c 停止

现在是棘手的部分,由于某种原因无法使用 aplay 收听文件 - 它听起来像是静态的。请改用 mpg123 收听。