问题标签 [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.
xml - 如何通过 Musicbrainz 获取有关发布所属系列的信息
我计划扩展音乐库管理器beets,它依赖于 Musicbrainz 作为后端。
我想要做的是在给定编译的 MBID 的情况下找出编译所属的系列。当您在 WEB-Interface 中打开一个发布时,“发布组”会写在页面底部。
例如有Bravo Hits 45。它属于Bravo Hits系列,没有 45。
bfaa7806-0628-4e81-a553-b88e379b6c3b
但是,在给定 MBID(例如,使用 XML-API 发布的版本)的情况下,我如何获得这些信息?
(PS:我不是 100% 确定关键字是否series
有release-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 进行精确查找,对吧?
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 存储库构建?
python - 安装 pip pyicu 时出错
我一直在尝试在我的 Mac 上安装 musicbrainz 服务器,并且有一个步骤是我必须安装 pip pyicu。我不断收到此错误:
我尝试下载 ez_setup.py 并执行 python ez_setup.py。我已经升级了 setuptools 并分别下载了它们。我不确定还有什么可以尝试的。请帮忙!
search - 如何对 MusicBrainz 搜索 API 的结果进行排序
我正在尝试从 MusicBrainz API 检索曲目信息,仅使用艺术家和标题作为搜索查询:
这将返回艺术家发行的歌曲的每个版本,包括合辑、“最佳”专辑和现场录音。我想找到“原始”版本,它应该是第一个发布的版本。
如果不检索每一个结果(这在单个请求中可能不可能),那么明显的方法是让响应按发布日期升序排序,这样第一个结果总是我所追求的。
API文档似乎没有提到排序结果,所以这可能吗?
javascript - 从musicbrainz返回乐队成员
我有相当多的使用 javascript 的经验,但从未调用过外部数据库,所以这对我来说是一个新的领域。我正在尝试将乐队的成员作为 json 对象从 Musicbrainz 数据库中返回。目前,哪个小组都没有关系,所以让我们说涅槃就是他们的例子之一。我试过这个:
但这并没有给我我的想法。我预计关系数组将包含乐队成员、开始和结束日期等,但事实并非如此。我得到了这个,关系数组包含其他数据,比如电视节目
任何人都可以帮助我或指出我的方向。我正在使用 JavaScript。
谢谢
谢谢
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 的发行组(标题、日期、类型、状态)。如果我浏览,我会得到日期,但不能包含或按状态过滤。如果我搜索,我可以按状态过滤,但没有日期。如何在一个查询中同时获取两者?
json - 查询所有艺术家的 https://musicbrainz.org
我如何在https://musicbrainz.org上查询所有 1720 年之后出生并在 1900 年之前去世的艺术家?
我需要检索他们的 ID 和一些关于他们的信息。是否可以获取 JSON 格式的数据?
mysql - SQL:从像 [ date_year, date_month, date_day ] 这样的表中获取最早的日期
我有一张名为 RELEASE 的表:
我需要指定一个 SQL 查询,其中包含专辑名称、国家名称和最旧专辑的日期(年、月、日)。
(如果月和日的值为空也可以)
我不能使用LIMIT、OFFSET、ROWNUM ...我只能使用标准 SQL 结构。
我尝试进行此查询,但不正确:
结果将是:
我该如何解决?谢谢
sql - 查询SQL:列出从未合作过但共同合作过第三位艺人的艺人对
我有一张名为 FEATURING 的表:
我需要指定一个 SQL 查询,该查询包含从未相互合作但与另一位艺术家共同合作的艺术家的对( Artist_1的名称,Artist_2 的名称)
例如:X feat Y, Z feat Y ---> (X, Z) 是解
结果将是:
我该如何解决?非常感谢!
mysql - musicbrainz 无法按国家/地区统计艺术家
嗨,我正在使用 musicbrainz 数据库,我无法计算每个国家/地区的所有艺术家,但无论我尝试哪个国家/地区,我都会遇到相同的错误,即使我尝试使用 like。PLease 谁能告诉我我做错了什么?
错误:列“%u%”不存在第 7 行:WHERE AREA.NAME LIKE “%u%”
更新:
错误:由于语句超时而取消语句
我的老师刚过来说没有子查询就不行?
子查询工作正常,但主查询失败?知道为什么。