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

조회 수: 24 (최근 30일)
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

답변 (1개)

Ayush
Ayush 2025년 12월 15일 8:11
편집: Ayush 2025년 12월 15일 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
Glenn Kubota
Glenn Kubota 대략 8시간 전
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 대략 8시간 전
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

제품


릴리스

R2025b

Community Treasure Hunt

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

Start Hunting!

Translated by