Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何检查一个音频是否出现在另一个音频中?_Algorithm_Audio_Audio Comparison - Fatal编程技术网

Algorithm 如何检查一个音频是否出现在另一个音频中?

Algorithm 如何检查一个音频是否出现在另一个音频中?,algorithm,audio,audio-comparison,Algorithm,Audio,Audio Comparison,例如,我有两个音频,一个是A,另一个是B。我想检查B是否出现在A中(如果A的一部分在某个阈值内类似于B),B出现的次数和确切次数。 有算法吗?或者一些例子已经做了类似的事情 提前感谢。一般来说,您需要在两个音频波形之间执行一次切换。如果相关波形峰值高于某个阈值,则您已找到匹配对。这可以通过使用基于 特别是对于音乐内容,您可以通过使用一种技术来加快速度。维基百科的文章列出了几种开源解决方案。实际上,在我的示例中,A是广播音频,B是广告音频。我想要的是计算B在A中出现的次数。我不知道声学指纹技术,比

例如,我有两个音频,一个是A,另一个是B。我想检查B是否出现在A中(如果A的一部分在某个阈值内类似于B),B出现的次数和确切次数。 有算法吗?或者一些例子已经做了类似的事情


提前感谢。

一般来说,您需要在两个音频波形之间执行一次切换。如果相关波形峰值高于某个阈值,则您已找到匹配对。这可以通过使用基于


特别是对于音乐内容,您可以通过使用一种技术来加快速度。维基百科的文章列出了几种开源解决方案。

实际上,在我的示例中,A是广播音频,B是广告音频。我想要的是计算B在A中出现的次数。我不知道声学指纹技术,比如Echoprint,是否有效。它们应该有助于减少计算工作量。如果你在监听一个电台,你可以从中获得高质量的音频样本,这也会有所帮助。这里有一篇关于音频搜索算法的有趣文章:除非这是在非常受控的条件下运行的(例如:同步源,信号路径中没有有损压缩),否则这将是不可靠的。此外,这种方法的可能应用可能是在信号A中搜索M个音频片段,在这种情况下,计算负载会随着M的增加而增加。这就是为什么特征提取技术可能是本文的方向。特征提取技术在这里意味着什么?类似于声音指纹的东西?我上面链接的论文描述了一种基于星座图的非常有效的特征提取方法。但是,它是专利产品,因此没有许可证,您将无法在商业上使用它。但是,除非你想大规模地做一些事情(比如同时检查数百个站点上的数千个不同广告),否则一种更简单、效率更低的特征提取方法可能会很好地工作。