基本上,我有很多代表同一首歌的音频文件.然而,其中一些质量比原始质量差,有些被编辑到它们与原始歌曲不再匹配的地方.我想要做的是以编程方式将这些音频文件与原始文件进行比较,看看哪些音频与该歌曲匹配,无论质量如何.直接比较显然不起作用,因为文件的质量各不相同.
我相信这可以通过分析歌曲的结构并与原作进行比较来完成,但我对音频工程一无所知,所以这对我没有多大帮助.所有歌曲的格式相同(MP3).另外,我正在使用Python,所以如果有绑定,那就太棒了; 如果没有,JVM甚至本地库的东西都可以,只要它在Linux上运行,我就可以弄清楚如何使用它.
atz*_*tzz 17
这实际上不是一项微不足道的任务.我不认为任何现成的库可以做到这一点.这是一种可能的方法:
Python库:
另一个复杂因素.您的歌曲在开始时可能会有不同的沉默长度.因此,为了避免误报,您可能需要额外的步骤:
3.1.从头开始扫描PCM数据,直到声能超过预定阈值.(例如,用10个样本的滑动窗口计算RMS,当它超过动态范围的1%时停止).然后丢弃所有数据,直到这一点.
从那个答案复制:
老 AudioScrobbler 和目前MusicBrainz 的人们很久以前就一直在研究的完全相同的问题。目前,可以帮助您完成任务的 Python 项目是Picard,它将使用 GUID(实际上是其中几个)标记音频文件(不仅是 MPEG 1 第 3 层文件),从那时起,匹配标签很简单。
如果您更喜欢将其作为自己的项目进行,libofa可能会有所帮助。Python 包装器的文档可能对您最有帮助。
| 归档时间: |
|
| 查看次数: |
21597 次 |
| 最近记录: |