我有一个 APp,它可以将麦克风的音频输入转换为特定的过滤器,我正尝试在项目的音频上实现该过滤器。
需要让应用程序将来自应用程序的音频解释为麦克风并在它们之间重定向。我是 Linux 新手。搜索了一些有关 pulseaudio 的信息。能够使用它玩一点,但还没有达到创建虚拟麦克风的程度。
如果可能的话,想知道是否可以通过终端来完成,因为不需要在机器上使用太多资源。另外,了解音频在 Linux 机器上的工作原理也很好。如果有读者知道这一点或可以将我重定向到可以做到这一点的某个来源,我将不胜感激。
TL;dr:如何将应用程序的音频输出转换为虚拟麦克风,以供其他应用程序解释。
如果这里不适合你,请随意删除问题。非常感谢。
人们说上一个问题和这个问题一样->
在安装那里推荐的软件时,遇到了一个个人问题,就是我现在使用 Linux 的机器不幸的是有 10gb 的限制。非常奇怪的机器哈哈。这也是从某种程度上充分利用 Linux 的好方法。由于这种特殊情况,终端使用作为请求出现!感谢他提供的答案。以下是 Marcus Muller 的回复
无论您是否在终端上执行此操作,对音频重定向的计算需求都没有任何影响。
因此,正如您上一个问题的答案所示,
qpwgraph
确实如此,不需要特殊的工具。当然,您可以使用命令行。首先,您需要使用
pw-link --output
确定所需的输出端口,然后pw-link --input
确定输入端口,然后使用 连接它们pw-link ${name of output port} ${name of input port}
。重申一下,这绝对没有比使用 计算上的优势
qpwgraph
。它qwpgraph
所做的只是让你更容易弄清楚要连接什么;在底层,它调用与 相同的函数pw-link
。您没有使用 pulseaudio,而是使用 pipewire,如上述答案中所述。
您使用一个库将样本写入输出(基本上在每个主流操作系统上都是如此;您可以在模拟的低级 libasound 和 libpipewire 之间进行选择,或者在众多抽象层库之一(从 libportaudio 到 libgstreamer)之间进行选择)。
有一个守护进程将输出路由到它应该去的设备或程序。(这基本上也是在任何其他操作系统上发生的情况;一些操作系统可能在操作系统内核方面将该守护进程作为服务,但我认为大型操作系统实际上只是安排一个守护进程来处理音频流)