使用虚拟音频线路由音频

使用虚拟音频线路由音频

我正在运行一组需要链接音频的程序。

程序 1 生成需要静默路由到程序 2 的音频,然后程序 2 创建一个需要静默路由到程序 3 的新音频源。最后,程序 3 创建应发送到扬声器的音频。

谁能帮我弄清楚实现这一目标的最佳方法是什么?我成功地使用“sudo modprobe snd-aloop”将音频从程序 1 静默路由到程序 2,这为我提供了一个环回设备。

但现在我陷入了如何默默地将音频路由到程序 3 的问题上。哦,这不能通过管道来实现。

答案1

Pulseaudio,还是纯粹的 ALSA? Pulseaudio 最简单:创建一个虚拟接收器

pacmd load-module module-null-sink sink_name=tmpsink

并让程序1输出给它。程序2从tmpsink.monitor源中读取。等等。所有这些都可以编写脚本。pacmd help显示更多可能有用的命令,例如list-sink-inputslist-source-outputs、 或move-sink-input以及move-sink-output如果您无法在命令行上为程序指定源和接收器。

在 ALSA 中这样做可能......很有趣。在我尝试在 ALSA 中做到这一点之前,我会尝试使用 Jack 来做到这一点。

相关内容