计算两个音频样本之间的差异

4
我有两个声音样本(.WAV),我想找出它们之间的差异。我已经了解了这个主题,知道应该使用FFT来完成这件事。
不幸的是,我找不到实际计算的方法。我正在寻找一个PHP库或指导如何使用PHP进行这种计算。
我尝试在谷歌上搜索这个问题,但没有相关的解决方案出现。

2
如果您找不到 PHP 库,您可以随时搜索 Java 库,并从您的 PHP 脚本中运行 Java 命令 :) - Radoslav Georgiev
Java 或 C 或其他任何语言都可以,但 PHP 真的无法进行音频处理。 - Charles
1
你可以在PHP中执行与其他编程语言相同的数学运算,只是不一定会有预先构建的库可供使用。无论如何,“它们之间的差异”是什么意思?这是一个非常模糊的说法。你想要做什么?如果你真的想要得到差异,你可以将每个PCM样本值相减...但我怀疑这不是你想要的。 - Brad
我尝试寻找Java库,让我澄清一下我的问题:客户端向服务器发送一个5秒的文件,服务器应该输出一个数字,告诉我这两个声音有多相似。 - user1396033
“两个声音样本之间的差异”并没有明显的含义,而最明显的方法——减去它们,可能不是你想要的。你需要更好地定义你的问题。 你想要确定哪些是完全相同的声音文件,但在不同的时间和音量下播放吗?或者是同一首歌,也许是由不同的乐队演奏的?还是同一物种,比如区分鲸鱼和麻雀? - tom10
3个回答

3

处理音频文件的PHP库:ffmpeg-php
计算快速傅里叶变换(FFT)的PHP库:fft


3
你正在寻找的主题可能是声音指纹技术,有时候通过对感兴趣的音频数据计算的MFCC向量集进行2D图案匹配来实现。

1

在查找音频文件之间的差异时,有很多事情需要注意,编写自己的 PHP 库是困难的。

为什么不使用 Audacity 进行音频分析呢?


我需要在Ubuntu服务器上随时进行此操作,因此Audacity不是我要寻找的工具。 - user1396033

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接