Encoding Options Help

For the most part, the recommended setting for getting high quality MP3s from LAME is --alt-preset standard, but you can mix and match from a huge number of other options. The encoding options are sent directly to LAME, and can be a little cryptic at first. Essentially, you type as many options as you like, with spaces in between them.

The equivalents for the iTunes MP3 settings are:

Good Quality: -b 128

High Quality: -b 160

Higher Quality: -b 192

For variable bit rate:

Lowest: -v -V 9

Low: -v -V 6

Medium: -v -V 4

High: -v -V 2

Highest: -v -V 0

You can combine the Variable Bit Rate and the Constant Bit Rate (e.g. -b 160) to specify a guaranteed minimum.

Adding a -h improves the quality of the encoding, but makes it take longer.

Putting it all together, if you wanted a well encoded, Medium-quality VBR file with a minimum bit rate of 128, you could use these as your encoding options:

-v -V 4 -b 128 -h

In addition to the standard options, LAME includes a number of presets:

Very High Quality: --alt-preset standard

Even Higher Quality: --alt-preset extreme

Highest Possible Quality: --alt-preset insane

iTunes-LAME implements a few extra options:

--vcomment will add version and encoding options information to empty comments fields.

--multi will run multiple encoders at once, enabled automatically on a dual-processor machine.

--delete-source will delete the source file if it is successfully encoded.The file is immediately removed, so use this with an appropriate amount of caution.

An exhaustive list of the options, pulled straight from LAME, is listed below. Avoid the Verbosity and ID3 tag sections, as display and tagging is all handled automatically.

Good luck, and happy encoding...


  Operational options:

    -a              downmix from stereo to mono file for mono encoding

    -m <mode>       (j)oint, (s)imple, (f)orce, (d)dual-mono, (m)ono

                    default is (j) or (s) depending on bitrate

                    joint  = joins the best possible of MS and LR stereo

                    simple = force LR stereo on all frames

                    force  = force MS stereo on all frames.

    --preset type   type must be "medium", "standard", "extreme", "insane",

                    or a value for an average desired bitrate and depending

                    on the value specified, appropriate quality settings will

                    be used.

                    "--preset help" gives more info on these

    --comp  <arg>   choose bitrate to achive a compression ratio of <arg>

    --replaygain-fast   compute RG fast but slightly inaccurately (default)

    --replaygain-accurate   compute RG more accurately and find the peak sample

    --noreplaygain  disable ReplayGain analysis

    --clipdetect    enable --replaygain-accurate and print a message whether

                    clipping occurs and how far the waveform is from full scale

    --freeformat    produce a free format bitstream

    --decode        input=mp3 file, output=wav

    -t              disable writing wav header when using --decode


    --disptime <arg>print progress report every arg seconds

    -S              don't print progress report, VBR histograms

    --nohist        disable VBR histogram display

    --silent        don't print anything on screen

    --quiet         don't print anything on screen

    --brief         print more useful information

    --verbose       print a lot of useful information

  Noise shaping & psycho acoustic algorithms:

    -q <arg>        <arg> = 0...9.  Default  -q 5 

                    -q 0:  Highest quality, very slow 

                    -q 9:  Poor quality, but fast 

    -h              Same as -q 2.   Recommended.

    -f              Same as -q 7.   Fast, ok quality

  CBR (constant bitrate, the default) options:

    -b <bitrate>    set the bitrate in kbps, default 128 kbps

    --cbr           enforce use of constant bitrate

  ABR options:

    --abr <bitrate> specify average bitrate desired (instead of quality)

  VBR options:

    -v              use variable bitrate (VBR) (--vbr-old)

    --vbr-old       use old variable bitrate (VBR) routine

    --vbr-new       use new variable bitrate (VBR) routine

    -V n            quality setting for VBR.  default n=4

                    0=high quality,bigger files. 9=smaller files

    -b <bitrate>    specify minimum allowed bitrate, default  32 kbps

    -B <bitrate>    specify maximum allowed bitrate, default 320 kbps

    -F              strictly enforce the -b option, for use with players that

                    do not support low bitrate mp3

    -t              disable writing LAME Tag

    -T              enable and force writing LAME Tag

  PSY related:

    --short         use short blocks when appropriate

    --noshort       do not use short blocks

    --allshort      use only short blocks

    --notemp        disable temporal masking effect

    --nssafejoint   M/S switching criterion

    --nsmsfix <arg> M/S switching tuning [effective 0-3.5]

    --interch x     adjust inter-channel masking ratio

    --ns-bass x     adjust masking for sfbs  0 -  6 (long)  0 -  5 (short)

    --ns-alto x     adjust masking for sfbs  7 - 13 (long)  6 - 10 (short)

    --ns-treble x   adjust masking for sfbs 14 - 21 (long) 11 - 12 (short)

    --ns-sfb21 x    change ns-treble by x dB for sfb21

  experimental switches:

    -X n[,m]        selects between different noise measurements

                    n for long block, m for short. if m is omitted, m = n

    -Y              lets LAME ignore noise in sfb21, like in CBR

    -Z [n]          currently no effects

  MP3 header/stream options:

    -e <emp>        de-emphasis n/5/c  (obsolete)

    -c              mark as copyright

    -o              mark as non-original

    -p              error protection.  adds 16 bit checksum to every frame

                    (the checksum is computed correctly)

    --nores         disable the bit reservoir

    --strictly-enforce-ISO   comply as much as possible to ISO MPEG spec

  Filter options:

    -k              keep ALL frequencies (disables all filters),

                    Can cause ringing and twinkling

  --lowpass <freq>        frequency(kHz), lowpass filter cutoff above freq

  --lowpass-width <freq>  frequency(kHz) - default 15% of lowpass freq

  --highpass <freq>       frequency(kHz), highpass filter cutoff below freq

  --highpass-width <freq> frequency(kHz) - default 15% of highpass freq

  --resample <sfreq>  sampling frequency of output file(kHz)- default=automatic

  ID3 tag options:

    --tt <title>    audio/song title (max 30 chars for version 1 tag)

    --ta <artist>   audio/song artist (max 30 chars for version 1 tag)

    --tl <album>    audio/song album (max 30 chars for version 1 tag)

    --ty <year>     audio/song year of issue (1 to 9999)

    --tc <comment>  user-defined text (max 30 chars for v1 tag, 28 for v1.1)

    --tn <track>    audio/song track number (1 to 255, creates v1.1 tag)

    --tg <genre>    audio/song genre (name or number in list)

    --add-id3v2     force addition of version 2 tag

    --id3v1-only    add only a version 1 tag

    --id3v2-only    add only a version 2 tag

    --space-id3v1   pad version 1 tag with spaces instead of nulls

    --pad-id3v2     pad version 2 tag with extra 128 bytes

    --genre-list    print alphabetically sorted ID3 genre list and exit

    --ignore-tag-errors  ignore errors in values passed for tags

    Note: A version 2 tag will NOT be added unless one of the input fields

    won't fit in a version 1 tag (e.g. the title string is longer than 30

    characters), or the '--add-id3v2' or '--id3v2-only' options are used,

    or output is redirected to stdout.

MPEG-1   layer III sample frequencies (kHz):  32  48  44.1

bitrates (kbps): 32 40 48 56 64 80 96 112 128 160 192 224 256 320

MPEG-2   layer III sample frequencies (kHz):  16  24  22.05

bitrates (kbps):  8 16 24 32 40 48 56 64 80 96 112 128 144 160

MPEG-2.5 layer III sample frequencies (kHz):   8  12  11.025

bitrates (kbps):  8 16 24 32 40 48 56 64 80 96 112 128 144 160