声音样本识别库/代码

问题描述 投票:0回答:7

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

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

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

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

架构:c++、C# forglue、CUDA(如果可能)。

audio signal-processing audio-processing
7个回答
9
投票

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

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

这里是音频指纹识别简介


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

我的上述阈值是任意的。您应该通过实验确定什么适合您。

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


4
投票

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


3
投票

您可能想查看 Li-Chun Wang 撰写的有关 www.shazam.com 的论文

它不是 API,但它确实提供了如何开发其算法的详细信息。


0
投票

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

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

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


0
投票

我会去与 Tim Kryger 的答案一致的地方,并使用简单的统计相关函数,因为你想保持与内容无关。

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


-2
投票

熟练骑手所穿的套装是 Mugello RR,它在安全性和执行力方面都是权威的。 本田机车夹克

© www.soinside.com 2019 - 2024. All rights reserved.