将500,000个音频文件分组(多次重复)的最佳方法?

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

我有一个500,000个用户上传的音频文件的数据库,包括:

  • 歌曲
  • 电影中的音频片段
  • 在线随机音频文件
  • [用户录制的音频剪辑(例如,带有麦克风)

虽然音频文件的标题不一致,有时甚至是不正确,但标题却不正确。

[许多重复项之间存在细微差异:标题差异,音频差异(长度,压缩,音高等)。我想将每个音频文件放入一个与其对应的类别。 “它是什么”是指基于音频的那个音频文件中最相关的标题(不是标题)。

例如,“ Michael Jackson-Thriller”可能有30种不同的音频文件,它们的长度,压缩级别,标题不同,等等。这些都应归为一类,并带有正确格式的歌曲标题。

某些音频文件将无法以编程方式正确地命名。例如,此视频https://www.youtube.com/watch?v=ee925OTFBCA的音频在数据库中将有很多实例,但是我认为那里没有能够对其进行标题的API。在这种情况下,只要仍可以将它们匹配为相似的发音并将其放在一个组中,就可以从剪辑已经具有的标题中选择一个标题。我想我可以通过找出与所有这些人“最相似”的标题(例如,最高的平均Sørensen-Dice系数)来做到这一点。

还有一部分用户记录的剪辑,由于它们仅存在于此数据库中,因此无法以编程方式对其进行标题/分组。

作为不一致的头衔的例子,贝多芬的《第六交响曲》可能有很多不同的名字,例如:

  • 第6交响曲(贝多芬)
  • 贝多芬第六交响曲
  • 贝多芬6
  • Beathoven第六重音(故意拼写错误)

为了对这些文件进行分类,我计划对每个文件执行以下操作:

  • 使用音频识别API尝试识别它,如果可以识别,将其放在类别中
  • 如果无法识别,请跨数据库检查非常相似的音频剪辑
  • [如果音频数据库中存在匹配项,则将该音频剪辑链接到该匹配项,以便将其与匹配的音频剪辑放置在相同的类别中(如果匹配的剪辑尚无类别,则在它给出一个)
  • 如果没有匹配项,则将文件放置在其自己的类别中,并带有其先前的标题

这样做的目的是使数据库更小,更好地分类,以便使用更少的存储空间,并使最终用户更容易搜索和导航。

现在,搜索某些音频片段会打开数百个相同的文件,但会有细微的差异。这是我们要解决的主要问题。

我有三个问题:

  • 哪种音频识别API最适合识别音频文件?尤其要考虑到正在识别的剪辑类型和定价
  • 应该使用哪个API比较音频文件以找出相似之处?需要考虑将这些数据库与之进行比较的数据库的大小]
  • 我的方法是否存在某种缺陷?如果是这样,您将如何处理此任务?
audio categories similarity audio-processing
1个回答
0
投票

获得整个音频文件的简要描述通常称为“音频指纹”。

有很多解决方案。 MusicBrainz.org文档的good overview包括商业产品和开源项目。他们自己的最新方法(也可以作为开源使用)是AcousticId

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