Я хочу сделать точный гитарный тюнер, это обычно делают многие с помощью вычисления БПФ и получения пика.Но это низкое применение по нескольким причинам:
- Дискретная точность дает недостаточное разрешение для настройки бас-гитары.
- Высокое время и сложность вычислений при попытке увеличить размер буфера (и/ или частота дискретизации).Вводит видимую задержку (задержку).
- Большая часть частотного диапазона, где концентрируется вся точность БПФ, не используется.Все, что выше 1-2 кГц, не подходит для настройки музыкальных инструментов.
Должен быть более простой способ для сигналов, которые имеют одночастотную синусоидальную форму.Учитывая достаточно маленький буфер (скажем, 256 сэмплов с частотой дискретизации 96 кГц) - как вы можете измерить базовую (малую) частоту?
Простыми словами: как найти частоту F
, так что разница " синусоидальный сигнал с частотой F
"и" фактически записанный сигнал"даст минимальная ошибка , чем для любой частоты, отличной от F
?(Таким образом, мы можем однозначно сделать вывод, что синусоида частоты F
является наилучшим приближением записанного звукового буфера).
PS.Что угодно, но не используя БПФ!