【问题标题】:Sound matching / search声音匹配/搜索
【发布时间】:2009-05-25 08:47:14
【问题描述】:

声音匹配/搜索的实际技术现状如何?我目前正在远程参与规划一个 Web 应用程序,该应用程序除其他外将包含并公开一个记录的短音频剪辑数据库(最多 3-5 秒,人名)。有人提出了一个问题,是否可以根据用户语音输入来实现搜索。我的直觉告诉我,从计算和算法的角度来看,这都是一项不可能完成的任务,尤其是在 Web 应用程序中(除此之外,它不是应用程序的核心功能)。我意识到可能有许多学术项目,这将是一个很好的研究课题,但它不是任何可以作为附加功能实现到中型 Web 应用程序的东西。为了支持我的说法,我花了半个小时搜索,以免遗漏任何明显的东西,但我真的找不到任何好的来源。

我知道在不花更多时间自行研究的情况下提出关于 SO 的问题并不是很负责任,但我一直注意到在 SO 上提出问题比随机谷歌搜索更有效、更准确、更快捷东西。

【问题讨论】:

  • 我不确定 EchoNest 是否对您有用,但您可能想查一下。

标签: audio


【解决方案1】:

市面上有一些音频指纹识别技术(大部分是专有技术),它们本质上是对音频文件进行“散列”处理。然后搜索是一个简单的哈希表或数据库查找。

Musicbrainz 对各种技术都有很好的了解Here

这些指纹是否适合或是否适合您的特定情况,我无法告诉您。

【讨论】:

    【解决方案2】:

    我不确定您是尝试根据输入来识别说话者,还是将输入与数据库中的名称进行匹配。但是:我曾经有这个想法来开发一个度量来计算两个口语单词的“距离”。我从来没有接近实现,但我想出了以下几点:

    1) 您需要定义音频的重要特征。这是尼克在他的回答中描述的“散列”部分。即使是频谱图也可能包含太多有用的信息。我发现一种可能有趣的方法(没有任何关于语音研究的理论知识)是 MFCC(即 mel 频率倒谱系数)。 etsi.org 上有免费代码(查找语音识别和标准)。

    2) 语速会有所不同,这会使事情变得复杂。动态时间扭曲可以用来解决这个问题。有关示例,请参阅此 Matlab-code

    我认为这不会很容易实现,并且需要很多调整。而且它绝对不是最先进的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2013-08-19
      • 2011-12-09
      • 2017-07-12
      • 1970-01-01
      • 2014-08-06
      相关资源
      最近更新 更多