iPhone SDK измеряет частоту через микрофон iphone

Мне нужен способ получить частоту от микрофона и определить среднюю частоту. Есть ли библиотека или что-то для этого?

Спасибо

3 ответа

Если вы ориентируетесь на iOS 4 и выше, Apple теперь включает в себя инфраструктуру Accelerate. Со страницы Apple "Что нового":

http://developer.apple.com/technologies/iphone/whats-new.html

ускоряться

Accelerate предоставляет сотни математических функций, оптимизированных для iPhone и iPod touch, включая процедуры обработки сигналов, быстрые преобразования Фурье, основные векторные и матричные операции и стандартные в отрасли функции для разложения матриц и решения систем линейных уравнений.

Вы захотите использовать БПФ, поэтому я рекомендую посмотреть на эти вопросы и ответы:

Знаете ли вы хороший и эффективный БПФ?

Вы можете использовать EZAudio Класс для получения частоты Загрузите демо здесь и используйте этот метод для получения частоты

- (void) fft:(EZAudioFFT *)fft updatedWithFFTData:(float *)fftData bufferSize:(vDSP_Length)bufferSize
 {
     float maxFrequency = [fft maxFrequency];

       NSString *noteName = [EZAudioUtilities noteNameStringForFrequency:maxFrequency
                                                                includeOctave:YES];
            dispatch_async(dispatch_get_main_queue(), ^{
                [audioPlotFreq updateBuffer:fftData withBufferSize:(UInt32)bufferSize];
            NSLog(@"Frequncy : %f Highest Note : %@",maxFrequency,noteName);
      });
 } 
Другие вопросы по тегам