c# - 如何从音频文件中获取 musicbrainz 轨道信息

标签 c# audio fingerprinting audio-fingerprinting musicbrainz

谁能告诉我如何从 MusicBrainz 中获取轨道信息使用音频指纹从音频文件(mp3、wav、wma、ogg 等...)中提取数据库。我正在使用 MusicBrainz Sharp 库,但任何其他库都可以。

我看到你必须使用 libofa 库,你不能使用 MusicBrainz Sharp 从音频文件中获取 puid,但我不知道如何在 C# 中使用 libofa。

请展示一些示例和代码片段来帮助我,因为我无法在任何地方找到它们。

提前致谢!

最佳答案

关键是你可以使用 libofa获取音频文件的指纹,但如果文件没有 PUID可用,你会被卡住,必须使用类似 genpuid 的东西提交音频指纹到AmpliFIND然后等待大约一天得到 PUID .

话虽这么说,大约两年前我尝试过类似的东西,但如果我没记错的话,当我未能编写 IDv3 标签时,我对该项目失去了兴趣。但是,源代码可用on Bitbucket .

我基本上是wrapped libofa使用 DllImportwrapped 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/

相关文章:

c# - 为 TableView 数据源添加列表而不是替换列表

audio - Musicbrainz 指纹识别

awk - 如何使用sed隔离 “ssh-keygen -if”输出中的Linux指纹

c# - 如何以编程方式解析命令(例如 gacutil)的路径?

c# - 在 C# 中验证 FQDN

c# - 返回迭代器方法

java - 是否可以在基于 PHP 或 JAVA 的在线 Web 应用程序中将音频从客户端录制到服务器?

android - Android:在手机上处理视频和声音

java - 使用android studio在android中通过单击java中的媒体播放器按钮来播放声音

javascript - 如何使用组件数组验证 fingerprint2.js 创建的哈希