没有麦克风的 sox 和 rec

没有麦克风的 sox 和 rec

我正在尝试录制扬声器的输出,但当我这样做时,它也会从麦克风录制。我只想录制非麦克风设备。

试:

$ (AUDIODEV=hw:0,0; rec test.mp3)    
$ rec -d hw:0,0 test.mp3

我也尝试过 ffmpeg:

$ ffmpeg -f alsa -i hw:CARD=PCH,DEV=0 test.mp3
$ ffmpeg -f alsa -i front:CARD=PCH,DEV=0 test.mp3
$ ffmpeg -f alsa -i surround40:CARD=PCH,DEV=0 test.mp3

我见过一些复杂的东西,例如:

$ parec -v -d analog-output-speaker | sox -t raw -e signed-integer b 16 -r 44100 -c 2 test.mp3

在线提出,但这仍然记录麦克风,并带有过时的 sox 选项。

如何在 ubuntu 14.04+ 中仅记录非麦克风输入?

答案1

脉冲音频

  1. 检查可用资源

    $ pactl list short sources
    0    alsa_output.pci-0000_00_05.0.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    1    alsa_input.pci-0000_00_05.0.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    
  2. 指定监视设备作为录音命令的输入。

    • 使用avconv/ffmpeg

      安装它(仅适用于avconv

      sudo apt-get update
      sudo apt-get install libav-tools
      

      记录使用:

      avconv -f pulse -i alsa_output.pci-0000_00_05.0.analog-stereo.monitor test.mp3
      

      或者

      ffmpeg -f pulse -i alsa_output.pci-0000_00_05.0.analog-stereo.monitor test.mp3
      

      据我所知,Ubuntu 只安装了一个工具,另一个只是别名(之后,libav 从 ffmpeg 分叉)

      $ file /usr/bin/avconv 
      /usr/bin/avconv: symbolic link to ffmpeg
      
    • 使用sox

      安装所需的格式

      sudo apt-get install libsox-fmt-pulse libsox-fmt-mp3
      

      或者使用这个来安装所有格式

      sudo apt-get install libsox-fmt-all
      

      记录使用:

      sox -t pulseaudio alsa_output.pci-0000_00_05.0.analog-stereo.monitor -t mp3 test.mp3
      

阿尔萨斯大学

直接使用ALSA,参考:https://trac.ffmpeg.org/wiki/Capture/ALSA

检查录音设备

arecord -l

记录(改变相应的<card><device>索引)

ffmpeg -f alsa -i hw:<card>,<device> test.mp3

GUI 工具

还有一些高级 GUI 工具,例如:大胆

答案2

此方法显示如何录制计算机上正在播放的任何音频,类似于在 Windows 中录制“立体声混音”。这使得录制任何应用程序播放的音频(包括 Flash 视频)成为可能。

我使用的是 Ubuntu 标准安装中的录音机应用程序。要使用其他程序(如 Audacity)进行设置,只需按照这些说明进行替换即可。

  1. 使用或 Ubuntu 软件中心安装pavucontrol(PulseAudio 音量控制) 。apt-get
  2. 打开 PulseAudio 音量控制。它应该位于应用程序菜单的“声音和视频”下。
  3. 打开录音机并开始录音。此时播放任何声音都会有所帮助,因为一旦完成,您的音量指示器就会做出反应。
  4. 转到 PulseAudio 音量控制窗口中的“录音”选项卡。
  5. 确保在“录制”选项卡的下拉菜单中选择了“应用程序”。
  6. 从应用程序列表的录音机条目中的“录制流来自”菜单中选择“内部音频模拟 Atereo 监视器”。

这似乎是持久的,所以您只需执行一次,但您必须重复这些步骤才能在另一个应用程序中进行记录。

本答案全部归功于这个帖子

相关内容