首先,我是DSP的新手,没有任何实际知识,但是我正在开发一个音频可视化程序,并且像典型的频谱可视化一样,我将FFT数组表示为竖线。
我的问题是,如果我直接映射FFT值,音频信号值变化太快而无法产生令人愉悦的视觉输出:
因此,我对这些值应用了一个简单的函数,以便“平滑”结果:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
换句话说,我正在获取当前值并将其与最后一个值进行比较,然后将该增量的一部分添加到最后一个值。结果看起来像这样:
所以我的问题是:
这是一个已经存在的完善的模式或功能吗?是的,这是什么意思?我在上面使用了“平滑”功能,但是我知道这意味着DSP中的某些功能非常具体,可能不正确。除此之外,它似乎与容量包络有关,但也不完全相同。
我是否应该寻找更好的方法或进一步研究解决方案?
感谢您的时间和歉意,如果这是一个愚蠢的问题(在这里阅读其他讨论,我知道我的知识比平均水平低很多)。