Bug 6 - Add support for MusicBrainz
Summary: Add support for MusicBrainz
Status: CONFIRMED
Alias: None
Product: Asunder
Classification: Unclassified
Component: All (show other bugs)
Version: 2.5
Hardware: PC Linux
: enhancement
Assignee: Andrew Smith
URL:
Depends on:
Blocks:
 
Reported: 2014-10-21 08:41 EDT by Andrew Smith
Modified: 2020-08-03 13:27 EDT (History)
6 users (show)

See Also:


Attachments

Description Andrew Smith 2014-10-21 08:41:51 EDT
CDDB was never completely awesome, and the service appears to have been annoying enough to enough people that they started MusicBrainz. Periodically someone will ask for support for that.

They do have a cddb gateway, but it doesn't appear to work very well.
Comment 1 Andreas Rönnquist 2020-02-04 09:22:45 EST
I am the Debian maintainer of Asunder, and i have been contacted with information that the freedb server will be closed soon.

Is the MusicBrainz service better nowadays, so it might be a reasonable replacement?
Comment 2 Andrew Smith 2020-02-04 15:08:23 EST
Hi Andreas, nice to hear from you.

Yeah, looks like it really is getting shut down. For some kind of political reasons.

Still, I have no cycles to implement MusicBrainz support.

If their cddb proxy has improved - the best I can do by myself is set that as a default server in Asunder.

Andrew
Comment 3 Andreas Rönnquist 2020-02-04 18:10:17 EST
Sounds good to me. 

Thanks for all your work on asunder.
Comment 4 Andreas Rönnquist 2020-02-07 11:17:24 EST
Gah, I found this:

https://blog.metabrainz.org/2018/09/18/freedb-gateway-end-of-life-notice-march-18-2019/
Comment 5 Andreas Rönnquist 2020-02-09 22:57:16 EST
I have started looking at implementing MusicBrainz support - I haven't got to the part of starting to modify asunder yet, but I have some working code accessing the MusicBrainz server at

https://github.com/gusnan/musicbrainz_example

This manages to identify CD's and get a proper tracklist (including a compilation with separate artists for each track).

It needs more work though.

gcc commandline needed to build is available in the source. Also, it requires external libraries (I have mentioned which ones I needed to install on my Debian in the source).

Based on musicbrainz / libdiscid examples, and GPL-licensed.
Comment 6 Andreas Rönnquist 2020-02-19 20:42:28 EST
Please have a look at my work at http://www.gusnan.se/asunder/asunder.tar.gz - it implemets MusicBrainz support, but removes the cddb stuff. (That's not needed, since those servers are closing, right?)

It needs some polish though - it has some debug printing left, and might have some references in text to cddb where it should be MusicBrainz. (It builds completely without the cddb libraries). Testing would be very much appreciated - with a variety of CDs.

I provide it as a tar.gz, but if you would like me to I could provide it as diffs against the SVN repo. (Git would also be possible).

If you cannot read my tar.gz, please let me know.
Comment 7 Andrew Smith 2020-02-20 10:30:43 EST
Thanks Andreas! I will have a look as soon as I can.
Comment 8 Andreas Rönnquist 2020-02-20 11:26:08 EST
@Andrew - thanks! I'm in no hurry, I am working on a new version that also implements specifying server and proxy via the settings.
Comment 9 Andreas Rönnquist 2020-02-20 15:08:05 EST
Link updated with version that has the proxy stuff implemented. Tests would be appreciated.
Comment 10 Andreas Rönnquist 2020-03-16 11:43:54 EDT
I have uploaded my work to github, if anyone thinks it easier to try out that way. 

https://github.com/gusnan/asunder_musicbrainz
Comment 11 Andrew Smith 2020-03-28 12:40:06 EDT
Hi Andreas

I couldn't build the one from github, configure complaining that src/Makefile.in is not found.

I did build the last one I downloaded from the tarball, am going to go through it now.

The first test gives me this:

DiscID: dEskplVamuVL4RHwWkptg3WpyAY-
Result: 4
HTTPCode: 0
ErrorMessage: 'Could not parse response status line'
We've got 0 matches!

