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 EAH is very flexible and can be adjusted to your EAC 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. To make EAC and EAH work together seamlessly I have also added the important settings of EAC to the walk through. EAH is configured completely independently from EAC, and does not modify any EAC settings or the registry. This keeps is transparent, but requires that you setup EAC properly in order to work with EAH.
-V4 --vbr-new --id3v2-only --replaygain-accurate --ignore-tag-errors --ta "%artist%" --tt "%title%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr1%/%numtracks%" --tg "%genre%" --tv "TPE2=%albumartist%" --tv "TPE3=%albuminterpret%" --tv "TPOS=%cdnumber%/%totalcds%" --tv "TCOM=%composer%" %source% %dest%
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr1%" -T "TOTALTRACKS=%numtracks%" -T "GENRE=%genre%" -T "ALBUMARTIST=%albumartist%" -T "PERFORMER=%albuminterpret%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "COMPOSER=%composer%" %source% -o %dest%
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+T1 |
%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. 1In 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.
In tab General, enable “Show status dialog after extraction”, “wait for external compressors”, and chose the “language”
In tab Filename and Additional Filename, set the Naming scheme to “%tracknr2% %title%”
In tab Extraction, enable “Lock drive tray during extraction”, set Extraction and compression priority to “Normal”, and Error recovery quality to “High”
In tab Directories, chose the directory for the temporary files, which must be the same directory as set for option “Workspace” in EAH.ini
In tab Character Replacements, change the replacement settings to your preference, I prefer to replace double quotes “ with single quotes ', ”?“ with an empty string, “’” with ”'“, and ”:“ with ”;“. Refer to the Limitations below for further information about the character replacements in file names.
In tab External Compression and Additional External Compression, select “Use external program for compression”, “User Defined Encoder”, matching “file extension”, “Program, including path, used for compression”, “Additional command-line options”, “Bit rate”, “Delete WAV after compression” (for External Compression only), “High quality”, and un-check “Add ID3 tag”
For MP3 encoding I chose a medium bit rate of 160 kBit/s, which ensures good audio quality with relatively small file size. These files are used on mobile devices, a higher bit rate would probably remain unnoticed on such devices. I would set the following command line options, which ensure all meta tags are set except replay gain, cover art image, and comment, as these will be set through EAH and set in EAH.ini under “MetaOpt”:
-V4 --vbr-new --id3v2-only --replaygain-accurate --ignore-tag-errors --ta "%artist%" --tt "%title%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr1%/%numtracks%" --tg "%genre%" --tv "TPE2=%albumartist%" --tv "TPE3=%albuminterpret%" --tv "TPOS=%cdnumber%/%totalcds%" --tv "TCOM=%composer%" %source% %dest%
For FLAC encoding I chose the highest bit rate of 1024 kBit/s, which ensures best possible audio quality. These files are used on my HIFI audio system at home, where I don't want to compromise on audio quality. I would set the following command line options, which ensure all meta tags are set except replay gain, cover art image, and comment, as these will be set through EAH and set in EAH.ini under “AddMetaOpt”:
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr1%" -T "TOTALTRACKS=%numtracks%" -T "GENRE=%genre%" -T "ALBUMARTIST=%albumartist%" -T "PERFORMER=%albuminterpret%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "COMPOSER=%composer%" %source% -o %dest%
In tab ID3 Tag, check “Write ID3V2 tags using UTF16”, un-check “Write ID3V1 tags”, “Use ID3V1.1 tags instead of ID3V1.0 tags”, “Add cover image to ID3V2 tag”, and “Write cover image into extraction folder” (all of which will be handled by EAH)
Here is how to deal with these limitations: