work name, name and movement

I've added the new fields with the current Development Build Mp3tag v2.79b.

The following fields are available for ID3v2 and MP4 tags

The WORK field is only available for MP4 tags. For ID3v2, what is filled in the Work Title in iTunes is currently displayed as CONTENTGROUP in Mp3tag. The developers at Apple decided to reuse this field which was previously used to store what is filled in Grouping. This information seems now to be stored in the iTunes database only and not in the ID3v2 tag. For MP4, what is filled in Grouping is still presented under CONTENTGROUP in Mp3tag.

It's unfortunate that they've created this inconsistency here. If someone from Apple is reading this, I'll happily discuss a more robust approach.

I have extracted information from an m4a file using newest iTunes (version in mac. Work and contentgroup are written to two separate fields.

However, mp3 is still messed up. I have reported this issue in If you have better idea to implement, please let me know. I can update it in the discussion I am having with them.

Format : MPEG-4
Format profile : Apple audio with iTunes info
Codec ID : M4A (M4A /mp42/isom)
File size : 9.41 MiB
Duration : 5mn 1s
Overall bit rate mode : Variable
Overall bit rate : 261 Kbps
Album : album
Album/Sorted by : album
Album/Performer : albumartist
Album/Performer/Sort : albumartist
Grouping : grouping2
Performer : Artist
Performer/Sorted by : Artist
Composer : composer
Encoded date : UTC 1959-07-26 04:13:07
Tagged date : UTC 2016-11-15 06:21:16
©wrk : WORK1
©mvn : MOVEMENT1
©mvi : 1
©mvc : 2
shwm : 1
Composer/Sort : composer

also please implement the field "shwm"->SHOWMOVEMENT. if it is set to 1, it will show movement in the iTunes otherwise it will show song name.

SHOWMOVEMENT would indeed be a great addition, because it would also help me using the new tags in my favourite player foobar2000. In fact this gives me the opportunity to tag my classical music in a proper way at long last. :smiley:

Just out of curiosity: How did you find out which ID3v2-tags iTunes accepts as its own unofficial ones for its database?

me too I am curious. mediainfo is only these fields update for m4a not for mp3.

Please update SHOWMOVEMENT for both m4a and mp3.

Please update the WORK to mp3 also. iTunes has confirmed this is coming in iTunes and later.

I'm quite fluent in reading ID3v2 from hex :slight_smile:

It seems like there is no ID3v2 frame which indicates this flag. It seems for ID3v2 (i.e., MP3 files) they determine to show the movement based on – again – data that is only stored in iTunes' internal database.

This I cannot do (yet) as I cannot know how they'll implement this.

Kind regards
– Florian

Just to understand this correctly:
Is iTunes defining its own ID3v2 frames? For me it looks like the frames used are
MVIN for the movement number and
MVNM for the movement name.
I always thought this would have to be a TXXX frame...

Could you post a link, please?

Wonderful. Mediainfo is showing the changes for only for m4a and not for mp3.
If you can please give more info about it. It will be a good learning. Or if there is any other application that serves the purpose, please let me know.

"shwm" is the id3tag written for m4a.

I am sure same field is used in mp3 also. I updated two mp3s, one with movement and one with song info in mac and copied the files to windows. iTunes in windows showed the song info on one file and movement on another file.
This is clearly shows, "shwm" field is also written in mp3.

Please verify the mediainfo output in my previous post, it clearly shows, "shwm" is written to m4a.
One check. In iTunes, you have to write some info to movement and work, and most importantly leave the song at movement toggle and close the song. then review the file.

If you write in the movement and work fields and set the song back to song. iTunes will not write "shwm" field. It either writes "shwm"=1 for movement or nothing for song display.

If you need I can upload 2 m4a's and 2 mp3's, one each in different condition.

As soon as it is out, I verify the work and grouping fields are independent. I will report it here.

Thank you for updating the mp3tag with new fields and also keeping it free. It deserves donation for sure.


It is in bugtracker. If you need proof, we can wait for the iTunes update.
Below is the response to my query.

The “grouping” string is now written to an ID3 frame as of iTunes

Thanks, don't need proof for that!
I was just curious about it... :slight_smile:

FYI, ID3v2 tags are written to MP3 files, MP4 files have a complete different tagging scheme which is based on atoms that have identifiers (i.e., shwm as you mentioned).

This I couldn't verify with MP3. If you have an example MP3 files with such tag field, I'm happy to analyze it.

Kind regards
– Florian



I am sorry, I was wrong. "shwm" is found in only m4a, as of now. Issue of this field(or something comparable) not found in mp3 is reported as bug. I feel that they will fix it. Since they asked for additional information. Fingers crossed!

If you can please be kind enough (as usual), add support "shwm" for m4a. As soon as, I hear something about mp3, I will update in this forum. "shwm" is set 1 if movement info needs to be displayed. if song info needs to be displayed, iTunes doesn't write this field at all.

iTunes update is not released, yet. grouping vs work for mp3 should be fixed then. As soon as, I see a new update on iTunes. I will test and report here.

Thank you for continued support.

Apple says they are supporting below fields for mp3 in new version of iTunes

  • movement name: 'MVNM'
  • movement number: 'MVIN’
  • work name: 'TIT1'
  • grouping: ‘GRP1'

I have verified this in hex editor. But for some reason, the same is not seen in mediainfo. Nonetheless, fields are implemented in iTunes.

Please verify the same and update mp3tag.

Also, has the grouping field changed from previous iTunes version?

Looks like iTunes has switched the field for grouping.
Earlier it was mapped to 'TIT1', now to 'GRP1'.

This is a breaking change. Almost every program out there uses TIT1 to store grouping information. I'm currently out of ideas how to include this in a way that is still format-agnostic and doesn't break compatibility with existing format strings, export configurations and so on.

On a side-note: the SHOWMOVEMENT flag seems to be still missing for ID3v2.

It's a mess and it would be so much easier if they would communicate with the rest of the world.

Kind regards
– Florian

Yes, showmovement is still missing for MP3. They might fix it later. I'll keep u posted.

Front end will not be changed for mp3tag field will still be "%contentgrouping%". You can add option to read differently n write differently. Set contentgroup to read from either GRP1/TIT1 and write either GRP1/TIT1.

Simply explanation in the setting window will be helpful.

Now users can read the TIT1 to grouping and write it back to GRP1, first time.
Then read from GRP1 and write to GRP1, for future.

Hi. iTunes allows their "shuffle" or "random" feature to be used only with "Album", "Song", and "Grouping". Because of this, I always use the "Grouping" to give each individual "CD" (as opposed to album of CDs) and individual Grouping Name. This allows me to shuffle a Disc at a time rather than by Song or Album.

I used MP3Tag and it's variable functions to quickly populate the ContentGroup tag with unique information for each individual CD. It seems that when iTunes repurposed this tag, they DID move the information currently in this tag to their database, but I don't see any way to tag NEW files so that the Grouping field in iTunes is populated.

Doing this one at a time through iTunes is ridiculous for time reasons. I read somewhere that iTunes is using a new tag called GRP1 in their latest update, so that information that goes in the Grouping field DOES now to an mp3 file tag. HOWEVER, I see no way to see or edit this field in MP3Tag. I tried adding a "GRP1" field in MP3Tag, but it only shows blanks, even when I have populated the Grouping field in iTunes, and when I update the new GRP1 field that I added in MP3tag, nothing shows up in the Grouping field in iTunes, so obviously these fields are not mapped together.

Is there someway I can continue to use MP3Tag to update the Grouping field in iTunes? If there is, I'm not seeing how.

Thank you very much for you help with this!!

Could you please elaborate on shuffle/random with grouping field in itunes

Sure, thanks. There is a setting in iTunes under the Controls menu, where you can set it to "shuffle" by either Song, Album, or Grouping. Let's say you pick shuffle by "song". Then, let's say you just go to a list of ALL your songs, and start playing a track. It will pick one at random, and then pick the next one at randon, and just keep going. If you started playing a track from the "Albums" list this way, it will play a song from that album at random, and then pick the next one from that album at random, etc., until all tracks from that album have been played. If you hit play on a playlist, it will choose a song from that playlist at random, and choose another track from that same playlist at random, until all the tracks in the playlist have been played.

You can also shuffle by album. This means when you just hit play, and it will choose an album to play at random (with the songs/tracks in order), and then pick another album, etc.

Neither of these were very useful to me. I have a lot of live concert recordings, where certain tracks really need to be played together, like "Not Fade Away" into "Jam" into "Not Fade Away (reprise). More of an issue is classical music. Shuffling by "song" or "album" doesn't work well for this. I have A LOT of Classical albums that are made of more than 20 CDs. Some are over 80! They are all in one "album". Shuffling by "album" doesn't work well for this if what I want is random music, as it will always start the album of 80 CDs at the beginning. Shuffling by "Song" doesn't work - you get the 3rd movement of one symphony and then the first movement of some Concerto!

I had never used the iTunes field "Grouping" before, and didn't know what it was for. But, then I noticed one day that the Shuffle feature has one other option besides Song and Album. You can Shuffle by Grouping! You can populate the Grouping field with ANYTHING you want - it's an organizational field so to speak. I realized I could populate each individual CD (rather than a whole album) with it's own unique Grouping information. For instance, for an album called "Elgar: Collector's Edition", which has 30 CDs all in the ONE album (iTunes gives you a Disc# field to separate albums into discs), I can populate the Grouping field for each CD in the album with "Elgar: Collector's Edition - D1", and "Elgar: Collector's Edition - D2" ... "Elgar: Collector's Edition - D30". I used MP3Tag to easily populate the Grouping field, which until recently was mapped to the ContentGroup tag in mp3 files. It only took a few minutes to give every CD in my iTunes library of over 2,700 albums (far more actual CD's, as many or most of the albums have more than one CD), their own unique Grouping info. Each CD has its OWN Grouping info.

