How to get all track metadata from Audio CD?

I’m looking for an easy way to extract an audio CD’s track list as metadata (track No., title, artist, length, ISRC,etc) into a single text file, so I can import it into the MetaBrainz Add Release tracklist using the parser.

Currently I’m using Nero Express 2014, which will let me read a CD’s tracks, and present the metadata for each individual track, and I can then copy and paste each individual title, artist etc, but still quite tedious.

I was hoping that MusicBrainz Picard would do this for me, but failing that, is there something out there for Windows 10 that would help?

This sounds like a chicken egg problem here. You have a CD that is not in MusicBrainz and you want to get the CDs metadata to submit it to MB. For that you need a metadata provider such as MB.

Obviously MB based tools such as Picard won’t help you here, since they get their data from MB.

oh, did I misunderstand?

I thought the questions was “how can I pull CD-text from a CD and use that to seed the release editor?”

Ah, maybe I misunderstood it. I haven’t looked at real CD-text info for a long time, in my experience it was always horrible and probably not very well suited for MB entries :slight_smile:

No idea for a tool right now, but I guess there should be some Kind of cd-text extractor available somewhere.

That is what I’m asking, I believe the information is stored on an audio CD.

What I found from a quick Google Search:

Or some tippers which probably can also save CD-text to separate file:

Never tried it, but I would be interested in the results :slight_smile: Especially how useful the data is and how many CDs don’t include this data

Hmmm, Foobar2000 can open the CD, and then you can select all the tracks, right click, and go utilities > text tools > copy track title. That utility is actually quite powerful, I believe you can edit it to copy whatever fields you want into whatever order etc that you need, but haven’t tried that…

But anyway, you can just copy the track titles, paste them into the MusicBrainz release editor, and MB will do the rest. Add a DiscID and your track times are done for you too.

Not sure what other (and if it would be accurate…) data would be stored on a CD.

According to the docs—fwiw— python-audio-tools can grab CD-TEXT. That looks like a fun thing to play around with.

You can use mediatools.exe cdtext upc isrc to dump CD-TEXT (and UPC and ISRC) so maybe you can append >my file.txt to it.

Do you know where I can acquire it? I think there is a description here, but I can’t get to the website.

It seems you can find one here: in JonnyJD download.
But mine is bigger (ha ha) :see_no_evil:.
No, I mean, the mediatools.exe I use is dated 2/3/2010 for 1835 Kb (MD5: fd01f54608065d2d6aed2559c5bf3f3e) instead of dated 10/2/2010 for 516 Kb (MD5: 307f1187763391991d5b46042df9969b).
I don’t know where I could store it online for you and others that I could link from ISRC#Resources

1 Like

Thanks for that, it works great.

I downloaded from the JonnyJD download page, and extracted the file mediatools.exe and dropped it into my Program Files (x86) directory, and opened a Command Windows there.

Entering: mediatools.exe (without any parameters) displays a page of help information. So to display the CDTEXT from my audio CD in drive F, I enter:

  • mediatools drive F cdtext

And to get the ISRC codes for each track, I enter:

  • mediatools drive F isrc

The Windows Command window lets me copy and paste the text.

1 Like

That’s it, @iantresman and type mediatools drive F cdtext upc isrc, then, to have all the possible info. :slight_smile:
I don’t remember what my more recent version has more — @simonf told me long time ago but I forgot and the old forum is not restored yet for me to refresh my memory.

When I type mediatools with parameters, my version offers the following options:


Get information From Disc
media_info drive [letter] <toc> <upc> <isrc> <cdtext>

Rip Track to Wav
media_info drive [letter] readtrack [Track No] [Filename]

Check the CRC for a wav
media_info checkcrc [Filename] <Acurip Offset in samples>

Switches:- [compulsory]  <optional>

@iantresman, my bigger version shows the same options but it’s bigger. :wink:
Here it is, I have shared it in a Tools folder where you should see my bigger mediatools.exe (2/3/2010 / 1.79 MB).

Also, here are two demos that show you how you can copy the whole ISRC list result from this program for an all at once submission.
In my examples, I copy from a website but it’s the same approach, just copy all then paste all in @kepstin’s magicisrc’s first input (if your ISRC list starts at track 1).

Temporary bookmarklet that enables paste all: javascript:var mbid=location.pathname.match(/^\/release\/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/);if(mbid)void(open(""+mbid[1])); (create an entry with this code as URL in your favourites/bookmarks toolbar, then click it when you’re on your release).

This is completely subject to change because it’s in the middle of a work in progress. :slight_smile:
At least it is sure it will change, so your bookmarklet will need to change sometime.

:warning: Important. Remember to always go back to your release edit history after submitting an ISRC set to write in the edit note to which release you added them (paste release URL) and from where you got them (CD with mediatools.exe, CUE sheet from who knows where, minc rip, etc.)
Because otherwise, this no text edit will appear in all recordings edit histories and they are quite difficult to trust or are only hardly helpful for any post review/diagnose of future merge problems, etc.

1 Like