我有 2 个声卡,我必须从中获取输入、处理它并馈送到第三张卡的输出。我认为sounddevice
lib 是为此目的的最佳选择,因为它直接与使用起来numpy
非常舒适的数组一起使用。但是我现在遇到了两个问题:
1.我无法理解如何在一个流中连接到来自不同卡的 2 个(以及更多)输入(或者可能打开多个流)
2.什么时候尝试使用预定义设备启动输出流时出现错误:
def callback(indata, outdata, frames, time, status):
outdata[:, 1] = data
with sd.Stream(device = 1, channels=2, callback=callback):
print(' ')
sounddevice.PortAudioError: Error opening Stream: Invalid number of channels [PaErrorCode -9998]
我想这是因为我的 MacBook 上的 Core Audio 通道映射,它具有以下音频配置:
0 Built-in Input, Core Audio (2 in, 0 out)
1 Built-in Output, Core Audio (0 in, 2 out)
但我自己无法解决这个问题。
提前致谢