我使用的是Focusrite Scarlett 18i20音频接口,其中我需要使用至少4个输入来记录脉冲响应。我运行在Windows10 PC上,使用python (anaconda)和声音设备。
当我使用sounddevice.query_devices()时,它将设备列为“1Focusrite USB (Focusrite USB Au,MME (2in,0 out))”。
我的问题是,设备实际上有8个模拟输入通道,我需要至少4个。对于输出也是如此,它看到的是2,但应该是8。我如何让声音设备识别它们?这是驱动程序的问题吗?
发布于 2019-11-13 20:15:03
由于Windows10上有大量的音频驱动程序可以在你的Scarlett和Python之间运行,所以你必须选择更合适的(ASIO在windows上运行得很好,你可以从here下载)。
下载并安装后,sounddevice.query_devices()应该会返回几个包含斯嘉丽的字符串,每个字符串都有不同的驱动程序。
然后你只需要启动你的流并选择你所有的频道(我的是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")https://stackoverflow.com/questions/56833011
复制相似问题