小编Fit*_*tzy的帖子

具有 ASIO 支持的多通道 PyAudio

我正在尝试在 Win7 上使用 PyAudio 连接到 PreSonus AudioBox 1818VSL,但在一次录制 2 个以上通道(立体声)时遇到一些问题。PreSonus 驱动程序创建许多立体声输入音频设备(例如立体声通道 1&2、3&4 等)和 18 个输入通道 ASIO 设备。我可以毫无问题地从任何立体声设备进行录音。为了最大限度地减少延迟并从 > 2 个通道进行录制,我尝试使用 ASIO 设备。

我一直在使用 PyAudio 的版本我一直在使用来自http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio,它编译了对 ASIO、DS、WMME、WASAPI、WDMKS 的支持。

致电pyaudio_handle.is_format_supported()显示 ASIO 设备支持 44.1、48 和 96 kHz 的 8 至 32 位数据。

下面是返回的字典pa.get_device_info_by_index(32)

{'defaultHighInputLatency': 0.046439909297052155,
'defaultHighOutputLatency': 0.046439909297052155,
'defaultLowInputLatency': 0.046439909297052155,
'defaultLowOutputLatency': 0.046439909297052155,
'defaultSampleRate': 44100.0,
'hostApi': 2L,
'index': 32,
'maxInputChannels': 18L,
'maxOutputChannels': 18L,
'name': u'AudioBox ASIO Driver',
'structVersion': 2L}
Run Code Online (Sandbox Code Playgroud)

下面是我用来创建 PyAudio 输入流的代码。回调函数只是将数据推送到列表中并返回,pyaudio.paContinue直到获得所需的样本量,然后返回pyaudio.paComplete

pyaudio_handle = pyaudio.PyAudio()
stream …
Run Code Online (Sandbox Code Playgroud)

python portaudio asio pyaudio

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

asio ×1

portaudio ×1

pyaudio ×1

python ×1