这样的事情是否可能?
是否有可能创建一个虚拟声卡,然后使用例如PyAudio来监听其输出并将其保存到文件中?请注意,机器上没有硬件声卡。
我尝试了很多东西,特别是snd-dummy
ALSA模块,但我开始怀疑我是否在寻找合适的工具。如果有人能够指出我至少采用高级解决方案,我将不胜感激。最好能在Ubuntu服务器上运行的东西。
答案 0 :(得分:1)
Install the PulseAudio.
sudo apt install pulseaudio
PulseAudio has emulation for ALSA.
答案 1 :(得分:1)
如果产生声音的应用程序支持JACK,这应该很容易。
然后你只需要为JACK选择dummy
驱动程序,你就可以将音频信号路由到你想要的任何录音程序(只要它也支持JACK)。
您需要包jackd
,它具有用于启动JACK守护程序的命令行界面。
包qjackctl
提供了一个很好的GUI,用于试验不同的设置和在程序之间建立音频连接。对于录制,您可以尝试jack_rec
作为jackd
的一部分的程序$scope.newData = data.data;
$scope.newData.push($scope.number);
,但也可以使用许多其他JACK录制应用程序。
如果您想使用Python进行录制,可以试用sounddevice和soundfile模块。如果您需要一些特定于JACK的功能,则应尝试jackclient-python。
答案 2 :(得分:0)
感谢@mjy和@Matthias,我终于设法找出了使记录工作的最小步骤:
sudo apt-get install pulseaudio jackd2 alsa-utils dbus-x11
无需使用snd-dummy
,无需创建任何其他配置文件......所有这些只会让我失去几个小时:(在干净的Ubuntu服务器安装上安装这些软件包后,我是能够使用PyAudio运行Python脚本并将输出音频捕获到文件...