How to record audio from 4-ch MIC array device? (PSEye MIC)

I would like to record audio from 4-ch microphone array device named PSEye (PlayStation). I downloaded driver and the system (Windows7 64 bit) successfully finds the device as audio input device. However, on MATLAB, using 'audiorecorder' function, it can record up to only 2 channels. Is there any way to record 4-ch MIC signal?

Respuestas (3)

Walter Roberson
Walter Roberson el 14 de Sept. de 2015

1 comentario

Thank you for your reply :) I tried that code, but it shows error message as follows. An error occured while using the portaudio stream Error number: -9997 Error message: Invalid device ID. I'm wondering if there is any example file for the pa_wavrecord function

Iniciar sesión para comentar.

Dinesh Iyer
Dinesh Iyer el 15 de Sept. de 2015
Use the dsp.AudioRecorder systemm object to record more than 2 channels of data.
Dinesh

7 comentarios

Dong gun Lee
Dong gun Lee el 15 de Sept. de 2015
Editada: Dong gun Lee el 15 de Sept. de 2015
Thanks for your reply :) However, when I set the parameter 'NumChannels' as 4, MATLAB gives error message as follows PortAudio Error: Invalid number of channels and, the error message does not come up when the num of channels is set as 2.
When I record audio with Audacity program, it successfully recognizes 4 channels... I wonder why......
Which MATLAB release are you using?
Do you mean by the version of MATLAB? I'm using 2015b 32-bit on Win7 64-bit.
Please provide code to illustrate your exact steps. Are you using an ASIO driver to communicate with the device? If so, can you set the DSP preferences to select ASIO, the default is DirectSound.
Dong gun Lee
Dong gun Lee el 16 de Sept. de 2015
Editada: Walter Roberson el 16 de Sept. de 2015
Now I'm using as follows
AR = dsp.AudioRecorder(16000,'NumChannels',4,'OutputNumOverrunSamples',true);
AFW = dsp.AudioFileWriter('myspeech4.wav','FileFormat', 'WAV');
disp('Speak into microphone now');
tic;
while toc < 10,
[audioIn,nOverrun] = step(AR);
step(AFW,audioIn);
if nOverrun > 0
fprintf('Audio recorder queue was overrun by %d samples\n'...
,nOverrun);
end
end
release(AR);
release(AFW);
disp('Recording complete');
and error comes out as follows
PortAudio Error: Invalid number of channels
The line:
AR = dsp.AudioRecorder(16000,'NumChannels',4,'OutputNumOverrunSamples',true);
assumes that your 4 channel device is the default device on your system? Can you confirm that using the Windows Device Manager?
Are you using ASIO or DirectSound to communicate with the device? Check the DSP System Toolbox preferences.

Iniciar sesión para comentar.

Lucas
Lucas el 25 de Mayo de 2024
I'm with the same problem, using the PS3 Eye on Win7 and Matlab 2018b. Did you find a solution?

Categorías

Más información sobre Audio I/O and Waveform Generation en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Sept. de 2015

Respondida:

el 25 de Mayo de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by