По-перше, я новачок у DSP і не маю реальної освіти в ньому, але я розробляю програму аудіовізуалізації, і я представляю масив FFT як вертикальні смуги, як у типовій візуалізації частотного спектра.
Проблема в мене полягала в тому, що значення звукового сигналу змінювались занадто швидко, щоб отримати приємний візуальний вихід, якщо я просто відобразив значення FFT безпосередньо:
Тому я застосовую просту функцію до значень, щоб "згладити" результат:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
Іншими словами, я беру поточне значення і порівнюю його з останнім, а потім додаю частину цієї дельти до останнього значення. Результат виглядає приблизно так:
Отже, моє запитання:
Це налагоджена закономірність чи функція, для якої вже існує термін? Так, який термін? Я використовую "згладжування" вище, але я знаю, що це означає щось дуже специфічне в DSP і може бути невірним. Крім цього, здавалося, це може бути пов'язано з об’ємною оболонкою, але також не зовсім те саме.
Чи є кращі підходи чи подальше вивчення рішень цього, на що я повинен звернутись?
Дякую за ваш час та вибачення, якщо це дурне питання (читаючи тут інші дискусії, я усвідомлюю, що мої знання набагато нижчі, ніж у середньому, як здається).