Full command line switch reference

switch parameter
-a downmix stereo file to mono
--abr average bitrate encoding
--athonly ATH only
-b bitrate (8...320)
-B max VBR bitrate (8...320)
-c copyright
--comp choose compression ratio
-d block type control
--decode decoding only
--disptime display update interval
-e de-emphasis (n, 5, c)
-f fast mode
-F strictly enforce the -b option
--freeformat free format bitstream
-g turn on MP3x graphical frame analyser (may not be available on your release)
-h high quality
--help help
--highpass highpass filtering frequency in kHz
--highpass-width width of highpass filtering in kHz
-k full bandwidth
--lowpass lowpass filtering frequency in kHz
--lowpass-width width of lowpass filtering in kHz
-m stereo mode (s, j, f, m)
--mp3input mp3 input file
--noath no ATH
--nohist disable histogram display
--nores disable bit reservoir
--noshort disable short blocks frames
-o non-original
-p error protection
--preset use built-in preset (phone, voice, fm, tape, hifi, cd, studio)
-r input file is raw pcm
--resample output sampling frequency in kHz
-s sampling frequency in kHz
-S silent operation
--strictly-enforce-ISO strict ISO compliance
-t disable VBR/WAV header
-V VBR quality setting (0...9)
-x swapbytes

* -a    downmix 
Mix the stereo input file to mono and encode as mono.
The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB.

This option is only needed in the case of raw PCM stereo input (because LAME cannot determine the number of channels in the input file).
To encode a stereo PCM input file as mono, use "lame -m s -a".

For WAV and AIFF input files, using "-m m" will always produce a mono .mp3 file from both mono and stereo input.

* --abr n    average bitrate encoding
Turns on encoding with a targeted average bitrate of n kbits, allowing to use frames of different sizes. The allowed range of n is 4-310, you can use any integer value within that range.

It can be combined with the -b and -B switches like
lame --abr 123 -b 64 -B 192 a.wav a.mp3
which would limit the allowed frame sizes between 64 and 192 kbits.

Using -B is NOT RECOMMENDED. A 128kbs CBR bitstream, because of the bit reservoir, can actually have frames which use as many bits as a 320kbs frame. VBR modes minimize the use of the bit reservoir, and thus need to allow 320kbs frames to get the same flexibility as CBR streams.

* --athonly    ATH only
This option causes LAME to ignore the output of the psy-model and only use masking from the ATH (absolute threshold of hearing). Might be useful at very high bitrates or for testing the ATH.

* -b n    bitrate
For MPEG1 (sampling frequencies of 32, 44.1 and 48kHz)
n = 32,40,48,56,64,80,96,112,128,160,192,224,256,320

For MPEG2 (sampling frequencies of 16, 22.05 and 24kHz)
n = 8,16,24,32,40,48,56,64,80,96,112,128,144,160

Default is 128 kbs for MPEG1 and 80 kbs for MPEG2.

When used with variable bitrate encoding (VBR), -b specifies the minimum bitrate to be used. However, in order to reduce space wasting, during silences the smallest frame size available will be used.

* -B n    maximum VBR bitrate 
For MPEG1 (sampling frequencies of 32, 44.1 and 48kHz)
n = 32,40,48,56,64,80,96,112,128,160,192,224,256,320

For MPEG2 (sampling frequencies of 16, 22.05 and 24kHz)
n = 8,16,24,32,40,48,56,64,80,96,112,128,144,160

Specifies the maximum allowed bitrate when using VBR.

note: If you own an mp3 hardware player build upon a MAS 3503 chip, you must set maximum bitrate to no more than 224 kpbs.

* -c    copyright
Mark the encoded file as being copyrighted.

* --comp    choose compression ratio
Instead of choosing bitrate, using this option, user can choose compression ratio to achieve.

* -d    block type control
Allows the left and right channels to use different block size types.

* --decode    decoding only
Use LAME for decoding to a wav file. The input file can be any input type supported by encoding, including MP3 and OGG files. In case of MP3 files, LAME uses a bugfixed version of mpglib for decoding.

If -t is used (disable wav header), Lame will output raw pcm in native endian format. You can use -x to swap bytes order.

* -e n/5/c    de-emphasis

n = (none, default)
5 = 0/15 microseconds
c = citt j.17

All this does is set a flag in the bitstream. If you have a PCM input file where one of the above types of (obsolete) emphasis has been applied, you can set this flag in LAME. Then the mp3 decoder should de-emphasize the output during playback, although most decoders ignore this flag.

A better solution would be to apply the de-emphasis with a standalone utility before encoding, and then encode without -e.

* -f    fast mode
This switch forces the encoder to use a faster encoding mode, but with a lower quality.

Noise shaping will be disabled, but psycho acoustics will still be computed for bit allocation and pre-echo detection.

* -F   strictly enforce the -b option
This is mainly for use with hardware players that do not support low bitrate mp3.

Without this option, the minimum bitrate will be ignored for passages of analog silence, ie when the music level is below the absolute threshold of human hearing (ATH).

* --freeformat    free format bitstream
Produces a free format bitstream. With this option, you can use -b with any bitrate higher than 8 kbps.

However, even if an mp3 decoder is required to support free bitrates at least up to 320 kbps, many players are unable to deal with it.

Tests have shown that the following decoders support free format:

