Is sampling rate 384kHz through direct sound playable in MATLAB?

6 visualizaciones (últimos 30 días)
哲史 伊藤
哲史 伊藤 el 10 de Mayo de 2023
Respondida: Govind KM el 20 de Sept. de 2024
I am trying to produce ultrasound through a directsound soundcard (radius RK-DA60C), which supports 384kHz sampling rate.
Using other softwares like Audacity, I confirmed with an oscilloscope that 120kHz sine wave is playable.
However, it is not successful in MATLAB.
First, I used Data Acquisiion Toolbox and it reported an error "Rate cannot exceed 192000 in the current configuration."
Next, I used audioplayer function in MATLAB like,
a=rand(192000,1)-0.5;
pl=audioplayer(a,384000,16,6) % Device ID is 6
play(pl)
and got "Device Error: Unanticipated host error"
When I reduce the sampling rate,
pl=audioplayer(a,192000,16,6)
Player worked correctly.
Does anyone know whether the 384kHz sampling rate is supported or not?

Respuestas (1)

Govind KM
Govind KM el 20 de Sept. de 2024
Audio features from base MATLAB, such as “audioplayer”, use the “DirectSound” audio host which is limited to 192kHz. This causes the mentioned “Unanticipated Host” error.
A workaround for this is to set the driver to “WASAPI” or “ASIO” using “audioDeviceWriter”, as these drivers do not limit the sample rate to 192kHz. This requires a license for the Audio Toolbox.
Sample code to set the driver to “WASAPI” is given below:
%Set driver as WASAPI or ASIO
adw=audioDeviceWriter("Driver","WASAPI","SampleRate",384e3);
%Using pinknoise as sample audio
adw(pinknoise(1024*16,2));
To get the name of your output device to pass as argument, the “getAudioDevices” function can be used to list available devices for the selected driver:
getAudioDevices(adw);
More details on “audioDeviceWriter” and “getAudioDevices” can be found in the documentation below:
Hope this is helpful!

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by