Mp3tag is a powerful meta tag viewer and editor. Despite it's name it supports many different audio file formats:
mid3v2 is part of the Mutagen package which allows detailed analysis of MP3 meta tags.
powershell python --version
powershell python -m pip install mutagen
Configuration of AAH is very flexible and can be adjusted to your EAC/EAH configuration. I have included my own setup in the walk through below, which adds proper meta tags, the album art image, and replay gain to each extracted track for mp3 and flac. AAH is configured completely independently from Audacity, and does not modify any Audacity settings or the registry.
There is no specific audacity configuration required, but you need to pay attention to the export options when exporting the tracks, which is explained in the Work flow section.
MetaOptTrack=--2 --artist "%artist%" --album "%albumtitle%" --year %year% --track "%tracknr1%/%numtracks%" --genre "%genre%" --frame TPE2:"%albumartist%" --frame TPE3:"%albuminterpret%" --frame TPOS:"%cdnumber%/%totalcds%" --frame TCOM:"%composer%" MetaOpt=--2 --replay-gain --frame APIC{3}:"%workspace%\%coverfile%" --comment "%comment%" --frame TENC:"%username%" "%workspace%\*.mp3"
AddMetaOptTrack=--set-tag=ARTIST="%artist%" --set-tag=ALBUM="%albumtitle%" --set-tag=DATE=%year% --set-tag=TRACKNUMBER=%tracknr1% --set-tag=TOTALTRACKS=%numtracks% --set-tag=GENRE="%genre%" --set-tag=ALBUMARTIST="%albumartist%" --set-tag=PERFORMER="%albuminterpret%" --set-tag=DISCNUMBER=%cdnumber% --set-tag=TOTALDISCS=%totalcds% --set-tag=COMPOSER="%composer%" --show-tag=TITLE AddMetaOpt=--add-replay-gain --import-picture-from="%workspace%\%coverfile%" --set-tag=COMMENT="%comment%" --set-tag=ENCODED-BY="%username%" --show-tag=TITLE "%workspace%\*.flac"
EAH and AAH use the same place holders as EAC does. This table explains the place holders, and where they are available. You can use them for file names and other options where reference to album and track information is required.
Place holder | Explanation | EAC | EAH | AAH |
---|---|---|---|---|
Place holders available in EAC only | ||||
%source% | source filename | T | - | - |
%dest% | destination filename | T | - | - |
%original% | original filename (without temporary renaming) | T | - | - |
%ishigh% | text between 2 such place holders only when “High quality” selected | A | - | - |
%islow% | text between 2 such place holders only when “Low quality” selected | A | - | - |
%haslyrics% | text between 2 such place holders only when lyrics exist | T | - | - |
%hascover% | text between 2 such place holders only when storing cd cover is enabled and cover exists | A | - | - |
%crcenabled% | text between 2 such place holders only when “CRC checksum” selected | T | - | - |
%tracklen% | track duration | T | - | - |
%lengthmin% | track duration (minutes part) | T | - | - |
%lengthsec% | track duration (seconds part) | T | - | - |
%cddbtype% | freedb music type | A | - | - |
%cddbid% | freedb ID | A | - | - |
%lyrics% | lyrics | T | - | - |
%lyricsfile% | filename of lyrics text file | T | - | - |
%trackcrc% | CRC of extracted track | T | - | - |
%bitrate% | selected bitrate | A | - | - |
Place holders available in EAH and AAH | ||||
%tracknr% | track number (same as %tracknr2%) | T | - | T |
%tracknr1% | track number (at least 1 digit) | T | - | T |
%tracknr2% | track number (at least 2 digits) | T | - | T |
%tracknr3% | track number (at least 3 digits) | T | - | T |
%numtracks% | number of tracks on CD/album | A | - | A |
%cdnumber% | number of the CD | A | A | A |
%totalcds% | total number of CDs in the given CD set | A | A | A |
%title% | track title | T | - | T |
%artist% | track artist | T | - | T |
%genre% | music genre | A | A | A |
%year% | year | A | A | A+T |
%composer% | track performer | T | - | T |
%albumtitle% | CD title | A | A | A |
%albumartist% | CD artist | A | A | A |
%albumcomposer% | CD composer | A | A | A |
%albuminterpret% | CD performer | A | A | A |
%comment% | comment | A | A | A |
%coverfile% | filename of CD cover image | A | A | A |
%workspace% | working folder for temporary files | - | F | F |
%scriptdir% | directory the script is run from | - | F | F |
%username% | current user logged in to windows | - | A | A |
%today% | today's date | - | A | A |
Scope: A=album, T=track, F=folder, -=not available. In AAH %year% is replaced with the year indicated for each track, if a track_artists.txt file exists and the year is specified for the track, replaced with the “album” year taken from the GUI otherwise.
File names are usually equivalent to the track (music) titles. AAH constructs the track title in the meta tags from the file name, so here is how to deal with these limitations: