#+author:
#+title: MusicBrainz & ListenBrainz & other
+* MusicBrainz
+
[[file:img/musicbrainz-logo.svg]]
MusicBrainz is a community-maintained open source encyclopedia of [[https://musicbrainz.org/doc/About][music information]]. The REST-based [[https://musicbrainz.org/doc/MusicBrainz_API][webservice API]] can be used for direct access to MusicBrainz data with output in XML and JSON.
This code provides a simple, incomplete yet possibly useful interface to some of the MusicBrainz and ListenBrainz APIs from emacs for exploratory use in =org-mode= or behind the scenes sending listening metadata.
+* MusicBrainz API
+
+- Recording documentation: https://musicbrainz.org/doc/Recording
+- Release documentation: https://musicbrainz.org/doc/Release
+- Artist documentation: https://musicbrainz.org/doc/Artist
+
+** searching & browsing
+
+Search supports the full [[https://lucene.apache.org/core/7_7_2/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package.description][Lucene search syntax]].
+
** some examples
+The API docs provide an example search for “Autechre albums & eps” using the URL https://musicbrainz.org/ws/2/release-group?artist=410c9baf-5469-44f6-9852-826524b80c61&type=album|ep
+
+The equivalent function (which returns a raw response as an alist) would be…
+#+BEGIN_SRC emacs-lisp
+(musicbrainz-browse "release-group" "artist" "410c9baf-5469-44f6-9852-826524b80c61" "album|ep")
+#+END_SRC
+
+For slightly more legible output wrap with =musicbrainz-format=
#+BEGIN_SRC emacs-lisp
-(musicbrainz-search "recording" "taema")
+(musicbrainz-format
+ (musicbrainz-browse "release-group"
+ "artist"
+ "410c9baf-5469-44f6-9852-826524b80c61"
+ "album|ep"))
#+END_SRC
-Autechre albums & eps
+A more interactive approach could start with =(musicbrainz-search "artist" "Autechre")= or =(musicbrainz-search-artist "Autechre")= Which returns an MBID required for the lookup =410c9baf-5469-44f6-9852-826524b80c61=
-docs provide the example URL https://musicbrainz.org/ws/2/release-group?artist=410c9baf-5469-44f6-9852-826524b80c61&type=album|ep
+The MBID can be used for specific lookups (and checked if needed using =musicbrainz-mbid-p= )
#+BEGIN_SRC emacs-lisp
-(musicbrainz-browse "release-group" "artist" "410c9baf-5469-44f6-9852-826524b80c61" "album|ep")
+(musicbrainz-lookup "artist" "410c9baf-5469-44f6-9852-826524b80c61" "releases")
#+END_SRC
#+BEGIN_SRC emacs-lisp
-(musicbrainz-search-artist "Autechre")
+(musicbrainz-lookup-artist "410c9baf-5469-44f6-9852-826524b80c61")
#+END_SRC
-#+RESULTS:
-| Autechre | 410c9baf-5469-44f6-9852-826524b80c61 |
+| Autechre | electronic music duo | Group | [[https://musicbrainz.org/artist/410c9baf-5469-44f6-9852-826524b80c61][410c9baf-5469-44f6-9852-826524b80c61]] |
+
+#+BEGIN_SRC emacs-lisp
+(musicbrainz-lookup-artist-releases "410c9baf-5469-44f6-9852-826524b80c61")
+#+END_SRC
+
+#+BEGIN_SRC emacs-lisp
+(musicbrainz-lookup-artist-recordings "410c9baf-5469-44f6-9852-826524b80c61")
+#+END_SRC
+#+BEGIN_SRC emacs-lisp
+(musicbrainz-lookup-release "ec1ecfcc-f529-43d1-8aa6-2c7051ede00c")
+#+END_SRC
+
+| 1990 | Autechre / Saw You | Cassette Case | [[https://musicbrainz.org/release/ec1ecfcc-f529-43d1-8aa6-2c7051ede00c][ec1ecfcc-f529-43d1-8aa6-2c7051ede00c]] |
+
+#+BEGIN_SRC emacs-lisp
+(musicbrainz-lookup-recording "83730176-89ec-41a5-a4b6-476998f6291c")
+#+END_SRC
+
+| [untitled] | [[https://musicbrainz.org/recording/83730176-89ec-41a5-a4b6-476998f6291c][83730176-89ec-41a5-a4b6-476998f6291c]] |
#+BEGIN_SRC emacs-lisp
(musicbrainz-search-label "Warp")
#+END_SRC
-#+RESULTS:
-| Warp | 46f0f4cd-8aab-4b33-b698-f459faf64190 |
+| Warp | [[https://musicbrainz.org/label/46f0f4cd-8aab-4b33-b698-f459faf64190][46f0f4cd-8aab-4b33-b698-f459faf64190]] |
#+BEGIN_SRC emacs-lisp
(musicbrainz-search-label "Music" 5)
#+END_SRC
-#+RESULTS:
-| 100 | Sony Music | global brand, excluding JP, owned by Sony Music Entertainment (1991 ongoing) | 9e6b4d7f-4958-4db7-8504-d89e315836af |
-| 96 | [no label] | Special purpose label – white labels, self-published releases and other “no label” releases (ongoing) | 157afde4-4bf5-4039-8ad2-5a15acc85176 |
-| 91 | Polydor | worldwide imprint, see annotation (1913-04-02 ongoing) | ce24ab18-1bd6-4293-a486-546d13d6a5e2 |
-| 91 | Universal Music | plain logo: “Universal Music” (ongoing) | 13a464dc-b9fd-4d16-a4f4-d4316f6a46c7 |
-| 90 | ZYX Music | (1992 ongoing) | 6844efda-a451-431e-8cc1-48ab111b4711 |
+| 100 | Sony Music | global brand, excluding JP, owned by Sony Music Entertainment (1991 ongoing) | [[https://musicbrainz.org/label/9e6b4d7f-4958-4db7-8504-d89e315836af][9e6b4d7f-4958-4db7-8504-d89e315836af]] |
+| 96 | [no label] | Special purpose label – white labels, self-published releases and other “no label” releases (ongoing) | [[https://musicbrainz.org/label/157afde4-4bf5-4039-8ad2-5a15acc85176][157afde4-4bf5-4039-8ad2-5a15acc85176]] |
+| 91 | Polydor | worldwide imprint, see annotation (1913-04-02 ongoing) | [[https://musicbrainz.org/label/ce24ab18-1bd6-4293-a486-546d13d6a5e2][ce24ab18-1bd6-4293-a486-546d13d6a5e2]] |
+| 91 | Universal Music | plain logo: “Universal Music” (ongoing) | [[https://musicbrainz.org/label/13a464dc-b9fd-4d16-a4f4-d4316f6a46c7][13a464dc-b9fd-4d16-a4f4-d4316f6a46c7]] |
+| 90 | ZYX Music | (1992 ongoing) | [[https://musicbrainz.org/label/6844efda-a451-431e-8cc1-48ab111b4711][6844efda-a451-431e-8cc1-48ab111b4711]] |
+
** MBID
(musicbrainz-artist-to-mbid "Autechre")
#+END_SRC
-=410c9baf-5469-44f6-9852-826524b80c61=
+returns =410c9baf-5469-44f6-9852-826524b80c61=
#+BEGIN_SRC emacs-lisp
(musicbrainz-mbid-p "410c9baf-5469-44f6-9852-826524b80c61")
** ambiguity
-from the docs…
+From the docs…
#+BEGIN_SRC text
John Williams, the soundtrack composer and conductor, has an artist MBID of 53b106e7-0cc6-42cc-ac95-ed8d30a3a98e
#+END_SRC
#+BEGIN_SRC emacs-lisp
-(musicbrainz-disambiguate-artist "John Williams")
+(musicbrainz-disambiguate-artist "John Williams" 3)
#+END_SRC
+| | Artist: John Williams | MBID |
+| 100 | John Williams, American score composer | [[https://musicbrainz.org/artist/53b106e7-0cc6-42cc-ac95-ed8d30a3a98e][53b106e7-0cc6-42cc-ac95-ed8d30a3a98e]] |
+| 94 | John Williams, classical guitarist | [[https://musicbrainz.org/artist/8b8a38a9-a290-4560-84f6-3d4466e8d791][8b8a38a9-a290-4560-84f6-3d4466e8d791]] |
+| 92 | John Williams, English A&R executive, producer, songwriter... | [[https://musicbrainz.org/artist/eb5d7680-0c00-4b0c-b6eb-9605ff77723d][eb5d7680-0c00-4b0c-b6eb-9605ff77723d]] |
+
+There are several “Bad Seeds”
+
#+BEGIN_SRC emacs-lisp
(musicbrainz-artist-to-mbid "Bad Seeds")
#+END_SRC
-=7feb02f2-51fa-422d-838e-2c14ecb4c7b8= → Tomorrows Bad Seeds
+Which returns the MBID =7feb02f2-51fa-422d-838e-2c14ecb4c7b8= for “Tomorrows Bad Seeds”, however…
#+BEGIN_SRC emacs-lisp
-(musicbrainz-disambiguate-artist "Bad Seeds")
+(musicbrainz-disambiguate-artist "Bad Seeds" 7)
#+END_SRC
#+RESULTS:
| 98 | The Bad Seeds, backing band for Nick Cave | [[https://musicbrainz.org/artist/eb2a8edc-5670-4896-82be-87db38de9583][eb2a8edc-5670-4896-82be-87db38de9583]] |
| 86 | Nick Cave & the Bad Seeds, nil | [[https://musicbrainz.org/artist/172e1f1a-504d-4488-b053-6344ba63e6d0][172e1f1a-504d-4488-b053-6344ba63e6d0]] |
| 50 | The Lightning Seeds, nil | [[https://musicbrainz.org/artist/1ba601a0-3401-4b28-8ddd-9af8203661e8][1ba601a0-3401-4b28-8ddd-9af8203661e8]] |
+| 49 | Seeds, UK dancehall | [[https://musicbrainz.org/artist/a03cf587-a3d3-4847-ac41-e488f779a313][a03cf587-a3d3-4847-ac41-e488f779a313]] |
+* ListenBrainz
+
[[file:img/listenbrainz-logo.svg]]
+
* listening
- https://listenbrainz.org
#+END_SRC
#+BEGIN_SRC emacs-lisp
-(listenbrainz-submit-single-listen "farmersmanual" "808808008088 (11)")
+(listenbrainz-submit-single-listen "Matthew Thomas" "Taema" "Architecture")
#+END_SRC
#+BEGIN_SRC emacs-lisp
-(listenbrainz-submit-single-listen "Matthew Thomas" "Taema" "Architecture")
+(listenbrainz-submit-single-listen "farmersmanual" "808808008088 (11)")
#+END_SRC
#+BEGIN_SRC emacs-lisp
#+END_SRC
#+BEGIN_SRC emacs-lisp
-(listenbrainz-stats-artists "zzzkt") ;; defaults to ’all time’
+(listenbrainz-stats-artists "zzzkt")
#+END_SRC
#+BEGIN_SRC emacs-lisp
| GET /1/(user_name)/pins | - |
+* otherBrainz
+ - [[https://critiquebrainz.org/][CritiqueBrainz]]
+ - [[https://bookbrainz.org/][BookBrainz]] → https://api.test.bookbrainz.org/1/docs/
+ - [[https://listenbrainz.org/messybrainz/][MessyBrainz]]
+ - [[https://coverartarchive.org/][Cover art archive]]
* further
- https://listenbrainz.org/user/troi-bot/playlists/