iPhone SDK измеряет частоту через микрофон iphone - PullRequest
2 голосов
/ 08 июля 2010

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

Спасибо

Ответы [ 3 ]

3 голосов
/ 08 июля 2010

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

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

Ускорение

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

0 голосов
/ 24 июля 2015

Вы можете использовать класс 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);
      });
 } 
0 голосов
/ 08 июля 2010

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

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

...