2 Sounds Cards and 5.1 speakers

4 visualizzazioni (ultimi 30 giorni)
Chloooo
Chloooo il 11 Ott 2019
Commentato: Jimmy Lapierre il 18 Ott 2019
Hello, I want to manage two sound cards through Matlab. One that sends sound: it is connected to an amplifier by an optical socket and is supposed to handle 5 speakers. One that receives sound output from two microphones (right/left) by BNC cable. I don’t know how in Matlab, handled these sound cards. that is, I don’t know how to tell Matlab to select this card to do this action and this card to do this action. How to select the speakers that send the sounds? And the analysis of either output ?
I know the function AudioDeviceWritter, AudioDeviceReader but only for the use of devices defaulted manually in computer-specific settings.
thanks for your help.

Risposte (1)

Jimmy Lapierre
Jimmy Lapierre il 16 Ott 2019
The audioDeviceReader and audioDeviceWriter objects have "Driver" and "Device" properties. For example, if the output device supports 5.1 (6 channels), you could play this:
adw = audioDeviceWriter(48000,"Device","5.1 audio device");
% Play 6 channels of random noise (number of columns when calling adw)
for ii = 1:20
adw(randn(1024,6)/20);
end
Note that pressing tab after "Device"," will bring up a list of devices in your system.
Same with the reader, except you specify the number of channels when creating it:
adr = audioDeviceReader(48e3,adw.BufferSize,"Device","Dual Microphone Device","NumChannels",2);
Calling adr() will return a buffer-long matrix with 2 columns.
Note that two different devices will have independant sampling clocks that differ ever so slightly (one slightly faster than the other), so if you use the writer and reader with different devices in a loop for a very long time without taking this into account, one device might underrun every once in a while (maybe after several minutes).
  6 Commenti
Walter Roberson
Walter Roberson il 18 Ott 2019
I seem to recall that sound and audioplayer can only handle 2 channels on Windows because they use OS interface routines that only support 2 channels??
Jimmy Lapierre
Jimmy Lapierre il 18 Ott 2019
Walter is correct, the OP asked for multichannel so that will limit us to audioDeviceWriter.

Accedi per commentare.

Categorie

Scopri di più su Audio I/O and Waveform Generation in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by