title: Understanding frames/samples for Audio
body: <p>I am trying to understand this GitHub project called "The Amazing Audio Engine", that eases dealing with audio on iOS.</p>
  
  <p>I am capturing from the microphone and using this method:</p>
  
  <pre><code>id&lt;AEAudioReceiver&gt; receiver = [AEBlockAudioReceiver audioReceiverWithBlock: ^(void *source, const AudioTimeStamp *time, UInt32 frames, AudioBufferList *audio) {
   // Do something with 'audio'
  }];
  </code></pre>
  
  <p>As far as I see the library samples at 44100 sampling frequency and when the block runs, <code>frames</code> is 1024. If I understood the whole audio thing correctly, every time this block runs it will deliver something like a snapshot of all frequencies the microphone can capture, from the minimum to the maximum hertz. So, if the whole thing is being sampled at 44100, it means that the whole spectrum will be sliced in 44100 slices.</p>
  
  <p>It is not, but supposing the minimum frequency is 0Hz and the maximum frequency is 22 KHz, slice 0 will represent the amplitude of 0Hz and slice 44099 will represent 22KHz, or in other words, the array <code>audio[0] = 0Hz</code> and <code>audio[44099] = 22KHz</code>, right?</p>
  
  <p>Then I have measured the time the block runs and the block is called once in 0.023 seconds. Why? Isn't this number slow?</p>
  
  <p>This number does not makes sense to me. Shouldn't the block be called at a blazing speed so the whole spectrum would be sampled in time with a short interval?</p>