FreeAmp up to 440kbps
in_mpg123 up to 560kbps
l3dec up to 310kbps
LAME up to 560kbps

* -h    high quality
Use some quality improvements. Encoding will be slower, but the result will be of higher quality.
This switch is always enabled when using VBR.

* --help    help
Display a list of all available options.

* --highpass    highpass filtering frequency in kHz
Set an highpass filtering frequency. Frequencies below the specified one will be cutoff.

* --highpass-width    width of highpass filtering in kHz
Set the width of the highpass filter. The default value is 15% of highpass frequency.

* -k    full bandwidth
Tells the encoder to use full bandwidth and to disable all filters. By default, the encoder uses some highpass filtering at low bitrates, in order to keep a good quality by giving more bits to more important frequencies.
Increasing the bandwidth from the default setting might produces ringing artefacts at low bitrates. Use with care!

* --lowpass    lowpass filtering frequency in kHz
Set a lowpass filtering frequency. Frequencies above the specified one will be cutoff.

* --lowpass-width    width of lowpass filtering in kHz
Set the width of the lowpass filter. The default value is 15% of lowpass frequency.

* -m s/j/f/m    stereo mode
Joint-stereo is the default mode for stereo files with VBR when -v is more than 4 or fixed bitrates of 160kbs or less. At higher fixed bitrates or higher VBR settings, the default is stereo.


In this mode, the encoder makes no use of potentially existing correlations between the two input channels. It can, however, negotiate the bit demand between both channel, i.e. give one channel more bits if the other contains silence or needs less bits because of a lower complexity.

joint stereo
In this mode, the encoder will make use of a correlation between both channels. The signal will be matrixed into a sum ("mid"), computed by L+R, and difference ("side") signal, computed by L-R, and more bits are allocated to the mid channel.
This will effectively increase the bandwidth if the signal does not have too much stereo separation, thus giving a significant gain in encoding quality.

Using mid/side stereo inappropriately can result in audible compression artifacts. To much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO documentation, and thus is safe to use in joint stereo mode.

forced joint stereo
This mode will force MS joint stereo on all frames. It's slightly faster than joint stereo, but it should be used only if you are sure that every frame of the input file has very little stereo separation.

The input will be encoded as a mono signal. If it was a stereo signal, it will be downsampled to mono. The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB.

* --mp3input    mp3 input file
Assume the input file is a MP3 file. Usefull for downsampling from one mp3 to another. As an example, it can be usefull for streaming through an IceCast server.
If the filename ends in ".mp3" LAME will assume it is an MP3. For stdin or MP3 files which dont end in .mp3 you need to use this switch.

* --noath    no ATH
Disable any use of the ATH (absolute threshold of hearing) for masking. Normally, humans are unable to hear any sound below this threshold.
Disabling use of this feature might be usefull for music recorded at extremely low level.

* --nohist    disable histogram display
By default, LAME will display a bitrate histogram while producing VBR mp3 files. This will disable that feature.
Histogram display might not be available on your release.

* --nores    disable bit reservoir
Disable the bit reservoir. Each frame will then become independent from previous ones, but the quality will be lower.

* --noshort    disable short blocks frames
Encode all frames using long blocks only. This could increase quality when encoding at very low bitrates, but can produce serious pre-echo artefacts.

* -o    non-original
Mark the encoded file as a copy.

* -p    error protection
Turn on CRC error protection.
It will add a cyclic redundancy check (CRC) code in each frame, allowing to detect transmission errors that could occur on the MP3 stream. However, it takes 16 bits per frame that would otherwise be used for encoding, and then will slightly reduce the sound quality.

* --preset phone/voice/fm/tape/hifi/cd/studio     use built-in preset
Use one of the built-in presets.

* -r    input file is raw pcm
Assume the input file is raw pcm. Sampling rate and mono/stereo/jstereo must be specified on the command line. Without -r, LAME will perform several fseek()'s on the input file looking for WAV and AIFF headers.
Might not be available on your release.

* --resample    output sampling frequency in kHz
n = 16, 22.05, 24, 32, 44.1, 48

Select ouptut sampling frequency.
If not specified, LAME will automatically resample the input when using high compression ratios.

* -s 16/22.05/24/32/44.1/48    sampling frequency
Required only for raw PCM input files. Otherwise it will be determined from the header of the input file.

LAME will automatically resample the input file to one of the supported MP3 samplerates if necessary.

* -S    silent operation
Don't print progress report.

* --strictly-enforce-ISO    strict ISO compliance
With this option, LAME will enforce the 7680 bit limitation on total frame size.
This results in many wasted bits for high bitrate encodings but will ensure strict ISO compatibility.

* -t    disable VBR/WAV header
Disable writing of the VBR Tag (only valid in VBR mode).
This tag in embedded in frame 0 of the MP3 file. It lets VBR aware players correctly seek and compute playing times of VBR files.

When '--decode' is specified (decode to WAV), this flag will disable writing of the WAV header. The output will be raw pcm, native endian format. Use -x to swap bytes.

* -V 0...9    VBR quality setting
Enable VBR (Variable BitRate) and specifies the value of VBR quality.
0=highest quality.

* -x    swapbytes
Swap bytes in the input file or ouptut file when using --decode.
For sorting out little endian/big endian type problems. If your encodings sounds like static, try this first.