Curnelious
Curnelious

Reputation: 1

samples per second on the iphone audio input

After reading so much on the remoteIO for the iphone ,and the buffers, i wrote a code and i get the audio samples.

but , i cant understand something about the buffer size.

i know every time the buffer is full, the callback function is being called. the buffer size is 2 byts, 16 bits. what i dont know is, the frequency which the callback is called to get this 16bits.

somehow when i log the buffer out, i have got only 2500 samples per 7 second, which means about 400 samples a second. which is too BAD ! .

what am i doing wrong ? OR what i dont understand here ?

my code is here from another post of me : error in audio Unit code -remoteIO for iphone

Upvotes: 0

Views: 245

Answers (3)

hotpaw2
hotpaw2

Reputation: 70733

The problem is that NSLog is way too slow compared to the audio samplerate, and thus blocks yor audio callback from getting called often enough. So you are losing almost all of the samples. Take all of the NSLogs out of the audio callback, and just increment a counter to count your samples.

If you want to NSLog something, figure out how to do that outside the audio callback.

Your code sample seems to be requesting 44100 samples per second from the audio unit. Check the error return value to make sure.

Also, the number of samples in a buffer does not involve a strlen().

Upvotes: 2

moala
moala

Reputation: 5334

Maybe what you get is not a single sample but an array of samples, i.e. an audio buffer, containing maybe 128 samples (~400*128 = 44100), and maybe multiple channels (depending on your configuration).

Upvotes: 0

Jay
Jay

Reputation: 452

Maybe it's just the logging that is 400Hz, and the audio is fine?

If I understand correctly you have no problem hearing the audio, that means that the audio frequency is sufficient. At 400Hz, you'll have aliasing for all bands over 200Hz, which is very low (we can hear up to 20 kHz), meaning your audio will be strongly distorted. See nyquist theorem.

Upvotes: 0

Related Questions