In the project I’m working on, I’ve to record audio from 8 different microphones and send recorded audio data (streams of 20ms for example) to a function in order to process the audio and get different parameters (simultaneously for the 8 microphones). I’m using the example recordtodisc, with a few modifications.

I’m going to tell what I’ve done, but it doesn’t work. First of all, due to the audio interface I use only can record in stereo, I’ve to separate stereo into mono. I’m doing it before saving the audio in the wav file, so I get 8 wav files. At the same time I also save audio data in another buffer. I check this buffer in order to know if I’ve saved 20ms data (in my case, I check if it has 880 samples), and when it is done I call the function to process this stream (it is just getting the maximum value and displaying it). The problem is that I can’t do it simultaneously for the 8 microphones, and some microphones have more maximum values than others.

Is there any other way to know when the audio buffer has 20ms data, and to automatically send this data to my function?

Any suggestion will be welcome.

  • You must to post comments
Showing 0 results
Your Answer

Please first to submit.