Я исследовал это время от времени несколько месяцев.
Я ищу библиотеку или рабочий пример кода для определения частоты на аудиовходе звуковой карты или для обнаружения присутствия данного набора частоты. Я склоняюсь к Java, но реальным требованием является то, что должно быть чем-то более высокого уровня / проще, чем C , а предпочтительно кроссплатформенное . Linux будет целевой платформой, но я хочу оставить опции открытыми для Mac или, возможно, даже для Windows. Python также был бы приемлем, и если кто-нибудь знает язык, который облегчит эту задачу / имеет лучшие предварительно написанные библиотеки, я с радостью рассмотрю его.
По сути, у меня есть определенный набор пар частот , который появится на аудиовходе звуковой карты, и мне нужно иметь возможность обнаружить эту пару и затем ... сделать что-то, например, записать после максимальной продолжительности аудио, а затем выполните какое-либо действие. Потенциальный прогон может содержать, например, 5-10 пар, определенных во время выполнения, не может быть скомпилирован в : что-то вроде частоты 1 на ~ 1 секунду, максимальной задержки ~ 1 секунды, частоты 2 на ~ 1 второй.
Я нашел предложения о выполнении алгоритма БПФ или Гертцеля, но не смог найти ничего, кроме простейшего примера кода, который, казалось, не дал полезных результатов. Я также обнаружил некоторые ограничения для звука Java и невозможности сэмплирования с достаточно высокой скоростью, чтобы получить необходимое разрешение.
Есть предложения по использованию библиотек или, возможно, работающий код? Я признаю, что я не склонен к математике, поэтому я потерял некоторые технические описания того, как на самом деле работают алгоритмы.