谁能告诉我如何从 MusicBrainz 中获取轨道信息使用音频指纹从音频文件(mp3、wav、wma、ogg 等...)中提取数据库。我正在使用 MusicBrainz Sharp 库,但任何其他库都可以。
我看到你必须使用 libofa 库,你不能使用 MusicBrainz Sharp 从音频文件中获取 puid,但我不知道如何在 C# 中使用 libofa。
请展示一些示例和代码片段来帮助我,因为我无法在任何地方找到它们。
提前致谢!
最佳答案
关键是你可以使用 libofa获取音频文件的指纹,但如果文件没有 PUID可用,你会被卡住,必须使用类似 genpuid 的东西提交音频指纹到AmpliFIND然后等待大约一天得到 PUID .
话虽这么说,大约两年前我尝试过类似的东西,但如果我没记错的话,当我未能编写 IDv3 标签时,我对该项目失去了兴趣。但是,源代码可用on Bitbucket .
我基本上是wrapped libofa使用 DllImport
和 wrapped genpuid (即读取输出 XML)以便能够读取指纹并提交文件以进行指纹识别,如果我没有从 libofa 获得指纹的话。我也写了some code使用 MusicBrainz Sharp 从 MusicBrainz 读取信息.
嗯,至少那是我当时的计划,我想。 :) 我希望这可以帮助您解决问题,我很乐意看到这方面的更新。
编辑:我刚刚注意到我创建了一个 bug report对于我自己,这基本上说明我仍然需要为我的 decoder 实现这可能就是我创建 this question 的原因所以。所以我想我没有实现 genpuid fingerprinter只是为了能够做指纹/获取 guid,因为我没有得到 libofa fingerprinter才能正常工作。
关于c# - 如何从音频文件中获取 musicbrainz 轨道信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4578008/