Soundcloud声波

时间:2013-02-16 14:50:07

标签: php wav soundcloud waveform

我正在尝试生成看起来像soundcloud那样的声波。

但我无法弄清楚他们如何使他们的声波如此清晰,例如这是soundcloud和我生成的声波的一个例子:

enter image description here

我正在使用php来读取wav文件并生成图像,但是如果在任何语言中都有一些更好的库可以做得更好,我肯定希望听到它。

我已经粘贴了我在Pastebin中使用的课程。

我从andrewfreiday.com获取此代码并进行了修改以适合我的网站。

我真的迷失了,任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:5)

soundcloud.com上的波形是用画布绘制的 - 而在样本图像中,它看起来好像是一个较大的图像,缩小到所需的大小。在浏览器中进行此缩放时,它将对“半”像素进行反锯齿。绘制到画布时,我们会精确绘制所需的精确像素所需的像素。这意味着没有图像缩放和模糊。

答案 1 :(得分:0)

您要寻找的工具位于https://www.un4seen.com/

Soundcloud使用一些简单的策略。

假设声波的宽度为595像素。每个条形为5像素+ 2像素为空白。

595 /(5 + 2)= 85 长度/(栏+空格)= 85(栏有空格)

设备歌曲分为85部分 可以说歌曲长3:00。 3 * 60 = 180/85 = 2秒 分钟*秒=总秒/部分= 2秒/巴 因此,现在我们每2秒获得一首歌曲的峰值。

保存最大峰值。 保存低峰。

现在您有一个85个条的列表,它们具有确切的最高峰和最低峰,以相对于时间的歌曲相应地显示它们。

使用正数显示上部。 除以2或3或4并使用负数显示下部。 将两者结合起来并用作过滤器以绘制图形的颜色。 卡布姆!