我正在尝试生成看起来像 soundcloud 的声波。
但我不知道他们是如何让他们的声波如此清晰的,例如这是 soundcloud 和我生成的声波的一个例子:
我正在使用 php 来读取 wav 文件并生成图像,但是如果有任何语言的更好的库可以做得更好,我肯定想听听它。
我已经粘贴了我在 Pastebin 中使用的课程。
我从andrewfreiday.com获得了此代码,并对其进行了修改以适合我的网站。
我真的很迷茫,任何建议都会有很大帮助。
我正在尝试生成看起来像 soundcloud 的声波。
但我不知道他们是如何让他们的声波如此清晰的,例如这是 soundcloud 和我生成的声波的一个例子:
我正在使用 php 来读取 wav 文件并生成图像,但是如果有任何语言的更好的库可以做得更好,我肯定想听听它。
我已经粘贴了我在 Pastebin 中使用的课程。
我从andrewfreiday.com获得了此代码,并对其进行了修改以适合我的网站。
我真的很迷茫,任何建议都会有很大帮助。
soundcloud.com 上的波形是用画布绘制的——而在您的示例图像中,它看起来好像是一个更大的图像,已按比例缩小到所需的大小。当您在浏览器中执行此缩放时,它将消除“一半”像素的锯齿。在画布上绘制时,我们以所需的精确分辨率精确绘制所需的像素。这意味着没有图像缩放和模糊。
您正在寻找的工具位于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 并使用负数显示下部。将两者结合起来用作过滤器来绘制图形的颜色。轰隆隆!