User:Mineo: Difference between revisions
From MusicBrainz Wiki
Jump to navigationJump to search
m (New page: [http://musicbrainz.org/show/user/?userid=495303 My MBz profile]) |
No edit summary |
||
(25 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[http://musicbrainz.org |
[http://musicbrainz.org/user/Mineo My MBz profile] |
||
=== Websites with catalogues of classical music === |
|||
[http://www.bielekat.info Bielekat] |
|||
[http://www.klassikakzente.de Klassikakzente] |
|||
=== aria2c download list for MB dumps === |
|||
<pre> |
|||
ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump.tar.bz2 |
|||
ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 |
|||
ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2 |
|||
</pre> |
|||
Those are tabs (\t) separating the URLs, not spaces! |
|||
Replace latest with the real folder name. |
|||
Then save all the URLs to a file and run aria2c like so: |
|||
<pre> |
|||
aria2c -j 6 -i <filename> |
|||
</pre> |
|||
to download the files to the current directory |
|||
==ListenBrainz == |
|||
===submit via curl=== |
|||
<pre>curl -X POST -d @foo.json -H "Authorization: Token aebacb47-a7a2-4b71-ac77-424883c920dc" http://10.1.2.3:8080/1/submit-listens</pre> |
|||
===transform a JSON document from the GET listens API for import=== |
|||
<pre>jq "{listen_type: \"import\", payload: [.payload.listens[]|del(.recording_msid)]}" < foo.json > foo2.json</pre> |
|||
== Picard == |
|||
For the following to work, you'll need all plugins except cue.py from [https://github.com/mineo/mbstuff/tree/master/picard/plugins my plugin repository]. |
|||
=== Picard scripting === |
|||
<pre> |
|||
$if($eq(%label%,8bitpeoples), |
|||
$set(_labelandcatno,yes) |
|||
$set(_label,%label%) |
|||
$set(_catno,%catalognumber%) |
|||
$add_to_collection(56cd604b-c02a-4f4a-9b75-400692624831) |
|||
, |
|||
) |
|||
$if($eq(%label%,OverClocked ReMix), |
|||
$set(_labelandcatno,yes) |
|||
$set(_label,%label%) |
|||
$set(_catno,%catalognumber%) |
|||
$add_to_collection(450a79e3-73ba-44a0-9d99-64651e7b65ff) |
|||
, |
|||
) |
|||
$keep(artist,album,title,albumartist,date,discsubtitle,,tracknumber,totaltracks,discnumber,totaldiscs,releasetype,composer) |
|||
</pre> |
|||
=== Picard file naming === |
|||
This needs the [https://github.com/mineo/mbstuff/tree/master/picard/plugins/iprefersnakes I Prefer Snakes] plugin. |
|||
<pre> |
|||
m = metadata |
|||
at = u"{artist} - {title}".format(artist=m["artist"], title=m["title"]) |
|||
if u"OC ReMix" in m["~filename"]: |
|||
return u"OverClocked ReMix/misc/" + at |
|||
if m["albumartist"] == "OverClocked ReMix": |
|||
m["albumartist"] = "Various Artists" |
|||
if u"_misc_" in m["~dirname"]: |
|||
return u"misc/tagged/" + at |
|||
theend = u"{tn} - {title}".format(tn=m["~paddedtracknumber"], title=m["title"]) |
|||
if m["date"]: |
|||
year = m["date"][:4] |
|||
paryear = u" (" + unicode(year) + u")" |
|||
else: |
|||
year = None |
|||
paryear = "" |
|||
try: |
|||
td = int(m["totaldiscs"]) |
|||
if td > 1: |
|||
disc = u"Disc {disc}".format(disc=m["discnumber"]) |
|||
else: |
|||
disc = u"" |
|||
except: |
|||
disc = u"" |
|||
if m["~labelandcatno"]: |
|||
return u"{label}/{catno}{album}{year}/{disc}/{theend}".format( |
|||
label=m["~label"], |
|||
catno=m["~catno"] + u" - " if m["~catno"] else u"", |
|||
album=m["album"], |
|||
year=paryear, |
|||
theend=theend, |
|||
disc=disc |
|||
) |
|||
split_path = m["~dirname"].split(u"_") |
|||
for p in split_path: |
|||
if p.startswith(u"Soundtracks"): |
|||
soundtrackprefix = p |
|||
break |
|||
else: |
|||
soundtrackprefix = None |
|||
if soundtrackprefix is not None: |
|||
return u"{prefix}/{album}{comment} - {albumartist}{year}/{disc}/{theend}".format( |
|||
prefix=soundtrackprefix, |
|||
album=m["album"], |
|||
comment=(u"(" + m["~releasecomment"] + u")") if m["~releasecomment"] else u"", |
|||
albumartist=m["albumartist"], |
|||
year=paryear, |
|||
theend=theend, |
|||
disc=disc |
|||
) |
|||
return u"{albumartist}/{year}{album}/{disc}/{theend}".format( |
|||
albumartist=m["albumartist"] if m["albumartist"] else m["artist"], |
|||
year=(year + u" - ") if year is not None else u"", |
|||
album=m["album"], |
|||
theend=theend, |
|||
disc=disc) |
|||
</pre> |
Latest revision as of 13:32, 28 March 2016
Websites with catalogues of classical music
aria2c download list for MB dumps
ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump.tar.bz2 ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2
Those are tabs (\t) separating the URLs, not spaces! Replace latest with the real folder name. Then save all the URLs to a file and run aria2c like so:
aria2c -j 6 -i <filename>
to download the files to the current directory
ListenBrainz
submit via curl
curl -X POST -d @foo.json -H "Authorization: Token aebacb47-a7a2-4b71-ac77-424883c920dc" http://10.1.2.3:8080/1/submit-listens
transform a JSON document from the GET listens API for import
jq "{listen_type: \"import\", payload: [.payload.listens[]|del(.recording_msid)]}" < foo.json > foo2.json
Picard
For the following to work, you'll need all plugins except cue.py from my plugin repository.
Picard scripting
$if($eq(%label%,8bitpeoples), $set(_labelandcatno,yes) $set(_label,%label%) $set(_catno,%catalognumber%) $add_to_collection(56cd604b-c02a-4f4a-9b75-400692624831) , ) $if($eq(%label%,OverClocked ReMix), $set(_labelandcatno,yes) $set(_label,%label%) $set(_catno,%catalognumber%) $add_to_collection(450a79e3-73ba-44a0-9d99-64651e7b65ff) , ) $keep(artist,album,title,albumartist,date,discsubtitle,,tracknumber,totaltracks,discnumber,totaldiscs,releasetype,composer)
Picard file naming
This needs the I Prefer Snakes plugin.
m = metadata at = u"{artist} - {title}".format(artist=m["artist"], title=m["title"]) if u"OC ReMix" in m["~filename"]: return u"OverClocked ReMix/misc/" + at if m["albumartist"] == "OverClocked ReMix": m["albumartist"] = "Various Artists" if u"_misc_" in m["~dirname"]: return u"misc/tagged/" + at theend = u"{tn} - {title}".format(tn=m["~paddedtracknumber"], title=m["title"]) if m["date"]: year = m["date"][:4] paryear = u" (" + unicode(year) + u")" else: year = None paryear = "" try: td = int(m["totaldiscs"]) if td > 1: disc = u"Disc {disc}".format(disc=m["discnumber"]) else: disc = u"" except: disc = u"" if m["~labelandcatno"]: return u"{label}/{catno}{album}{year}/{disc}/{theend}".format( label=m["~label"], catno=m["~catno"] + u" - " if m["~catno"] else u"", album=m["album"], year=paryear, theend=theend, disc=disc ) split_path = m["~dirname"].split(u"_") for p in split_path: if p.startswith(u"Soundtracks"): soundtrackprefix = p break else: soundtrackprefix = None if soundtrackprefix is not None: return u"{prefix}/{album}{comment} - {albumartist}{year}/{disc}/{theend}".format( prefix=soundtrackprefix, album=m["album"], comment=(u"(" + m["~releasecomment"] + u")") if m["~releasecomment"] else u"", albumartist=m["albumartist"], year=paryear, theend=theend, disc=disc ) return u"{albumartist}/{year}{album}/{disc}/{theend}".format( albumartist=m["albumartist"] if m["albumartist"] else m["artist"], year=(year + u" - ") if year is not None else u"", album=m["album"], theend=theend, disc=disc)