0

我使用的是 Focusrite Scarlett 18i20 音频接口,我需要使用至少 4 个输入来记录脉冲响应。我在 Windows 10 PC 上运行,使用 python (anaconda) 和 sounddevice。

当我使用 sounddevice.query_devices() 时,它会将设备列为“1 Focusrite USB (Focusrite USB Au, MME (2 in, 0 out)”。

我的问题是该设备实际上有 8 个模拟输入通道,我至少需要其中的 4 个。输出也是如此,它看到 2 但应该是 8。如何让 sounddevice 识别它们?这是驱动问题吗?

matlab 和 sounddevice 中的设备

4

1 回答 1

0

由于 Windows 10 上有很多音频驱动程序可以在 Scarlett 和 Python 之间运行,因此您必须选择更合适的(ASIO 在 Windows 上运行良好,您可以在此处下载)。

下载并安装后,sounddevice.query_devices()应该返回几个包含 Scarlett 的字符串,每个字符串都有不同的驱动程序。

然后你只需要启动你的流并选择你所有的频道(我的是 6i6 所以只有 6 个频道):

    def run(self):
        try:
          with sd.Stream(callback=self.read_stream, {'device': "Focusrite USB ASIO", 'channels': 6}, samplerate=44100):
                    sd.sleep(2147483647)
        except ValueError:
            print("Focusrite disconnected")
于 2019-11-13T12:15:02.950 回答