Probably a good idea to get a known stable version (i.e. based on 3.90.2) tweaked to use --preset as a synonym (i.e. alternative) to --alt-preset as well as for the existing presets of very old Lame compiles.
A minor interface niggle is also the need to specify the destination filename so you don't get an output file called file.wav.mp3. This might simplify EAC commandline options, where users wouldn't have any problems if they left out the %d (for destination filename) when setting up a user-defined encoder.
Frankly, it may also be worthwhile to modify some of the text output too, including the output of --help and --longhelp to advocate --preset standard as the default setting for transparent encoding.
How about indicating that --r3mix is superceded by extensive blind testing (suggest --preset standard for transparent quality, or suggest --preset standard -Y for similar bitrates at better quality, or even hardcode the latter as a replacement with an appropriate informational message).
It might also be worth printing on-screen warnings when non-recommended psychoacoustic mode switches are added to presets and suggesting those that are safe. (It might also safe repeated questions on these forums)
Apart from mono downmixing and -Z, the only switches I understand to be artifact-'safe' modifications to -APS, -APE and -API are:
-F
-Y and
--lowpass
providing the lowpass doesn't exceed the level used in insane, where it might seriously risk hitting 320kbps too often and lacking enough bits to encode the audible stuff properly. I guess higher -b values are possible too.
Here's an example warning as a suggestion (perhaps a bit long).
What do you think?
User types:
lame --preset standard -k -noshort -q 0 --tt "Test file" test.wav test.mp3
I n f o r m a t i o n a l W a r n i n g !
--preset standard has been highly optimized and tested to avoid audible
artifacts within the limitations of MP3, including the use of code-level tweaks
not accessible from the commandline. If you want to use more bits "to feel
safe" use --preset extreme If you are trying to fix artifacts, use --preset
insane (320 kbps CBR).
You have specified additional switches which affect the psychoacoustic model:
-k --noshort -q 0
Such modifications may introduce audible artifacts, and should only be used
for testing purposes.
However, there are a few artifact-safe commandline switches for --preset
standard that will not generate this warning:
-Y gracefully lower bitrate by ignoring frequencies >16kHz if these require
excessive bitrate (MP3 spec lacks sfb21 scalefactor, so accurate
representation of high frequencies can force unnecessary accuracy below
16 kHz in variable bitrate mode)
-F disable use of 32 kbps frames for digital silence (fix for
non MP3-compliant decoders including some portables)
--lowpass <freq> safe unless above about 20.6 kHz
Edit: typo