如何记录输出到扬声器?


98

Ubuntu是否有一个程序可以只录制扬声器输出的声音,而不能录制PC外部的任何声音?


1
为什么要从计算机内部录制声音?
jPlatte

1
有一个虚拟的钢琴网站,我想一边弹钢琴,一边从耳机听而不是大声地录制下来。
AmirRazoR 2012年

4
因此,您只想记录网站的输出声音?我认为这里几乎每个人都以为您在谈论计算机组件的声音:D
jPlatte 2012年

我对类似问题的回答可能会有所帮助:askubuntu.com/questions/167061

2
另请参阅如何使用Ubuntu和Audacity录制内部和外部任何声音。有这个答案没有工作对我来说,这里不像给出所有答案。
Ruslan

Answers:


124

如果我没看错,那么我猜您正在谈论录制“立体声混音”或回送输出。

用外行的话来说,“录制立体声混音”意味着录制扬声器输出的声音。

方法如下:

  1. pavucontrol从Ubuntu软件中心安装。
  2. audacity从Ubuntu软件中心安装。
  3. pulse*在Audacity中选择作为录音设备。
  4. 单击记录按钮。
  5. 打开PulseAudio音量控制(在Dash中搜索PulseAudio音量控制)。
  6. 选择“录制”选项卡。
  7. 现在,您应该看到ALSA插件[audacity]。如果您没有看到ALSA插件[音频],请确保已单击“大胆”中的“录制”按钮。执行下一步时,您应该以大胆的方式运行录制。
  8. 选择“从*监视”。参见屏幕截图。 PulseAudio音量控制的屏幕截图
  9. 现在,您应该可以录制从扬声器或耳机听到的声音了。

注意:已在Ubuntu 12.10
参考PulseAudio中进行过测试-Ubuntu Wiki


2
我的确找到了“ pulse”,但找不到“ pulse:Mix:0”或类似mix 0的东西。 :mix:0?
AmirRazoR 2012年

@AmirRazoR更新以反映当前版本的Ubuntu。
465544 2012年

1
每个步骤都按照您的描述进行,但是最终Audacity(Ubuntu 14.04)中没有录制任何音频。什么是*pulse*是什么意思?
Drew Noakes 2014年

1
在14.04中还没有尝试过。这里的pulse *是指以pulse开头的任何名称。
465544 2014年

1
在Linux Mint上工作。
possumkeys

57

可以(恰好很明显)将一个非常小的,完全可以满足您需要的软件称为“录音机”,其安装方式如下:

sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update && sudo apt-get install audio-recorder

文件自动保存到~/Audio目录中。

Ubuntu录音机


2
它也像魅力一样起作用!:)
conualfy

2
这很可爱,谢谢!非常整洁,尽管Audacity设置可以工作,但是如果您需要录制音频(到ogg,wav,mp3等),这就是解决方案。
卡尔尼

1
非常简单利落的工具!
SunLiWei 2014年

3
当这个人一键完成您需要的工作时,您为什么还要带着Audacity经历所有的“麻烦”……击败了我。
poelinca

1
@poelinca,因为大胆和脉冲音频是2个非常强大和有用的软件,如果我因为将它们用于其他目的而仍然要安装它们,那为什么还要安装第三个工具来完成当前程序已经可以执行的操作实现?此外,胆大一点对此效果更好,因为您可以在进行所需的部分编码之前和之后切断任何多余的音频。顺便说一句,这很麻烦。奔忙意味着推或偷。
亚伯拉罕·穆尔西亚诺·本扎登

31

命令行

  1. 安装 sudo apt-get install pulseaudio-utils lame mpg123
  2. 搜索您的扬声器并点击扬声器的监听 pacmd list-sinks | grep -e 'name:' -e 'index' -e 'Speakers'在此处输入图片说明

  3. 播放任何您想录制的内容并输入 parec -d alsa_output.pci-0000_00_1f.3.analog-stereo.monitor | lame -r -V0 - out.mp3

  4. 点击ctrl+c以停止录制并播放录制的文件mpg123 out.mp3

简约的GUI

一个非常简单的GUI可以执行此操作,从此处提取所有文件,然后运行install.sh Goto Dash并搜索Record Speakers


5
最好的解决方案... <3
Peque

1
当然是为了播放。对于测试回送记录软件,该软件可以拦截回放的内容也很有用。而parec无法拦截aplay的回放在我的测试在Ubuntu 14.04。
Ruslan

5
考虑移除| lame [...]管道并使用--file-format=wav output.wav(例如)。您可以使用列出支持的格式parec --list-file-formats。另外,请考虑一下以下事实:您需要.monitor在末尾指定设备。^^
Peque

1
很好,因为它可以进行立体声播放录制。看起来大胆无法做到这一点。
彼得·托马森

1
您不一定需要来源的名称...您还可以选择来源的索引:parec -d 0 | lame -r -V0 - out.mp3
和-bri

4

我只是做了一个小别名,用一个命令来记录PC音频输出,并以opus格式而不是mp3格式存储。

  1. 安装所需的软件包:

    sudo apt-get install pulseaudio-utils opus-tools
    
  2. 编辑.bashrc文件:

    nano ~/.bashrc
    

    复制下面的行并将其附加到您的末尾~.bashrc

    alias recaudio="parec --monitor-stream="$(pacmd list-sink-inputs | awk '$1 == "index:" {print $2}')" | opusenc --raw - $(xdg-user-dir MUSIC)/recording-$(date +"%F_%H-%M-%S").opus"
    

    通过按Ctrl+ X(关闭nano),然后按Y(表示“是”)和Enter(确认文件名)来保存文件。

  3. 现在加载新的~/.bashrc(或简单地打开一个新的终端):

    source $HOME/.bashrc
    

然后尝试,只需键入

recaudio

它将在“音乐”主文件夹中创建一个名为的文件recording-[DATE].opus

请享用。


1
--monitor-stream=...零件做什么/意味着什么?我的list-sink-inputs为零,除非实际正在播放声音,否则它将返回一个数字。所以这必须在声音已经播放之后开始吗?
Xen2050
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.