Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a bunch of MP3s with the same generic album "_misc". In the comment field, the files also have the real album name stored using the pattern album[REAL_ALBUM_NAME]. There may or may not be other text in the comment field before and after the album declaration.

I would like to automatically extract the real album name for each of these MP3s and place it in the album field (overwriting "_misc") using a batch/automated process. How can I do this? I can access the files with Windows, OS X, or Ubuntu (running as a live CD/DVD).

share|improve this question
mp3tag's tag to filename function may do this, but this is a little trickier than any scenario I've done this with - IE, I need to test this before posting an answer. – Journeyman Geek Oct 30 '12 at 11:41
up vote 0 down vote accepted

MP3Tag indeed does this. Use Tag -> Tag. Set the ALBUM field to $regexp(%comment%,album\[(.*)\],\1). (I haven't tested this, but it should work.)

Edit: Click Convert->Actions and set the type to Format Value. The regexp is $regexp(%comment%,'^.*album\[([^\]]+)\].*$',$1) – note the .* at the beginning and end of the expression to avoid matching other text in the comment field, and you use $1 to reference the match. (Source)

share|improve this answer
Close! I made a slight correction. Thanks pointing me in the right direction. – craigpatik Oct 30 '12 at 21:00
Thanks for fixing it for me. I hadn't used the $regexp function before, but I do think MP3Tag is an excellent tool. – benshepherd Oct 31 '12 at 8:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.