7

I've recently been ripping more of my CDs and have noticed that there seems to be no command-line tool that allows for converting to id3v2.3. The only tool I've found that can actually even properly fix my tags (The tagger rip, the script I use for ripping, uses seems to only write id3v1) is mid3v2 that uses mutagen.

The only problem? Mutagen basically tells me to choke on a phallic object if I want to use any other format than v2.4. I would have no problem with that if my mp3 player just supported said format.

I've tried id3v2 -C as well, but that seems to use an 8-bit non-unicode encoding to store the tags. This is something I would rather not do. Especially since none of my other software supports tags in this format

Basically, I'm trying to solve a very specific problem that should have a trivial solution. And I'm wondering why it doesn't.

Edit: I'm actually not sure of that non-unicode encoding right now, but it seems to double-encode; I get double characters in place of "ä"s and "ö"s

1 Answer 1

8
eyeD3 --set-encoding=utf8 --to-v2.3 *.mp3

(Add --remove-v1 for bonus points.)

Note that sometimes the problems are caused not by 2.3 vs 2.4, but rather by usage of UTF-16 vs UTF-8. Play around with --set-encoding.


I get double characters in place of "ä"s and "ö"s

Do they look like "in place of "ä"s and "ö"s"? If so, it's UTF-8 – a variable-width format of Unicode. ID3v2 has an "character set" marker for every textual frame, and some tag editors store UTF-8 Unicode data but mark it as ISO-8859-1, causing players to incorrectly decode the characters.

6
  • I know it's UTF-8, and by double-encoding I meant that it encodes the text as UTF-8 and then proceeds to treat it as Latin-1. I'll try eyeD3 after first bastardizing some of my tags again.
    – user39485
    Oct 1, 2011 at 22:04
  • Oh, and I already am removing v1 tags ;)
    – user39485
    Oct 1, 2011 at 22:05
  • 1
    I'll try this and if it works, mark as accepted — but I think actually patching rip to use id3v2 in the first place is the best way to go here.
    – user39485
    Oct 1, 2011 at 22:16
  • Seems to work, running a test rip to confirm
    – user39485
    Oct 2, 2011 at 1:05
  • Okay, it did work but I had to do some edits to the actual script I'm using for ripping first. Namely, I need to first convert manual input to Latin-1 and then proceed to write the tags as such, converting them into UTF-16 with eyeD3. This is a completely retarded solution but the part of it you suggested works flawlessly. Thanks.
    – user39485
    Oct 2, 2011 at 14:22

You must log in to answer this question.