# keeping output files' tags in sync

**URL:** https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803
**Category:** General Discussion
**Created:** [August 27, 2012, 4:05am UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803 "2012-08-27T04:05:31Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![HansBKK](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/5daacb/32.png) [@HansBKK](https://community.mp3tag.de/u/HansBKK)
#### Post date: [August 27, 2012, 4:05am UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/1 "2012-08-27T04:05:31Z")

</div>

My personal tagging standards and procedure documentation is still evolving, and MP3Tag is a tremendous tool for helping me go back to the already-tagged subset of my collection and retroactively keeping it in sync with my current specs.

However I find it hard to believe I'm supposed to have to do this at least twice - once for my FLAC "master source" file and again for the generated lossy ones (usually MP3).

Is there a way to allow me to just update my FLAC masters and automate the updating of the subsidiary files? Ideally this should be done within the MP3Tag ecosystem rather than through a completely separate third-party "catalog manager" type tool so as to take advantage of the automagical field mapping feature.

I don't mind if this isn't 100% automated, not looking for a cron-type "watch folder tree" functionality, incremental improvements to the workflow would be most welcome.

As a related question, I seem to recall one of the "catalog manager" apps recently announcing that they now recognized their database objects (albums and tracks) on an ongoing basis via the tags rather than file-system specific kruft, but can't recall and haven't been able to identify which one via google - this ring a bell with any of the gurus here?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [August 27, 2012, 4:45am UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/2 "2012-08-27T04:45:34Z")

</div>

> [@HansBKK](#):
>
> ...However I find it hard to believe I'm supposed to have to do this at least twice...

You do all the other things twice so why not the tagging?  
How should any program be able to GUESS which files are related if they differ in format and contents?  
The moment you modify one field you cut the connection between these files - unless you provide a unique identifier.

You do know that you can copy and paste tags between files if they match in fields, number and sequence?  
So, a semi-bulk processing could look like this that you load both, the parent and child files, select all the parent files, copy the tags, select all the child files and paste the tags.

---

<div class="post-metadata">

### Author: ![JJ\_Johnson](https://community.mp3tag.de/user_avatar/community.mp3tag.de/jj_johnson/32/67_2.png) [@JJ\_Johnson](https://community.mp3tag.de/u/JJ_Johnson)
#### Post date: [August 27, 2012, 7:35am UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/3 "2012-08-27T07:35:15Z")

</div>

> [@HansBKK](#):
>
> Is there a way to allow me to just update my FLAC masters and automate the updating of the subsidiary files?

The way I generate my Mp3 mirror library is through a script. Tagging of the Mp3 library isn't at all like that of the FLAC library, because the playback applications differ significantly in their tag handling. My FLAC library is played through Squeezebox Server, which supports multiple values in fields, such as multiple artists and genres, and also supports sort fields such as ARTISTSORT. My Mp3 library is played on portable players with Rockbox, which doesn't recognize either multiple field values or sort fields. It's also best on most portable software to eliminate unused fields, as it speeds up file indexing for the database. So the transcoding script takes this all into account and generates fields accordingly, by combining multiple values and by throwing away many unneeded fields like comments and sorting fields.

I periodically run the transcoding/mirroring script, which adds new files, removes deleted files and updates changed files. The mirrored files are given the same timestamp as the originals, so that when the modified time changes, the file is re-transcoded and the tags are transferred according to the rules. This picks up any changes to the file, whether it's due to a tagging change or a completely new rip of the CD.

> [@](#):
>
> Ideally this should be done within the MP3Tag ecosystem rather than through a completely separate third-party "catalog manager" type tool so as to take advantage of the automagical field mapping feature.

[Robin Bowes' perl script for transcoding FLAC to Mp3](http://projects.robinbowes.com/flac2mp3/trac) is capable of doing a tag transfer/update without re-transcoding the file.

This isn't something I'd use Mp3tag for. Field mapping alone couldn't be used to combine multiple value fields or to remove unnecessary fields. Even if a dumb 1:1 transfer of tags was acceptable, it sounds like it would require a fair amount of manual fiddling in Mp3tag. I want the maintenance of the Mp3 mirror library to be infinitely more automated than that.

---

<div class="post-metadata">

### Author: ![HansBKK](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/5daacb/32.png) [@HansBKK](https://community.mp3tag.de/u/HansBKK)
#### Post date: [August 27, 2012, 2:29pm UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/4 "2012-08-27T14:29:42Z")

</div>

> [@ohrenkino](#):
>
> You do all the other things twice so why not the tagging?

Not sure what you're referring to?

> [@ohrenkino](#):
>
> How should any program be able to GUESS which files are related if they differ in format and contents?  
> The moment you modify one field you cut the connection between these files - unless you provide a unique identifier.

In my case it could be done by the fact that the folder trees are identical other than the [FLAC] vs [MP3] nodes.

Or preferably just like the ReplayGain tagging tools can be told how to recognize which files belong to the same album independent of folders, e.g. %AlbumArtist%-%RELEASETIME%-%Album%

(Note I use TDRL for the album-level year, while the more usual %YEAR% value is a per-track recording date.)

> [@ohrenkino](#):
>
> You do know that you can copy and paste tags between files if they match in fields, number and sequence?  
> So, a semi-bulk processing could look like this that you load both, the parent and child files, select all the parent files, copy the tags, select all the child files and paste the tags.

Yes, I'd read that, thanks, and of course that is helpful, I'm just wary of user errors when dealing with hundreds of albums.

---

<div class="post-metadata">

### Author: ![HansBKK](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/5daacb/32.png) [@HansBKK](https://community.mp3tag.de/u/HansBKK)
#### Post date: [August 27, 2012, 2:37pm UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/5 "2012-08-27T14:37:51Z")

</div>

> The way I generate my Mp3 mirror library is through a script.

May I ask what language/library you use? I've wanted a real-life project to start to learn programming. . .

> Tagging of the Mp3 library isn't at all like that of the FLAC library, because the playback applications differ significantly in their tag handling. My FLAC library is played through Squeezebox Server, which supports multiple values in fields, such as multiple artists and genres, and also supports sort fields such as ARTISTSORT. My Mp3 library is played on portable players with Rockbox, which doesn't recognize either multiple field values or sort fields.

My plan is to have "canonical" MP3 files, and then have canned sets of Actions in MP3Tag modify copied sets to handle lo-fi player quirks, copying from my custom "singleArtist" and "singleGenre" fields, from the sort fields to the main ones, and now that you mention it, deleting the unused fields is a good idea.

> [Robin Bowes' perl script for transcoding FLAC to Mp3](http://projects.robinbowes.com/flac2mp3/trac) is capable of doing a tag transfer/update without re-transcoding the file.

Thanks for the link, I'll check it out. It hasn't been maintained for three years though. . .

> I want the maintenance of the Mp3 mirror library to be infinitely more automated than that.

I guess that's yet another pipe dream without the programming chops to do it yourself as you have.

Greatly appreciate your detailed and considered response.

---

<div class="post-metadata">

### Author: ![JJ\_Johnson](https://community.mp3tag.de/user_avatar/community.mp3tag.de/jj_johnson/32/67_2.png) [@JJ\_Johnson](https://community.mp3tag.de/u/JJ_Johnson)
#### Post date: [August 27, 2012, 6:46pm UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/6 "2012-08-27T18:46:33Z")

</div>

> [@HansBKK](#):
>
> > The way I generate my Mp3 mirror library is through a script.
> 
> May I ask what language/library you use? I've wanted a real-life project to start to learn programming. . .

VBScript, although I'm not sure I'd recommend it for learning programming. If you want to learn a scripting language, something like Python might be a better bet.

The script is essentially an intelligent wrapper for a number of command-line tools. It uses

flac.exe - decode FLAC files to WAV  
metaflac.exe - read tagging from FLAC files  
lame.exe - encode WAV to Mp3 and transfer tagging  
lametag.exe - read LAME tags  
metamp3.exe - add additional ID3 fields after encoding  
touch.exe - copy timestamps

Robin Bowes' Perl script, by contrast, uses calls to FLAC and Mp3 libraries to do the decoding, encoding and tag transfer.

---

<div class="post-metadata">

### Author: ![HansBKK](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/5daacb/32.png) [@HansBKK](https://community.mp3tag.de/u/HansBKK)
#### Post date: [September 23, 2012, 6:38am UTC](https://community.mp3tag.de/t/keeping-output-files-tags-in-sync/13803/7 "2012-09-23T06:38:37Z")

</div>

> [@JJ Johnson](#):
>
> Robin Bowes' Perl script, by contrast, uses calls to FLAC and Mp3 libraries to do the decoding, encoding and tag transfer.

Apparently [here](http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=73482&view=findpost&p=809273)'s a somewhat updated version that does album art and copies over the other non-media files as well.
