问题标签 [musicbrainz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

xml - 如何通过 Musicbrainz 获取有关发布所属系列的信息

我计划扩展音乐库管理器beets,它依赖于 Musicbrainz 作为后端。

我想要做的是在给定编译的 MBID 的情况下找出编译所属的系列。当您在 WEB-Interface 中打开一个发布时,“发布组”会写在页面底部。

例如有Bravo Hits 45。它属于Bravo Hits系列,没有 45。

bfaa7806-0628-4e81-a553-b88e379b6c3b但是,在给定 MBID(例如,使用 XML-API 发布的版本)的情况下,我如何获得这些信息?

(PS:我不是 100% 确定关键字是否seriesrelease-group共同点。)

我试图请求元数据以包括系列关系和集合信息: http://musicbrainz.org/ws/2/release/bfaa7806-0628-4e81-a553-b88e379b6c3b?inc=series-rels+collections 没有信息。

或者也许通过发布组? http://musicbrainz.org/ws/2/release-group?release=bfaa7806-0628-4e81-a553-b88e379b6c3b 无信息。

我认为甚至应该有一个系列的浏览请求,但这个查询甚至不存在: https://musicbrainz.org/ws/2/series?release=1350fce9-08ab-40ba-a7bb-ed3cfb869499


无论如何,我可以使用该名称进行查询,得到很多不准确的结果,包括正确的结果: https://musicbrainz.org/search?query=Bravo+Hits+45&type=series&method=indexed

但我想应该有一种方法,使用版本的 MBID 进行精确查找,对吧?

0 投票
1 回答
313 浏览

musicbrainz - MusicBrainz 服务器更新

几天前我成功安装了一个新下载的虚拟实例,在 Windows 10 上的 VirtualBox 中运行。似乎工作正常。请注意,主页上的“统计”下的日期为 2016 年 4 月。配置了复制密钥,运行“bin/replicate start”,现在统计页面更新为 2016 年 5 月 22 日。有趣的是,镜像http://musicbrainz-mirror.eu:5000/显示相同的 05/22/16 日期。

似乎数据库架构在 2016 年 5 月 23 日发生了变化(https://blog.musicbrainz.org/2016/05/25/schema-change-release-2016-05-23-with-upgrade-instructions/),但是可供下载的虚拟机日期为 2015-08-06,位于http://musicbrainz.org/doc/MusicBrainz_Server/Setup

因此,当前虚拟机的自动更新在 5/22 停止。似乎有道理,但最新的虚拟机构建在哪里,还是留给用户从 GitHub 存储库构建?

0 投票
9 回答
26501 浏览

python - 安装 pip pyicu 时出错

我一直在尝试在我的 Mac 上安装 musicbrainz 服务器,并且有一个步骤是我必须安装 pip pyicu。我不断收到此错误:

我尝试下载 ez_setup.py 并执行 python ez_setup.py。我已经升级了 setuptools 并分别下载了它们。我不确定还有什么可以尝试的。请帮忙!

0 投票
2 回答
835 浏览

search - 如何对 MusicBrainz 搜索 API 的结果进行排序

我正在尝试从 MusicBrainz API 检索曲目信息,仅使用艺术家和标题作为搜索查询:

这将返回艺术家发行的歌曲的每个版本,包括合辑、“最佳”专辑和现场录音。我想找到“原始”版本,它应该是第一个发布的版本。

如果不检索每一个结果(这在单个请求中可能不可能),那么明显的方法是让响应按发布日期升序排序,这样第一个结果总是我所追求的。

API文档似乎没有提到排序结果,所以这可能吗?

0 投票
2 回答
224 浏览

javascript - 从musicbrainz返回乐队成员

我有相当多的使用 javascript 的经验,但从未调用过外部数据库,所以这对我来说是一个新的领域。我正在尝试将乐队的成员作为 json 对象从 Musicbrainz 数据库中返回。目前,哪个小组都没有关系,所以让我们说涅槃就是他们的例子之一。我试过这个:

但这并没有给我我的想法。我预计关系数组将包含乐队成员、开始和结束日期等,但事实并非如此。我得到了这个,关系数组包含其他数据,比如电视节目

任何人都可以帮助我或指出我的方向。我正在使用 JavaScript。

谢谢

谢谢

0 投票
1 回答
252 浏览

python - 按artist_id过滤browse_release_groups的结果以获得唱片,python

我正在尝试检索各种艺术家的唱片。对于我检查过的艺术家来说,维基百科和 MusicBrainz.org 的手动网络界面似乎就组成这张专辑的内容达成了一致。我的第一个想法是尝试筛选这些资源中的任何一个,但这看起来很难正确完成。

对 musicbrainz 数据的直接查询似乎提供了一种获取干净数据的更快方法。理想情况下,我会构建这样的请求...

我选择使用 python 包装器 musicbrainsngs,因为我对 python 相当有经验。它让我可以选择三种方法,get_、search_ 和 browse_。Get_ 不会返回足够的记录。Browse_ 似乎是我想要的,所以我首先尝试了它,特别是因为 search_ 记录了在 python 示例中查找文本,而不是我已经拥有的 mb_id。

当我执行browse_release_groups(artist=artist_id,,,)时,我得到了一个发布组列表,每个组都包含我想要的数据,即专辑名称、类型和年份。但是,我还有大量其他版本组没有出现在他们的手动网络结果中(例如滚石乐队)https://musicbrainz.org/artist/b071f9fa-14b0-4217-8e97-eb41da73f598

似乎没有任何方法可以在查询中过滤 status='official',或者将状态作为结果的一部分包含在内,以便我可以手动过滤。

针对这个问题,维兰德建议我使用 search_ 查询。我已经测试了 search_release_groups(arid=mbid, status='official', primarytype='Album', strict=True, limit=...) 并且返回的版本组要少得多。就录音室专辑而言,它匹配 1:1。编译中仍有一些细微的差异,我可以忍受。但是,这个查询没有返回第一个发布日期,到目前为止,它一直在阻止我试图找到如何包含它。我注意到在链接到每个查询的服务器搜索代码中都开始操作 rgm.first_release_date_year 等,但不清楚如何/何时从查询中返回。

我突然想到我可以同时使用 browse_ 和 search_ ,因为它们一起为我提供了所有信息。所以我有一个工作,但感觉相当农业。

TL;DR我想要按艺术家 ID 的发行组(标题、日期、类型、状态)。如果我浏览,我会得到日期,但不能包含或按状态过滤。如果我搜索,我可以按状态过滤,但没有日期。如何在一个查询中同时获取两者?

0 投票
2 回答
501 浏览

json - 查询所有艺术家的 https://musicbrainz.org

我如何在https://musicbrainz.org上查询所有 1720 年之后出生并在 1900 年之前去世的艺术家?

我需要检索他们的 ID 和一些关于他们的信息。是否可以获取 JSON 格式的数据?

0 投票
2 回答
161 浏览

mysql - SQL:从像 [ date_year, date_month, date_day ] 这样的表中获取最早的日期

我有一张名为 RELEASE 的表:

我需要指定一个 SQL 查询,其中包含专辑名称、国家名称和最旧专辑的日期年、月、日)

(如果月和日的值为空也可以)

我不能使用LIMIT、OFFSET、ROWNUM ...我只能使用标准 SQL 结构。

我尝试进行此查询,但不正确


结果将是:


我该如何解决?谢谢

0 投票
2 回答
99 浏览

sql - 查询SQL:列出从未合作过但共同合作过第三位艺人的艺人对

我有一张名为 FEATURING 的表:

我需要指定一个 SQL 查询,该查询包含从未相互合作但与另一位艺术家共同合作的艺术家的对( Artist_1名称,Artist_2 的名称


例如:X feat Y, Z feat Y ---> (X, Z) 是解


结果将是:


我该如何解决?非常感谢!

0 投票
2 回答
99 浏览

mysql - musicbrainz 无法按国家/地区统计艺术家

嗨,我正在使用 musicbrainz 数据库,我无法计算每个国家/地区的所有艺术家,但无论我尝试哪个国家/地区,我都会遇到相同的错误,即使我尝试使用 like。PLease 谁能告诉我我做错了什么?

错误:列“%u%”不存在第 7 行:WHERE AREA.NAME LIKE “%u%”

更新:

错误:由于语句超时而取消语句

我的老师刚过来说没有子查询就不行?

子查询工作正常,但主查询失败?知道为什么。