【问题标题】:Calculating the difference between two sound samples计算两个声音样本之间的差异
【发布时间】:2012-12-11 13:26:37
【问题描述】:

我有两个声音样本 (.WAV),我想找出它们之间的区别。我读过这个主题,我知道我应该使用 FFT 来做这样的事情。

很遗憾,我找不到进行实际计算的方法。我正在搜索 PHP 库或有关如何使用 PHP 进行此计算的说明。

我尝试用谷歌搜索这个问题,但没有找到相关的解决方案。

【问题讨论】:

  • 如果您没有找到 PHP 库,您可以随时搜索 Java 库,然后从您的 PHP 脚本中运行 java 命令 :)
  • Java 或 C 或其他任何东西,真的。 PHP 并没有真正进行声音处理。
  • 您可以在 PHP 中进行与任何其他语言相同的数学运算。只是不会总是为您提供一些预先构建的库。无论如何,“它们之间的差异”是什么意思?这是一个非常模棱两可的说法。你想做什么?如果您真的想要差异,您可以将 PCM 样本值相互关联...但我怀疑这不是您想要的。
  • 我试图寻找 java 库,让我澄清一下我的问题,客户端向服务器发送一个 5 秒的文件,服务器应该输出一个数字,告诉我这两种声音有多少相似。
  • “两个声音样本之间的差异”并没有明显的含义,最明显的是,减去它们,你可能不想要。 您需要更好地定义您的问题。您想识别哪些是完全相同的声音文件,但在不同的时间和音量下播放?还是同一首歌,也许来自不同的乐队?还是同一个物种,比如区分鲸鱼和麻雀?

标签: php audio fft audio-processing


【解决方案1】:

您正在寻找的主题可能是声音指纹识别,有时是通过从感兴趣的音频数据计算出的 MFCC 向量集的 2D 模式匹配来完成的。

【讨论】:

    【解决方案2】:

    在查找音频文件之间的差异时,您需要注意很多事情,因为很难为 php 编写自己的库。

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

    【讨论】:

    • 我需要使用 Ubuntu 服务器随时随地执行此操作,因此 Audacity 不是我要搜索的内容。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多