Does matlab support USB audio devices that have 4 microphones?
Show older comments
I'm having trouble finding a mechanism to record audio from a usb 4 channel audio device. I have found examples scripts that record stereo (2 channel) audio from a usb device, but not 4. Any help would be greatly appreciated.
Accepted Answer
More Answers (1)
Gabriele Bunkheila
on 6 Nov 2017
2 votes
Hi JD,
I work with the Audio System Toolbox team at MathWorks and after seeing this I thought I'd drop a more precise note on the topic.
It looks like your board is recognized by Windows as a standard audio device, leveraging generic DirectSound drivers.
To record more than 2 channels from anything seen by your OS as an audio device (e.g. working with DirectSound, WASAPI, ASIO, ALSA or CoreAudio drivers), you should look at audioDeviceReader in Audio System Toolbox.
I hope this helps.
Regards,
Gabriele.
4 Comments
JD Ritchey
on 6 Nov 2017
I too am trying to record from a multichannel USB audio box and I get about 2 frames of silence. Everything works fine with my other 2-channel USB audio box. Below is my audioReader init code. I verified the ASIO4ALL driver settings match the Matlab settings. I also tried different data types. The multichannel USB device is correctly selected in the Windows Control Panel Sound settings. I don't see any multichannel examples in Wathworks' help. Please lt me know what might be missing.
deviceReader = audioDeviceReader(...
'Device','ASIO4ALL v2',...
'Driver','ASIO',...
'SampleRate',48000,...
'NumChannels',4,...
'OutputDataType','double',...
'SamplesPerFrame',2048);
Gabriele Bunkheila
on 10 Oct 2018
Hi Gene,
I am not sure what you meant by "I get about two frames of silence" - I'll take a stab at your question assuming it's related to the main topic of this MATLAB Answer, i.e. you are struggling to read more than 2 channels from your multichannel USB sound card.
Many (if not most) multichannel sound cards support full multichannel mode in Windows only via an ASIO driver provided by the card vendor. On the other hand, they only support two channels using standard plug-and-play Windows drivers.
Try pointing audioDeviceReader to the ASIO driver coming with the card instead of ASIO4ALL. If I remember well, ASIO4ALL simply leverages the default Windows drivers on the hardware side, yet exposing an ASIO interface to applications (including MATLAB) so you can use your card with applications working in ASIO mode.
I hope this helps,
Gabriele.
Gene Goff
on 10 Oct 2018
Never mind - this does work now. I had the wrong driver settings in Adobe Audition to monitor the audio that Matlab recorded.
Categories
Find more on National Instruments Frame Grabbers in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!