3
- 我有一些音频数据(浮点数组),我用它来绘制一个简单的 波形。
- 绘制时,波形不会在边缘出现最大值。
- 没问题 - 数据只需要标准化。我迭代一次找到最大值,然后再次迭代,再除以最大值。再画一次,一切都很棒!
- 但是等待有一个大声的介绍或大爆炸的视频导致其余的波形仍然很小。
- 经过一番研究,我遇到了应该解决这个问题的RMS。我遍历样本并计算RMS,并再次将每个样本除以RMS值。这导致相当大的 “裁剪”:
- 什么是解决这个的最好方法是什么?
- 直观地看,我可能需要基于移动窗口(而不是整个集合)来计算局部最大值或平均值,但我并不完全确定。帮帮我?
- 注意:波形纯粹用于视觉目的(音频不会播放给用户)。
这是辉煌和完美。关于如何确定给定数据集合适的放大“常数”的任何想法? –
我不太确定我会做什么来确定。一种方法可能是使用已有的RMS值或滚动RMS的最小值。假设信号已经归一化,如果RMS值很高,则应该要求较低的预增益常数。准确地说,这种功能关系看起来如何,我不知道,最好的可能是尝试一些事情。 – AkselA