Php 声云声波

Php 声云声波,php,wav,soundcloud,waveform,Php,Wav,Soundcloud,Waveform,我正在尝试生成声波,它看起来就像soundcloud拥有的声波 但我不知道他们是如何使声波如此清晰的,例如,这是一个soundcloud的例子,我生成的声波: 我使用php来读取wav文件并生成图像,但是如果有任何语言中的更好的库可以更好地执行此操作,我肯定很想了解它 我已经粘贴了我正在使用的类 我得到了这个代码,并修改,以适应我的网站 我真的很迷茫,任何一种建议都会很有帮助。soundcloud.com上的波形是用画布绘制的——而在您的示例图像中,它看起来好像是一张放大了的图像,缩小到了所需

我正在尝试生成声波,它看起来就像soundcloud拥有的声波

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

我使用php来读取wav文件并生成图像,但是如果有任何语言中的更好的库可以更好地执行此操作,我肯定很想了解它

我已经粘贴了我正在使用的类

我得到了这个代码,并修改,以适应我的网站


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

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

您要查找的工具位于

soundcloud使用了一些简单的策略

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

595/(5+2)=85 长度/(钢筋+间距)=85总长度(钢筋+间距)

设备歌曲分成85个部分 假设这首歌有3点长。。 3*60=180/85=2秒 分*秒=总秒/部分=2秒/巴 现在,我们每2秒得到一首歌的峰值

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

现在,您有了一个包含85条的列表,其中有精确的最高峰值和最低峰值,可以相应地显示它们,以及与时间相关的歌曲

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

您是否已经尝试过更改类中的
$detail
属性?@Gargron是的,它确实提高了一点质量,但远远超出了我的预期