]> git.vanrenterghem.biz Git - musicbrainz.git/blobdiff - README.org
Waveform, variant, monolith, mask
[musicbrainz.git] / README.org
index 6cefd7ceb6914b4e44366555c744ce04421f55d9..3d0c2894f333f5c2e07eb006bda9a10409d21403 100644 (file)
@@ -3,51 +3,92 @@
 #+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
 
@@ -59,7 +100,7 @@ https://musicbrainz.org/doc/MusicBrainz_Identifier
 (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")
@@ -67,7 +108,7 @@ https://musicbrainz.org/doc/MusicBrainz_Identifier
 
 ** 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
@@ -75,17 +116,24 @@ John Williams, the classical guitar player, has an artist MBID of 8b8a38a9-a290-
 #+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:
@@ -96,11 +144,15 @@ John Williams, the classical guitar player, has an artist MBID of 8b8a38a9-a290-
 |  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
@@ -125,11 +177,11 @@ John Williams, the classical guitar player, has an artist MBID of 8b8a38a9-a290-
 #+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
@@ -141,7 +193,7 @@ John Williams, the classical guitar player, has an artist MBID of 8b8a38a9-a290-
 #+END_SRC
 
 #+BEGIN_SRC emacs-lisp
-(listenbrainz-stats-artists "zzzkt") ;; defaults to ’all time’
+(listenbrainz-stats-artists "zzzkt")
 #+END_SRC
 
 #+BEGIN_SRC emacs-lisp
@@ -246,6 +298,11 @@ https://listenbrainz.readthedocs.io/en/production/dev/api/#pinned-recording-api-
 | 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/