用于音乐播放器的声级酒吧可视化器

时间:2014-10-20 11:07:57

标签: android audio

我需要建立一个声级栏。当声音上升时,声音的水平上升。 它有点像可视化器,但作为一个酒吧。像这样:

https://itunes.apple.com/tr/app/disco-lightning/id893088657?mt=8

您可以在上面的链接中看到关卡栏。

我希望我能正确地提出我的问题。感谢

1 个答案:

答案 0 :(得分:0)

显示声音效果的最有效方法是计算RMS。 获取一部分样本(例如4096个样本)并计算它们的RMS。
RMS计算为RMS = sqrt(1 / N *(X1 ^ 2 + X2 ^ 2 + X3 ^ 3 .... .. Xn ^ 2))其中N是样本数,X是样本的值。计算RMS后,您可以对值进行标准化并绘制矩形。
不要试图计算平均值而不是RMS。由于样本值为负,平均值将始终接近零。
如果计算时间有问题,你可以使用样本绝对值的平均值,但这个值与RMS的10%不同(对于正弦波),所以你可以将它乘以1.11,以获得接近RMS的值。最后,即使你没有乘以1.11,没有人会注意到有10%的差异...