Я искал пример кода aurioTouch 2 из Apple (здесь). В конце дня я хочу сам проанализировать частоты. Пока я пытаюсь понять, что происходит здесь. Мои извинения, если это тривиально, просто пытаются понять некоторые из неоплаченных магических чисел, плавающих в некоторых источниках. Мои главные моменты путаницы сейчас:
- Почему они обнуляют значение nyquist в FFTBufferManager:: ComputeFFT? Может ли это значение просто выбросить? (~ строка 112 FFTBufferManager.cpp).
- Они масштабируют все на -128db, поэтому я предполагаю, что результаты, таким образом, находятся в диапазоне (-128, 0). Однако позже в aurioTouchAppDelegate.mm(~ строка 807) они преобразуют это значение в значение от 0 до 1, добавляя 80 и деля на 64, затем зажимая до 0 и 1. Почему нечеткость? Кроме того, я прав, если предположить, что значения будут находиться в окрестности (-128, 0)?