Why has no one informed me of this?
I tried to rip a new CD with Python Audio Tools today, and it can’t get to freedb.freedb.org to get the metadata. I looked around, and apparently freedb is no more:
Why has no one informed me of this?
I tried to rip a new CD with Python Audio Tools today, and it can’t get to freedb.freedb.org to get the metadata. I looked around, and apparently freedb is no more:
Yes, any software that relies on cloud provided services to function is ultimately doomed. Oh, wait a minute…
I also found this out the hard way during the weekend. My CD Player extension relies on a tool called icedax that in turn relies on freedb for metadata.
At hydrogenaudio I read about a replacement hosted by dBpoweramp (http://freedb.dbpoweramp.com/~cddb/cddb.cgi), but I could not get this working with icedax.
For the extension my current strategy is to move over to MusicBrainz.
Yup - seems the post is 7 months old now. Pity.
I wound up using the Discogs metadata, via a tool called discogs-tagger. Time to license SongKong, I think.
With Python Audio Tools, it’s pretty easy to redirect to the dbpoweramp clone of freedb. You put a file called .audiotools.cfg
(note the leading period) in your home directory, with the lines:
[FreeDB]
server: freedb.dbpoweramp.com
I’m a bit surprised at this, Jan. The Python Audio Tools uses that URL internally. I don’t know if this is any help to you, but here’s the Python code that generates the request:
# generate query to post with arguments in specific order
if len(args) > 0:
POST.append((u"cmd", u"cddb %s %s" % (cmd, " ".join(args))))
else:
POST.append((u"cmd", u"cddb %s" % (cmd)))
if PY3:
POST.append((u"hello",
u"user %s %s %s" % (getfqdn(),
u"audiotools",
VERSION)))
else:
POST.append((u"hello",
u"user %s %s %s" % (getfqdn().decode("UTF-8", "replace"),
u"audiotools",
VERSION.decode("ascii"))))
POST.append((u"proto", u"6"))
# get Request object from post
request = urlopen(
"http://%s:%d/~cddb/cddb.cgi" % (freedb_server, freedb_port),
urlencode(POST).encode("UTF-8") if (version_info[0] >= 3) else
urlencode(POST))