Audio 声音样本识别库/代码

Audio 声音样本识别库/代码,audio,signal-processing,audio-processing,Audio,Signal Processing,Audio Processing,我不想要声音到文字的软件。我需要的是: 我将录制多个(比如50多个)音频流(广播电台的录音) 从这些录音中,我将标记出有趣的音频片段——它们的长度从2秒到60秒不等——这样的音频片段将有几千个 库应该能够从录制的声音流中找到相同音频片段的其他实例 应报告使用的置信因子,并提供额外的输入,以便下次识别性能更好 你知道这样的软件库吗?LGPL对我来说是最有价值的,但我也可以申请商业许可证 音频剪辑将包含音乐、文本、效果或其任何组合。因此,文本识别是不可能的 架构:C++,CUA为GULL,CUD

我不想要声音到文字的软件。我需要的是:

  • 我将录制多个(比如50多个)音频流(广播电台的录音)
  • 从这些录音中,我将标记出有趣的音频片段——它们的长度从2秒到60秒不等——这样的音频片段将有几千个
  • 库应该能够从录制的声音流中找到相同音频片段的其他实例
  • 应报告使用的置信因子,并提供额外的输入,以便下次识别性能更好
你知道这样的软件库吗?LGPL对我来说是最有价值的,但我也可以申请商业许可证

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


架构:C++,CUA为GULL,CUDA,如果可能。

< P>查看微软语音API(SAPI):

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


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

我还没有找到任何库,但有两篇有趣的论文,它们可能会为您提供术语和背景,以改进您的搜索:

编辑:搜索“音频指纹”的页面上有很多实现,包括开源和商业

  • 似乎已经很成熟了,如果你的剪辑中包含音乐,可能会很有用

这里是一个

您所描述的是一个,您所需要的只是一个函数,它应该是任何合理的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
我的阈值以上是任意的。你应该通过实验确定什么适合你

请记住,“有趣的片段”越长,计算相关性所需的时间就越长。虽然较长的剪辑将有助于实际的匹配更好地从非匹配中脱颖而出,但你可能不需要超过几秒钟。

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

您可能想看看王丽春的文章


这不是一个API,但它确实给出了他们的算法是如何开发的详细信息。

我会按照Tim Kryger的答案,使用简单的统计相关函数,因为你想保持内容不可知


至于功能,我肯定会尝试MFCC,因为它在语音处理和音乐识别(流派、歌曲)中都有使用。您可以在优秀的开源软件(或其更高级的捆绑包,一个名为的程序)或框架中找到MFCC和大量其他音频功能。

音频剪辑是否包含语音、声音、音乐,所有这些?您是否考虑了特定的语言或处理器体系结构?顺便问一下,经过2年的开发,我创建了自己的实现,并可用于商业开发:)videophill.com/index.php上的数据库连接失败?page=playkontrol@DanielMošmondorMIT许可的Python库:好的,相关性似乎很好,但在什么功能空间???你的建议是什么?好吧,既然我的问题明确地说我不想要声音到文本的识别,因为我在寻找叮当声或其他类型的声音时没有用,我就不得不在这个问题上给你-1。你的第一个建议看起来很有希望,我知道皮卡德,但我不确定这是否适用于“流式采样”检测。