I'll see if it's anything obvious.
Comment 12 Andrew Smith 2020-03-28 13:30:47 EDT
Hmm. My initial impression is that the Musicbrainz people really aren't that interested in providing universal access to their service.

The C api is practically undocumented. I guess you followed Abhinav's old tutorial here? https://abhijangda.wordpress.com/2013/03/29/libmusicbrainz5-omg-no-tutorial/

The C++ library documentation isn't that much better. There's little more than the auto-generated documentation.

Their ticket system is practically empty: https://tickets.metabrainz.org/projects/LMB/issues/LMB-51?filter=allopenissues

And the mailing list is offline: http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-devel

Maybe Musicbrainz is more of a content organisation. Or maybe it's really just one guy with a pet project who (like me) doesn't have that much time for it.

At this point I'm tempted to just leave Asunder as it is, and if no cddb server becomes available (which is likely) - that's fine, you can still use Asunder to do everything it normally does (just fill in the metadata by yourself).

Unless you (Andreas) are willing to struggle through the process of implementing and debugging this complex API. It's really hard to do without good documentation and a functioning community or at least a maintainer from Musicbrainz who's willing to help. I'm not optimistic about any of that.
Comment 13 Andreas Rönnquist 2020-03-29 08:26:34 EDT
Please try running autogen on the github version to regenerate the missing makefiles. Other than that - yeah, I agree, documentation is not good at all, I have looked at the examples, and managed to get this far at least.

But I understand if you don't want to include it if you see it as impossible to maintain.
Comment 14 Andreas Rönnquist 2020-04-30 13:11:06 EDT
I have been informed on the Debian bug (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=952689) that there's still https://www.gnudb.org that can be used as an alternative to freedb.org. This might be a solution if you don't want to go down the Musicbrainz route. I haven't looked at gnudb.org in detail, but it might be worth investigating.
Comment 15 Andrew Smith 2020-05-12 11:46:08 EDT
I changed the default server to gnudb.gnudb.org
Comment 16 ArnoXz 2020-06-24 06:51:32 EDT
Today : freedb.gnudb.org, nor gnubdb.gnudb.org is functionnal
Nothing works : (I tried other CDDB without success)
Any issue / information ?

thanks - Arn.
Comment 17 duncan_public 2020-07-01 06:33:33 EDT
I had some success with gnudb, but it is out of date (any CD after 2017 or so always fails to find anything). Can I suggest discogs.com ? There is an API for developers to use to obtain CD data and it seems quite up-to-date with recent releases. The useful content for track listings, etc, is Creative Commons CC0 licensed.
https://www.discogs.com/developers

Duncan
Comment 18 Andrew Smith 2020-07-13 21:08:43 EDT
Discogs seems like an interesting project, but there are two problems:

1) I don't have the time to implement that. It's a lot of work, even more than Musicbrainz.
2) I don't like their API Terms of Use.

If someone were willing to do the work, making Discogs an alternative data source - I would be happy to accept that patch :)
Comment 19 antony.gelberg 2020-08-01 11:23:19 EDT
I was about to raise this as a feature request. Andreas, it is great to see that you have been able to work on this. IMO, MusicBrainz is a great service, the most comprehensive I've seen and with the great Picard tagger. Andrew, I understand that you don't have much time to work on asunder - surely we are all volunteers. Would you consider moving the project source code to GitHub so that it would be easier to collaborate? Some kind of disc data lookup is very valuable and IMO a basic feature in any ripper.

BTW, the security certificate for this Bugzilla instance is barfing (I didn't read exactly why).
Comment 20 Andrew Smith 2020-08-03 13:16:43 EDT
Hi Anothony

You're welcome to clone Andreas's copy of Asunder from GitHub or make your own.

Yeah, sorry about the self-signed certificate. I don't want to pay for one and Let's Enrypt is too much of a pain in the neck for me to use.

Andrew
Comment 21 antony.gelberg 2020-08-03 13:24:04 EDT
I know I am, but how does that further the project? I'm not the maintainer nor lead developer.
Comment 22 Andrew Smith 2020-08-03 13:27:36 EDT
If at some point there's a patch in GitHub that needs to be included in the main distribution - I can handle the merging. I don't find the pull request feature in GitHub particularly useful.

Note You need to log in before you can comment on or make changes to this bug.