Now, when I use the shuffle feature in iTunes to shuffle by Grouping, I can choose a Playlist, like "Classical Vocal", and it will shuffle by Grouping, meaning it will pick a Grouping in that playlist (which is now one DISC in that playlist), play it through in its entirety in order, and then it will pick another Grouping (from that playlist) at random (another DISC at random) and play it through, etc.

So, I use the Grouping field to be able to play DISCS in their entirety at random, from any playlist, or from my entire library.

The real issue at the heart of this is that iTunes ONLY lets you shuffle by those three categories - song, album, grouping. Since it has fields to populate disc, composer, artist, etc., there's no reason why they don't let it shuffle by ANY of those fields. But, since they only allow those three, I found a PERFECT solution for my "random" issue, which was that neither "song" nor "album" were very useful for when I wanted to listen to "random" music. Grouping gave me a perfect way to do what I wanted. Also, I'm using the field EXACTLY the way that it was intended, in the sense that the Grouping field was only there to give the user one more way to organize their database. Users could decide for themselves what tracks get "Grouped" together by having the same information populated in their Grouping field.

Now, iTunes went and changed the way the Grouping field works. It no longer maps to the ContentGroup ID3 tag. For a while, it no longer mapped to ANY ID3 tag. Now, I'm reading that maps to the GRP1 ID3 tag, but I don't see that - maybe because MP3Tag doesn't support it yet. It appears they did this solely because they decided to use the ContentGroup field for something else.

