belangeo / pyo

Python DSP module
GNU Lesser General Public License v3.0
1.28k stars 130 forks source link

winhost='asio' unusual behaviour when using buffersize. #273

Open agorangetek opened 5 months ago

agorangetek commented 5 months ago

I have an SSL 2+ usb audio interface. Its control panel reports the buffersize when an app is using asio. If for example, the buffersize is set to 256 in the SSL control panel, when i start pyo with a buffersize of 256, the SSL control panel switches the buffer to 512. If i close and reopen pyo without changing anything, the buffer in SSL control panel increase to 1024. The same thing again to 2048. After that, it stays at 2048 because the device does not support anything higher. I think with Portaudio, you should be setting the 'Latency' parameter and leaving the buffersize parameter in the opensream to 0 for asio devices.

agorangetek commented 5 months ago

I just test portaudio by itself and setting the buffersize for asio works as expected so ignore what i said about using the latency parameter. It seems that pyo is storing the buffer size and adding to it everytime it starts like a '+=' instead of '='

agorangetek commented 5 months ago

After doing more tests, the buffersize parameter is not working as it should for any of the windows host types.