Po pierwsze, jestem nowy w DSP i nie mam w tym prawdziwego wykształcenia, ale rozwijam program do wizualizacji dźwięku i reprezentuję tablicę FFT jako pionowe paski jak w typowej wizualizacji widma częstotliwości.
Problem, który miałem, polegał na tym, że wartości sygnału audio zmieniały się zbyt szybko, aby uzyskać przyjemny efekt wizualny, jeśli bezpośrednio zmapowałem wartości FFT:
Dlatego stosuję prostą funkcję do wartości, aby „wygładzić” wynik:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
Innymi słowy, pobieram bieżącą wartość i porównuję ją z ostatnią, a następnie dodam ułamek tej delty do ostatniej wartości. Wynik wygląda następująco:
Więc moje pytanie brzmi:
Czy jest to ugruntowany wzorzec lub funkcja, dla której termin już istnieje? Czy tak, jaki jest termin? Używam „wygładzania” powyżej, ale mam świadomość, że oznacza to coś bardzo specyficznego w DSP i może nie być poprawne. Poza tym wydawało się, że może być związane z kopertą objętości, ale też nie do końca tym samym.
Czy istnieją lepsze podejścia lub dalsze badania nad rozwiązaniami tego, na które powinienem spojrzeć?
Dziękuję za poświęcony czas i przeprosiny, jeśli jest to głupie pytanie (czytając inne dyskusje tutaj, zdaję sobie sprawę, że moja wiedza jest znacznie niższa niż wydaje się średnia).