是否可以根据它们的 wav 文件比较两首相似的歌曲?

Posted

技术标签:

【中文标题】是否可以根据它们的 wav 文件比较两首相似的歌曲?【英文标题】:Is it possible to compare two similar songs given their wav files? 【发布时间】:2017-06-11 11:43:06 【问题描述】:

我有一个大型的旧音乐库(1920 年代、30 年代、40 年代等),其中有很多重复项,我想确定重复项并使用相同的 MP3 标签信息组织它们。由于音乐是不久前录制的,虽然它们听起来可能类似于人耳,但它们的录音实际上可能有点不同(更安静、更静态等)。

我目前正在使用 pydub 解析一些音乐,并且能够生成 wav 文件,消除歌曲开头和结尾的静音,并压缩音乐的动态范围,但我会希望能够比较 wav 文件,如果它们足够相似,我可以假设它们是相同的并给它们相同的标签。

是否可以通过 scipynumpy 之类的方式运行 wav 文件数据,以使用诸如傅立叶变换/FFT 之类的方式以高精度比较/关联数据?我知道它可以使用像dejavu 这样的系统来完成,但它非常密集并且在数据库中使用大量存储空间,而且我可以访问原始文件而不是使用麦克风,所以我更愿意做一些事情这更简单。

【问题讨论】:

beets 或 picard 应该能够帮助您并提供更多。如果你想实现自己定制的东西,librosa 可能是核心(比 scipy 更专业)。 【参考方案1】:

您需要audio hash 或acoustic fingerprint。它们都是“密集型”(资源匮乏),因为它们必须解压音频并提取数据。

【讨论】:

以上是关于是否可以根据它们的 wav 文件比较两首相似的歌曲?的主要内容,如果未能解决你的问题,请参考以下文章

如何同时录制使用 AVPlayer 和 wav 文件播放的歌曲?

将 MP3 文件转换为 WAV

循环访问顺序访问 exifdata 的歌曲

什么叫做ape无损音乐格式?

所有规格为“0”时的默认 WAV 描述

MediaPlayer 只播放某些 WAV 文件