Can the audiostreamer buffer size be read when it is set to Auto with an ASIO driver?

24 views (last 30 days)
In the new 'audiostreamer' object (introduced in R2025a), the DeviceBufferSize can be set to "auto", for which the documentation says "For ASIO, it is generally fixed by the device (see asiosettings)". Is there any way of reading back what buffer size it has gotten from the ASIO driver? That would be very useful in optimizing my code

Answers (1)

Ayush
Ayush on 15 Dec 2025 at 8:11
Edited: Ayush on 15 Dec 2025 at 8:14
Hi Glenn,
I understand you want to know how to determine the actual buffer size being used by the "audiostreamer" object when set to "auto" with an ASIO driver.
To do this, you should first check which ASIO devices are available on your system by running the following command:
>> devices = audiostreamer.getAudioDevices()
Once you know the exact device name, you can use MATLAB’s ASIO settings functionality to query the current buffer size that the device is using. This buffer size is determined by the ASIO driver and is what audiostreamer will use in "auto" mode. The buffer size information can be accessed through the "asiosettings" command interface in MATLAB.
You can refer the following document to know more about audio I/O buffering:
Hope this helps!
  5 Comments
Glenn Kubota
Glenn Kubota 3 minutes ago
Yes, I am using the callback options. I guess that I can infer what the buffer size size is by looking at NumRecorderSamples a few times and assume that the buffer size is the smallest number that I read. It seems like quite an indirect way of doing things though. It would require me to run some audio data with no output to find out the buffer size before I start my actual audio processing.
By the way, in testing this, I discovered a really strange issue with my Komplete Audio 6 ASIO driver. In the asiosettings for that driver, I can view the buffer size, but whenever my MATLAB code starts playing audio with 'play' or 'playrec', I see the buffer size displayed has incremented to the next size up (i.e. doubled in size). After running my code a few times, the buffer size eventually reaches 2048, which is the largest setting, and it stays there. I don't see this behavior with a couple other ASIO drivers, so maybe it's a Komplete Audio bug? Weird! If someone else has a Komplete Audio soundcard, maybe they can test it.
Jimmy Lapierre
Jimmy Lapierre about 1 hour ago
Hi Glenn, I have recently seen the doubling issue. It happens with some brands but not others, so I suspect it's a device driver issue, but we found a way to avoid the problem with a change on our end. This will ship in 26a and a 25b update.

Sign in to comment.

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Products


Release

R2025b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!