2

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

但我不知道他们是如何让他们的声波如此清晰的,例如这是 soundcloud 和我生成的声波的一个例子:

在此处输入图像描述

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

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

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

我真的很迷茫,任何建议都会有很大帮助。

4

2 回答 2

5

soundcloud.com 上的波形是用画布绘制的——而在您的示例图像中,它看起来好像是一个更大的图像,已按比例缩小到所需的大小。当您在浏览器中执行此缩放时,它将消除“一半”像素的锯齿。在画布上绘制时,我们以所需的精确分辨率精确绘制所需的像素。这意味着没有图像缩放和模糊。

于 2013-02-17T20:48:09.920 回答
0

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

soundcloud 使用了一些简单的策略。

说声波将是 595 像素宽.. 每个条将是 5 像素 + 2 像素空白。

595 / ( 5 + 2 ) = 85 长度 / (bar + space ) = 85 total (bars with space)

设备歌曲分为 85 个部分,假设歌曲长度为 3:00.. 3*60 = 180/85 = 2 秒分钟 * 秒 = 总秒数 / 部分 = 2 秒 / 小节所以,现在我们每 2 获得一首歌曲的峰值秒。

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

现在您有一个包含 85 个小节的列表,其中包含准确的最高峰值和最低峰值,可以根据歌曲相对于时间相应地显示它们。

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

于 2019-10-23T05:27:00.360 回答