Как использовать cepstral?

Недавно я задал этот вопрос: Как получить основную частоту из БПФ? (на самом деле вам не нужно его читать)

Мой прямо сейчас сомневаюсь: как использовать кепстральный алгоритм?

Я просто не знаю, как его использовать, потому что единственный язык, который я знаю, это ActionScript 3, и по этой причине у меня мало ссылок на родной функции, найденные в C, Java и т. д., и то, как я должен их реализовать в AS. (хотя ответы на других языках, кроме AS, приветствуются , просто объясните, пожалуйста, как работает сценарий)

В статьях, которые я нашел о cepstral для определения основной частоты результата БПФ, говорилось, что я должен сделать это:

сигнал → FT → абс () → квадрат → журнал → FT → абс () → квадрат → силовой кепстр

математически: | F {log (| F {f (t)} | ²)} | ²

Важная информация:

  • Я разрабатываю GUITAR TUNER во флэш-памяти
  • Я впервые имею дело с продвинутым звуком
  • Я использую БПФ для извлечения частотных интервалов из сигнала, который достигает микрофона пользователя, но я застрял в получении от него основной частоты

Я не знаю:

  • Как применить квадрат в МАССИВ (я имею в виду, данные, которые дает мне мой БПФ, представляют собой массив. Должен ли я умножать их на себя? Отладка ActionScript выдает ошибки, когда я пытаюсь выполнить fftResults * fftResults)
  • Как применить «журнал». Я бы не знал, как это применить, даже если бы у меня было одно число.
  • В чем разница между сложным кепстралом и мощным кепстралом. Кроме того, какие из них мне следует использовать? Я пытаюсь разработать гитарный тюнер.

Спасибо!

5
задан Community 23 May 2017 в 11:47
поделиться