I am developing an application to generate many thousands of MP3 files for testing porpoises.
I want it to have real and consistent, but random, artists, album & track names which I will use to generate the file name and to insert ID3V1 tags.
As it might be run a few times a day, each requesting information on 20,000 tracks, I thought that I would reduce GraceNote's server load by using a local copy of the database (this is a test app for my company, which is a large multimedia device manufacture who licenses GraceNote's technology, so I legally have a copy of the database).
Question: in a hex edit, the first 4 characters of each database file are GNDB, which I presume stands for GraceNote Database. Since this seems to be a proprietary format, can anyone tell me how to access it? (I expect that @cweichen can help answer that :-)
I am a new hire in a huge company and no one seems interested in helping or even knows who our official contact person for GraceNote is.
If I approach them through their website, I doubt that I can provide required information like developer ID, etc, so I am taking a three pronged approach by asking here while asking around to find our GraceNote liaison person and developing using the web API, requesting only a few tracks at a time.
What you want to do cannot be done.
Not mentioning the fact that as you mentioned, this database format is proprietary and also it cannot be accessed as you like. You cannot query the database for a list of artists or a list of albums. It has not been built for that purpose. Your Gracenote contact will tell you the same. Eventually, you could buy a data export from Gracenote that has the info you need, but that's about it.
To find your contact at Gracenote, you could just go through https://www.gracenote.com/support/ and submit a request using your company's email. We will get your request on the other side and your existing contact should get back at you.
You should rather look at Echonest or MusicBrainz or others that have public APIs that do what you ask.