Why does Picard refuse to save these MP3s?

I finally could reproduce this. It only happens if Picard is set to write ID3 v2.3 . The core issue is that the files from archive.org contain the pretty uncommon LINK frames and fill them with invalid data. LINK frames are meant to be used to read the data for a frame from another file instead of storing it in the file itself. For that reason LINK is expected to follow a very specific format. LINK frames are unsupported by the vast majority of tools.

Now the affected files store completely invalid data in this frame. The creator of the files clearly misunderstood the purpose and use and just stored the URL “Y'all Come : Patti Page : Free Download, Borrow, and Streaming : Internet Archive” there (the proper tag for storing that URL would have been one of the URL link frames, e.g. WCOM or a custom WXXX), totally ignoring the expected data format.

There are two workarounds available to you:

  • Change the ID3 format to v2.4 in Options > Tags > ID3. Since Picard 2.9 this has become the new default for new installs anyway.
  • Enable “Clear existing tags” in Options > Tags. This will remove all existing tags completely before writing new tags. As this will loose all tags Picard does not handle the LINK frames will be gone afterwards. You could save the affected files once with “Clear existing tags” enabled and afterwards disable this (potentially dangerous) option again.

In regards to fixing the issue I’m currently unsure if, how and where. Generally the issue lies with the files. But I have that suspicion this might be a common data error on archive.org downloaded files, so it probably would be good to ignore this.

Picard itself does not deal with the LINK frame at all. But the issue arises when the tag format gets downgraded to ID3 v2.3 by mutagen (the tagging library used by Picard). Picard could maybe implement a workaround by checking for invalid link frames and discarding them. Or even discover this specific case and change the LINK frames to proper WXXX frames.

6 Likes