So, let's say I buy a couple of albums that each of 30 or 80 CD's (not uncommon in Classical Music collections now - like the complete EMI recordings of Rostropovich). It's ridiculous to have to manually edit the Grouping fields in iTunes which takes FOREVER, and you would need to manually do it for each disc. Using MP3Tag, this used to take seconds. I would highlight all the mp3 files after I ripped them from CD. Then I would MP3Tag to edit the ContentGroup tag using the formula "%album% - D%discnumber%" to give each Disc it's own unique Grouping information, and voila, it's ready to be used when I play music using shuffle by Grouping, which because of the way I'm using the field amount to Shuffle by Disc. Think of it this way. iTunes intended users to use the Grouping field for any organizational purpose they wanted. Let's say you wanted to use it by populated it with either Sad, Happy, Meloncholy, Angry, Jubilant, etc., Then using Shuffle by Grouping you could shuffle and play only the tracks labeled Jubilant within any playlist or your entire your library. Since they included Grouping as one of only three different fields that you can shuffle by, this kind of thing is clearly how they intended the field to be used. But, what they've done is gone and made it seemingly impossible to use a 3rd party tool to POPULATE this field. And, with a large enough database of music, it's simply not feasible to populate this field using the iTunes user interface, so they basically made the field useless.

I'm hoping the MP3Tag adds a way to write to an ID3 tag that populates the Grouping field, the way writing to the ContentGroup tag used to work. As I said, I read that populating the GRP1 tag will now populate the Grouping field in iTunes, but I tried this using MP3Tag, and it currently doesn't work that way. Unless I'm doing it wrong, in which case I'm hoping someone can tell me what I'm doing wrong.

Attached is a screenshot of the iTunes Shuffle feature.

Thank you for responding!! :slight_smile: