2010-06-03 6 views
1

В моем приложении я хочу найти/рассчитать частоту звука как динамически, когда я записываю аудио и не нужно сохранять, воспроизводить и все. Теперь я пытаюсь сделать это с помощью кода примера aurioToch. В этом примере внутри методов класса FFTBufferManager, таких как GrabAudioData и ComputeFFT, здесь я не могу найти, где они вычисляют значение частоты, так как динамически зависит от звука, и я потратил более 5 дней. Помогите мне.Динамически вычислять значение частоты?

+0

Чувак, есть не только одно значение частоты. Быстрое преобразование Фурье дает вам значение для каждой частоты (диапазона), как на этом изображении. http://www.owlnet.rice.edu/~elec301/Projects02/adaptiveFilters/images/fft-partial.png Если вы действительно этого хотите, вы можете выбрать доминирующую частоту, но может и не быть. –

+0

«" Здесь я не могу найти, где они вычисляют значение частоты, так как динамически зависит от звукового звука, и я провел более 5 дней. Помогите мне. "" "- Я не понимаю. Для расчета весов вам нужен образец некоторой длины. Если вы говорите о «прокатных» вычислениях, попробуйте воспользоваться последним окном в 30 секунд или так ... –

+0

@Hamish Grubijan, спасибо за ваш ответ, я хочу рассчитать частоту при записи звука. – Sivanathan

ответ

1

Вам не нужно использовать FFT, если ваш звуковой сигнал чист и чист. Просто считайте вершины и долины. Или просто пики. Возьмите это число и разделите на количество выборок в вашем буфере, а затем умножьте на частоту дискретизации. Это ваша частота.

Смежные вопросы