Linux - 录制节目的所有音频输入/输出?

Ama*_*rus 2 linux audio-recording

是否可以在 Linux 上记录进出程序的所有音频?我使用的是普通的 Ubuntu 9.10,我希望能够做类似的事情。

$ audiorecord PROGNAME
Run Code Online (Sandbox Code Playgroud)

PROGNAME我想录入和录出音频的程序的名称在哪里。有点像我的扬声器和麦克风的键盘记录器。我只是使用股票 Ubuntu 9.10,所以我认为那是 PulseAudio 或其他什么?例如,我可以录制我演奏的音乐

$ audiorecord banshee
Run Code Online (Sandbox Code Playgroud)

并记录我的Skype对话

$ audiorecord skype
Run Code Online (Sandbox Code Playgroud)

对于像Skype这样的东西,我也想录制音频。

这可能吗?

bob*_*nce 6

没有一种简单的命令行方式可以做到这一点,不。

对于支持它的程序,最好的方法是 JACK。告诉程序使用 JACK 输出,并使用支持 JACK 的记录工具(可能包括命令行工具,例如jack_capture, qarecordecasound甚至普通的 old jackrec)连接到该应用程序的输出端口并保存它。

对于 ALSA 应用程序,这是可能的,但可能需要更多的工作。您需要pavucontrol从 Synaptic安装该软件包。这是 PulseAudio 的一部分,出于某种原因,Ubuntu 默认不包含它。将它与录制应用程序一起运行,例如gnome-sound-recorder当您开始录制时,您应该会在“录制”选项卡中看到它。然后,您可以将其输入切换到“(您的声卡)的监视器”以拾取正在产生的所有声音。

不幸的是,这并没有隔离一个特定的应用程序。如果您需要使用 ALSA/Pulse 应用程序执行此操作,则必须创建一个.asoundrc文件来配置一个只有您选择的应用程序才能发出声音的假声卡,并从中进行录音。或者,您可以安装一个适当的 libasound2-plugins,其中包括 ALSA->JACK 插件,然后只使用 JACK 的东西。不幸的是,Ubuntu 的 libasound2-plugins 没有包含它,因为那太容易了,不是吗?

Skype 是另一个 PITA,它总是难以选择将输出发送到哪里。对我来说,最新版本似乎只想直接、不可配置地与 Pulse 对话,这让我无法将其连接到其他任何东西。

叹。Linux 音频一团糟。Skype 一团糟。他们两个在一起是一种恐怖。