14

我不想要声音到文本的软件。我需要的是以下内容:

  • 我会录制多个(比如 50 多个)音频流(广播电台的录音)
  • 从这些录音中,我会标记有趣的音频剪辑——它们的长度范围从 2 到 60 秒——这样的音频剪辑将有几千个
  • 库应该能够从录制的声音流中找到相同音频剪辑的其他实例
  • 应向使用者报告置信因子并提供额外的输入,以便下次识别性能更好

你知道这样的软件库吗?LGPL 对我来说最有价值,但我也可以申请商业许可。

音频剪辑将包含音乐、文本、效果或其任意组合。因此,TEXT 识别是不可能的。

架构:c++、C# 用于胶水、CUDA(如果可能)。

4

6 回答 6

9

我还没有找到任何图书馆(还),但有两篇有趣的论文,它们可能会为您提供术语和背景来完善您的搜索:

编辑:搜索“音频指纹”来到一个实现页面,包括开源和商业。

这是音频指纹识别的介绍

于 2010-05-15T02:33:22.940 回答
7

您所描述的是一个匹配滤波器,您所需要的只是一个互相关函数,它应该是任何合理的 DSP 库的一部分。 根据您选择的处理器架构和语言,您甚至可以找到可以更有效地执行此操作的矢量化库。

如果你真的不关心性能,你可以使用 Python ......

$ python
Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> interesting_clip = [ 5, 7, 2, 1]
>>> full_stream = [ 1, 5, 7, 2, 1, 4, 3, 2, 4, 7, 1, 2, 2, 5, 1]
>>> correlation = scipy.correlate (full_stream, interesting_clip)
>>> print correlation
[56 79 55 28 41 49 44 53 73 48 28 35]
>>> for offset, value in enumerate(correlation) :
...     if (value > 60) :
...         print "match at position", offset, "with value of", value
... 
match at position 1 with value of 79
match at position 8 with value of 73

我上面的门槛是任意的。您应该通过实验确定什么适合您。

请记住,您的“有趣剪辑”越长,计算相关性所需的时间就越长。虽然较长的剪辑有助于实际匹配从非匹配中脱颖而出,但您可能只需要几秒钟。

于 2010-05-15T02:58:43.623 回答
4

AudioDB是一个开源 C++ 项目,它可以搜索音频的相似部分,处理嘈杂的流,并可以为您提供相似度的度量。它可以作为客户端/服务器运行,但我相信你可以做一个独立的程序。
关于 dsp 相关性的其他答案是正确的,但通常这些 dsp 算法想要比较两个相同长度的流,它们具有相似的部分重叠。
您需要它来处理流的任意段;这就是 AudioDB 的目的。(一个应用程序是查找隐藏的引用/采样或公然的版权滥用。)我用它来查找向后播放的声音,它还发现引入了一些噪音或语音变化的情况。
请注意,即使主页上的日期似乎已关闭,它仍在开发中。我会订阅邮件列表并询问当前状态是什么以及您将如何整合它。

于 2010-05-18T02:04:02.487 回答
3

您可能想看看Li-Chun Wang 关于www.shazam.com的这篇论文

它不是一个 API,但它确实详细说明了他们的算法是如何开发的。

于 2010-05-20T08:34:57.973 回答
0

看看微软语音 API (SAPI):http:
//msdn.microsoft.com/en-us/library/ee125077%28VS.85%29.aspx

您列出的所有其他要求基本上都是您必须自己实现的实现细节。例如,当软件解释音频流时,它可以将它们存储在带有全文索引的 SQL 服务器中......您可以从中进行搜索以查找相似/相同的音频剪辑。

当然还有其他方法可以实现,这只是一个想法:-)

于 2010-05-14T20:33:51.510 回答
0

我会根据 Tim Kryger 的回答去某个地方并使用简单的统计相关函数,因为您希望保持与内容无关。

As for the features I would definately try MFCC as it's used both in speech processing and music recognition (genres, songs). You can find MFCC and a wealth of other audio features available in the excellent open source Vamp plugins (or its more high-level bundle, a program called Sonic Annotator) or alternatively in the Marsyas framework.

于 2012-04-07T17:14:33.783 回答