Hi there!
Full disclaimer:
I’m new to beets and to the world of tagging audio files in general.
It’s entirely possible that I’ve just not (yet) found the right way to do what I’m attempting to do!
Quick FYI: I’m on beets v2.0.0
Currently I’m (finally) trying to introduce some quality standards to my music library.
At the moment the library is VEEERY inconsistent (various file formats, competing naming conventions, metadata on a spectrum from “none” to “perfect”, …).
Well, Beets looked up for the task, so I took a deep dive into the docs, wrote a config to my liking, and did some initial testing.
For the tests I started with files that I consider to be close to perfectly tagged.
Obviously, I don’t want beets (resp. my config) to mess such files up - unfortunately that’s exactly what happened on autoimport.
I tweaked my config (mainly the zero plugin) and it got a lot better.
BUT, there are still a few tags left, which beets refuses to handle to my liking.
My current assumption is that this is related to how beets maps fields to tags.
Here are the logs for one of my FLAC files (thanks to exiftool, which let me grab the tags with ID and name):
- the Vorbis comments of the unimported original:
<Vorbis:Vendor et:id='vendor' et:table='Vorbis::Comments'>reference libFLAC 1.3.0 20130526</Vorbis:Vendor>
<Vorbis:Album et:id='ALBUM' et:table='Vorbis::Comments'>Live In Session</Vorbis:Album>
<Vorbis:Albumartist et:id='ALBUMARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Albumartist>
<Vorbis:Artist et:id='ARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Artist>
<Vorbis:Barcode et:id='BARCODE' et:table='Vorbis::Comments'>5056032332904</Vorbis:Barcode>
<Vorbis:Date et:id='DATE' et:table='Vorbis::Comments'>2020-06-19</Vorbis:Date>
<Vorbis:Discnumber et:id='DISCNUMBER' et:table='Vorbis::Comments'>1</Vorbis:Discnumber>
<Vorbis:Genre et:id='GENRE' et:table='Vorbis::Comments'>Rock</Vorbis:Genre>
<Vorbis:ISRCNumber et:id='ISRC' et:table='Vorbis::Comments'>GBGLW2000351</Vorbis:ISRCNumber>
<Vorbis:Publisher et:id='PUBLISHER' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Publisher>
<Vorbis:Title et:id='TITLE' et:table='Vorbis::Comments'>Downfall (Live)</Vorbis:Title>
<Vorbis:TrackNumber et:id='TRACKNUMBER' et:table='Vorbis::Comments'>4</Vorbis:TrackNumber>
<Vorbis:Length et:id='LENGTH' et:table='Vorbis::Comments'>217000</Vorbis:Length>
- the Vorbis comments after beets’ autoimport:
<Vorbis:Vendor et:id='vendor' et:table='Vorbis::Comments'>Mutagen 1.47.0</Vorbis:Vendor>
<Vorbis:Album et:id='ALBUM' et:table='Vorbis::Comments'>Live In Session</Vorbis:Album>
<Vorbis:AlbumArtist et:id='ALBUM ARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:AlbumArtist>
<Vorbis:AlbumArtist et:id='ALBUM_ARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:AlbumArtist>
<Vorbis:Albumartist et:id='ALBUMARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Albumartist>
<Vorbis:Artist et:id='ARTIST' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Artist>
<Vorbis:Barcode et:id='BARCODE' et:table='Vorbis::Comments'>5056032332904</Vorbis:Barcode>
<Vorbis:Date et:id='DATE' et:table='Vorbis::Comments'>2020-06-19</Vorbis:Date>
<Vorbis:Year et:id='YEAR' et:table='Vorbis::Comments'>2020</Vorbis:Year>
<Vorbis:Disc et:id='DISC' et:table='Vorbis::Comments'>1</Vorbis:Disc>
<Vorbis:Discnumber et:id='DISCNUMBER' et:table='Vorbis::Comments'>1</Vorbis:Discnumber>
<Vorbis:Genre et:id='GENRE' et:table='Vorbis::Comments'>Rock</Vorbis:Genre>
<Vorbis:ISRCNumber et:id='ISRC' et:table='Vorbis::Comments'>GBGLW2000351</Vorbis:ISRCNumber>
<Vorbis:Label et:id='LABEL' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Label>
<Vorbis:Publisher et:id='PUBLISHER' et:table='Vorbis::Comments'>The One Hundred</Vorbis:Publisher>
<Vorbis:MusicbrainzAlbumid et:id='MUSICBRAINZ_ALBUMID' et:table='Vorbis::Comments'>149145462</Vorbis:MusicbrainzAlbumid>
<Vorbis:MusicbrainzTrackid et:id='MUSICBRAINZ_TRACKID' et:table='Vorbis::Comments'>964855212</Vorbis:MusicbrainzTrackid>
<Vorbis:ReplayGainAlbumGain et:id='REPLAYGAIN_ALBUM_GAIN' et:table='Vorbis::Comments'>-10.54 dB</Vorbis:ReplayGainAlbumGain>
<Vorbis:ReplayGainAlbumPeak et:id='REPLAYGAIN_ALBUM_PEAK' et:table='Vorbis::Comments'>1.244515</Vorbis:ReplayGainAlbumPeak>
<Vorbis:ReplayGainTrackGain et:id='REPLAYGAIN_TRACK_GAIN' et:table='Vorbis::Comments'>-11.00 dB</Vorbis:ReplayGainTrackGain>
<Vorbis:ReplayGainTrackPeak et:id='REPLAYGAIN_TRACK_PEAK' et:table='Vorbis::Comments'>1.244515</Vorbis:ReplayGainTrackPeak>
<Vorbis:Title et:id='TITLE' et:table='Vorbis::Comments'>Downfall (Live)</Vorbis:Title>
<Vorbis:Track et:id='TRACK' et:table='Vorbis::Comments'>4</Vorbis:Track>
<Vorbis:TrackNumber et:id='TRACKNUMBER' et:table='Vorbis::Comments'>4</Vorbis:TrackNumber>
As you can see, beets had some trouble with the “ALBUM_ARTIST” tag.
Respective tags changed from from just “ALBUMARTIST” to “ALBUM ARTIST” + “ALBUM_ARTIST” + “ALBUMARTIST”; three tags for the price of one I guess…
Yes, in my config I allow the field “albumartist” - but I was expecting beets to keep one (a standardized) version of the tag.
Not three separate versions. And it didn’t even fix the name of the “ALBUMARTIST” tag (Albumartist → AlbumArtist).
The tags “TRACK” and “TRACKNUMBER” are a similar story, I really only need one of them.
Same with “DISC” and “DISCNUMBER”.
A different story entirely is the “LENGTH” tag.
The scrub plugin killed it. Which is surprising behavior to me.
“LENGTH” feels like a pretty essential piece of metadata. I don’t see why that would/should not be supported.
Actually I would have expected scrub to rather clean the misformatted “ALBUMARTIST/Albumartist” tag…
Anyway, for the time being I’ve disabled scrub.
Well, and there you have it. Is there a way to resolve all (or at least some) of this?
Is there a way to get better control over which tags beets writes to file and which are removed??
Before anyone feels obligated to point this out:
Yes, I know, most of this is probably high-level complaining, but remember that I’m trying to get my collection into shape.
To me, adding lots of redundant information should have no part in this.