2014-10-20 52 views
0

我需要建立一个声音水平仪吧。随着声音的提升而升高。 这有点像一个可视化器,但作为一个酒吧。像这样:音乐播放器的声音水平仪可视化器

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

你可以看到在上面的链接的水平吧。

我希望我可以问我的问题吧。谢谢

+0

那么,究竟是什么_你的问题? _“我需要一些代码来确保X”_不是问题。你到目前为止尝试过什么,遇到什么具体问题? – Michael 2014-10-20 11:14:51

+0

当你看到图片时,我需要一些代码来执行基于声音分贝的声音条可视化器。就像数据库上升时水平线上升,当数据库下降时水平线下降。 – 2014-10-20 11:21:49

回答

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之后乘以1.11,以获得接近RMS的值。最后,即使你不乘以1.11,没有人会注意到有10%的差异...