纯数据:将音频信号动态路由到不同的通道

Pure Data: Dynamically route an audio signal to different channels

我正在将 Pure Data 用于一个项目,在该项目中我将同时向不同的扬声器播放多个音频文件。

假设我有两个文件,我希望一个在声卡的左声道播放,第二个在右声道播放,所以这是 dac~ 1 2 的第一个和第二个入口对象。

如何根据另一个值路由音频信号?

我基本上是在寻找类似 route 对象的东西,但有一些额外的参数,或者用某种方式将音频信号与通道号 (1, 2) 打包并使用该数字进行路由信号。

我刚发现 Yves Degoyon 的 "unauthorized" 库有 spigot~ 对象可以满足我的需求,但只有两个通道。最后我希望能够输出不同的声音到八个或九个通道。

您可以使用 Zexy 库中的 [demultiplex~] 将一个输入信号路由到多个输出口之一。例如,[demultiplex~ 1 2 3 4] 将有一个入口和四个出口。单个入口接受输入信号(将被路由)以及一个选择信号将路由到的出口的浮点数。对于相反的行为(多个输入信号到多个入口,并且只有一个信号由单个出口输出)尝试 [multiplex~].

另请注意,您可以使用 [mux~][demux~],因为它们是这些相同对象的别名。

Pd-extended 不再维护。您可以通过 Debian 软件包或 Deken 插件为 Vanilla Pd 安装 Zexy。然后您将获得 demultiplex~ 对象。但是,您可能有充分的理由根本不想使用外部设备。这是修补一种配电盘的一种方法。额外好处:您可以指定自己喜欢的淡入淡出时间和类型。

根据 Max N 的回答,您还可以使用开关来修改信号的音量并知道它重定向到哪里:

在这种情况下,如果切换处于活动状态,信号将在左侧出口发送。如果它处于非活动状态,则右侧插座将收到信号。