Borrar filtros
Borrar filtros

2 Sounds Cards and 5.1 speakers

8 visualizaciones (últimos 30 días)
Chloooo
Chloooo el 11 de Oct. de 2019
Comentada: Jimmy Lapierre el 18 de Oct. de 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.

Respuestas (1)

Jimmy Lapierre
Jimmy Lapierre el 16 de Oct. de 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 comentarios
Walter Roberson
Walter Roberson el 18 de Oct. de 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 el 18 de Oct. de 2019
Walter is correct, the OP asked for multichannel so that will limit us to audioDeviceWriter.

Iniciar sesión para comentar.

Categorías

Más información sobre Audio I/O and Waveform Generation en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by