我想使用 Audacity (或类似的)来录制播客音频。播客将通过 IP 语音 (SIP) 电话进行采访。
我在这里发现了一个很棒的教程: http://www.linux.com/learn/tutorials/367395-weekend-project-record-from-skype-calls-and-other-apps-on-linux
它提供了我需要的大部分步骤。最重要的是,它描述了如何从不支持录音的应用程序捕获通话双方。 “捕获通话双方的真正解决方案是构建一个连接到双方的虚拟 PulseAudio 设备”和“然后记录空接收器,将合并的音频捕获到单个文件中。”
然而,我想做一件事不同。我不希望对话的音频完全“合并”。我希望对话的一侧在一个频道中,另一侧在另一个频道中。实际上有一个硬件设备可以做到这一点,这就是我的想法。该设备是在这里找到的 JK Audio Inline Patch:
http://www.jkaudio.com/inline-patch_dtails.htm
它提供“一个迷你立体声输出插孔,左声道上的呼叫者,右声道上的本地语音”。这和我想要的很相似。我想我可以像教程中描述的那样做到这一点,而不必购买 250 美元的硬件设备。
原教程步骤是:
pacmd info
cp /etc/pulse/default.pa ~/.pulse/default.pa
然后在您喜欢的编辑器中打开default.pa并添加类似的内容(基于pacmd信息中的信息):
# set up null sink and loopbacks to record voice calls
load-module module-null-sink sink_name=mywiretap
load-module module-loopback source=alsa_output.pci-0000_00_06.1.analog-surround-40.monitor sink=mywiretap
load-module module-loopback source=alsa_input.pci-0000_00_06.1.analog-stereo sink=mywiretap
来自教程:此设置的额外优点是 PulseAudio 自动存储应用程序连接详细信息,因此下次登录时,您无需重复将录音应用程序连接到空输出监视器的过程 - 只需启动即可你的录音机,给你的[采访对象]打电话,然后开始说话......
我的问题是,如何在立体声录音的一个通道中捕获我的音频,并在另一通道中捕获采访对象的音频?或者我如何使用 Audacity 完全单独捕获它们(如果需要)?
我用 Audacity 闲逛,我无法打开两个窗口并使用 Audacity 记录两个单独的源(至少我无法弄清楚)。
如果有兴趣的话,我的 SIP 客户端是 Twinkle。
答案1
解决方案是使用 JACK 音频连接套件(http://jackaudio.org/)。我最终安装了 KX Studio 发行版(基于 Debian/Ubuntu),并为了简单起见删除了 PulseAudio。
播客将通过 IP 语音 (SIP) 电话进行采访。我希望对话的一侧在一个频道中,另一侧在另一个频道中。
JACK 允许我做到这一点。
答案2
这是 PulseAudio 和 gstreamer 的解决方案:
通过查看 的输出,找出扬声器监视器和麦克风的 gstreamer 设备名称
pactl list | grep -A2 'Source #'
。这两个设备对应通话的两端。按如下方式运行 gstreamer 命令,并提供您的设备名称
device=…
:gst-launch-1.0 -e \ pulsesrc device=alsa_input.usb-046d_0819_561F63A0-02.mono-fallback \ ! queue ! audioresample ! audioconvert \ ! vorbisenc ! oggmux ! filesink location=recording1.ogg \ pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \ ! queue ! audioresample ! audioconvert \ ! vorbisenc ! oggmux ! filesink location=recording2.ogg
因此,您将获得通话双方的两个单独的
recording1.ogg
录音。recording2.ogg
它们完全在同一时间开始,因此可以用作 Audacity 等中的不同曲目。
gstreamer 命令只是打开两个单独的源和两个单独的接收器,并将一个源分别路由到一个接收器。它还可以将多个源混合到一个接收器中,但在这种情况下您不希望发生这种情况。