linux - 在另一个声音文件中查找一个声音文件

标签 linux bash audio compare

我有两个声音文件,其中一个只是较大文件的摘录,该部分应该几乎相同

我如何比较这两个声音文件,以便找出小文件开始播放大文件的距离?

这最好是一个 linux 终端命令,用于 bash

最佳答案

如果它们是 .WAV 文件并且一个是直接从另一个创建的,那么应该有一个字节与字节相同的部分,一个好的差异工具可以为您找到它。如果它们是使用同一来源的同一压缩器创建的 mp3,您可以解压缩它们,同样的事情也成立。

任何其他事情都会变得非常棘手。您可以尝试将两者都转换为相同的原始 WAV 格式,然后进行一些模糊匹配(例如将一个部分滑动到另一个并找到 RSS 差异最小的位置)。

或者您可以尝试在频域中执行此操作,方法是将文件分成小块,对它们执行 FFT,然后寻找一系列匹配的主频率。

我真的不相信这两种方法都能很好地工作。我会先尝试时域方法。

关于linux - 在另一个声音文件中查找一个声音文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921381/

相关文章:

regex - sed - 如何获得段落的前两句?

java - 为倒计时添加声音

java - MalformedURLException 无协议(protocol)。怎么修?

macos - 在Mac上从 Octave 播放音频的可能方法是什么?

linux - Chmod 777 文件和文件夹。还是看不到?

c - 如何在 Linux 上使线程超时?

bash - for 循环中 bash 中的简单数学语句

linux - 使用 bash 在本地服务器和远程 ssh 服务器中启动和停止 "tail -f"

xml - CPPcheck html报告

linux - 将 sed 输出重定向到 tr