实际上声音匹配/搜索的现有技术是什么?我目前远程参与规划一个Web应用程序,其中包括并公开一个记录的短音频剪辑数据库(最多3-5秒,人名)。已经提出了一个问题,即是否可以基于用户语音输入实现搜索。我的直觉告诉我,从计算和算法的角度来看,这是一项不可能完成的任务,尤其是在Web应用程序中(除此之外,它不是应用程序的核心功能)。我意识到可能有许多学术项目,这将是一个很好的研究课题,但它不是任何可以作为附加功能实现到中型Web应用程序的东西。为了支持我的说法,我花了半个小时搜索,以便我不会错过任何明显的东西,但我真的找不到任何好的来源。
我知道在没有花费更多时间研究自己的情况下提出问题并不是很负责任,但是我一直注意到在SO上发出一个问题更有效,更准确,更快,只是随机谷歌搜索东西。
答案 0 :(得分:7)
有一些音频指纹识别技术(主要是专有技术),它基本上是“散列”音频文件。然后搜索是一个简单的哈希表或数据库查找。
Musicbrainz对各种技术Here
进行了很好的破解这些指纹是否适合您的特定情况,我无法告诉您。
答案 1 :(得分:5)
我不确定您是在尝试根据输入识别扬声器还是将输入与数据库中的名称相匹配。但是:我曾经有过这样的想法来开发一个度量来计算两个口语单词的“距离”。我从未接近过实施,但我想出了以下内容:
1)您需要定义音频的重要功能。这是Nick在他的回答中描述的'哈希'部分。即使是频谱图也可能包含太多有用的信息。我发现可能有趣的方法(没有关于语音研究的任何理论知识)是MFCC(即梅尔频率倒谱系数)。 etsi.org上有免费代码(寻找语音协调和标准)。
2)言语速度可能会因事情而变得复杂。动态时间扭曲可用于解决此问题。有关示例,请参阅此Matlab-code。
我认为这不会很容易实现,而且需要进行大量调整。而且它绝对不是最先进的。