在另一个声音文件中查找一个声音文件
Posted
技术标签:
【中文标题】在另一个声音文件中查找一个声音文件【英文标题】:Finding one sound file inside of another 【发布时间】:2011-10-27 19:37:57 【问题描述】:我有两个声音文件,一个只是大文件的摘录,应该几乎相同
我如何比较这两个声音文件,以找出较小的声音文件开始播放到较大的声音文件多远?
这最好是一个 linux 终端命令,用于 bash
【问题讨论】:
文件被压缩了吗?音频是否以任何其他方式改变?较小的文件是如何制作的? 不确定它是如何制作的,但它没有改变 【参考方案1】:如果它们是 .WAV 文件并且一个是直接从另一个文件创建的,那么应该有一个字节对字节相同的部分,并且一个好的 diff 工具可以为您找到它。如果它们是使用来自相同来源的相同压缩器创建的 mp3,您可以解压缩它们并且同样的事情成立。
其他任何事情都会变得非常棘手。您可以尝试将两者都转换为相同的原始 WAV 格式,然后进行一些模糊匹配(例如将一个部分与另一个滑动部分并找到差异 RSS 最小的位置)。
或者您可以尝试在频域中执行此操作,方法是将文件分成小块,对它们进行 FFT,并寻找一系列匹配的主频率。
我不太相信两者都能很好地工作。我会先尝试时域方法。
【讨论】:
以上是关于在另一个声音文件中查找一个声音文件的主要内容,如果未能解决你的问题,请参考以下文章