Uploaded image for project: 'Picard'
  1. Picard
  2. PICARD-586

ID3 spec: Artists, Album artists incorrectly saved to id3 files

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Normal Normal
    • None
    • 1.2
    • Tags & Metadata
    • None

      According to the id3v24 specification:

      4.2. Text information frames

      The text information frames are often the most important frames,
      containing information like artist, album and more. There may only be
      one text information frame of its kind in an tag. All text
      information frames supports multiple strings, stored as a null
      separated list, where null is reperesented by the termination code
      for the charater encoding. All text frame identifiers begin with "T".
      Only text frame identifiers begin with "T", with the exception of the
      "TXXX" frame.

      In other words, multi-value data should be stored as multi-value data. In particular, artists and album artists are often multi-value, and if we follow the specification we should store an array of artists in TPE1/2 and not a display string (e.g. Artist1 feat: Artist2).

      I would like to propose therefore that we put an array of artists into TPE1/2 and create new "TXXX:Display Artist" and "TXXX:Display Album Artist" tags to hold the display string currently held in TPE1/2.

      Note: Although id3v23 TPE1/2 tags are only single value, the e.g. TPE1 tag definition explicitly states that artists should be joined with a '/' (and not therefore e.g. "feat:").

      (See forum post discussing this and MusicBee wiki for example of usage by other software.)

      Since this is a significant change to how Picard works, I am setting this to Decision Required.

            sophist Sophist
            sophist Sophist
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package