How to bulk edit "Composers" field in MP3 Properties

I have a virtual library of almost 5000 78rpm mp3 files. I have stored as the mp3’s properties Title, Album Artist (e.g. The Dorsey Brothers), Contributing Artists (e.g. Bob Crosby with The Dorsey Brothers’ Orchestra), Year recorded (e.g. 1934), Genre (e.g. Big Band), Publisher (e.g. Decca 116 B) and Composers (e.g. Charlie Gaines-Clarence Williams). I have now decided it was unwise to separate multiple composers with a “hyphen” and would like to change it to a “slash”. I have always relied upon TigoTago as it has a “find and replace” feature but it only works on specified columns and Composers doesn’t seem to be one of them. I downloaded the MusicBrainz tag editor in the hope to it would work, but it doesn’t include editing Composers either. Has anyone a suggestion?

1 Like

I think you should use Mp3Tag if you are on Windows.

1 Like

Or on Mac:

1 Like

I normally use Mp3Tag but it doesn’t provide a “Find and Change” function, so I would have to individually select each mp3 song and change the Composer field, removing the hyphen and replacing it with slash. Just at a guess I would say 75% of my songs have more than one person shown as Composer, meaning individually dealing with over 3500 songs. In fact I would have to inspect almost 500s songs to see if there is a hyphen needing to be changed.
Bob

You could use MusicBrainz Picard with a script you apply manually.

In Picard in Options > Scripts add a script like

$set(composer,$replace(%composer%,-,/))

Keep the script disabled (unchecked checkbox) and give it a nice name, e.g. “Fix composer”.

In Picard itself enable Save tags, but disable file moving and renaming.

Then

  1. Load your files into Picard (I assume here your files are not tagged with Picard already and hence end up in unmatched files)
  2. Select all files, right click and choose Run scripts… > " Your script’s name". This should change the composer accordingly and show the changes in the tags if you select a single file
  3. Save the files to write back the changes 5o the files

Please test the above first on a copy of just a few single files to check whether this does what you need.

Also the script I just wrote down here ad-hoc, check if the separators are correct.

5 Likes

Strange, I remember doing this, very long time ago.
Maybe I was using an export feature, then search/replace in my best editor (EmEditor but you can use anything, including Excel I guess), then import back in place.

2 Likes

This is what I would do. MP3Tag combined with Notepad++ can be very powerful.

Whichever method is used will need a lot of visual checks as you’re gonna have hyphens used in composer surnames on occasions. I would also recommend changing it to " / ". Put spaces around the slash to make it clearer that it is a divider and not part of a name.

1 Like

You can use quick actions. I assume you’d want to use replace on the COMPOSERS field, but best to test it on a backup of a file before using it on 3500+.

2 Likes

Exactly, this!
Thanks so much for bringing back memories. :slight_smile:

1 Like

If you are talking about a proprietary field named “composers” (with an ‘s’), rather than the standard “composer” field, then if you use Picard, you MUST uppercase the field name to “COMPOSERS” when working on MP3 files. (Picard is case sensitive - most other tag editing programs are not.) You will want to apply this all-caps conversion to all ID3v2 TXXX field/variables. (Notice how Appendix B: Tag Mapping — MusicBrainz Picard v2.7.1 documentation maps lower-case variables like %barcode%, %director% and %work% to all-caps TXXX fields.)

You will have a very bad time if you don’t follow my advice.

(…and don’t get me started on how Picard’s default ID3v2 mappings for MusicBrainz’s own fields into mixed-case TXXX field names is bad.)

1 Like

And for Linux OS, the so very faithful homage to the unabashed spreadsheet glories of Mp3tag is called, I think, PuddleTag.

1 Like