TooLAME is an optimized MPEG Audio Layer 2 encoder.
*********************
INTRODUCTION
*********************
tooLAME is an optimized Mpeg Audio 1/2 Layer 2 encoder. It is based heavily on
- the ISO dist10 code
- improvement to algorithms as part of the LAME project (www.sulaco.org/mp3)
- work by myself and other contributors (see CONTRIBUTORS)
*********************
INSTALLATION
*********************
1. edit Makefile
at least change the architecture type (ARCH) to suit your machine.
2. 'make'
*********************
USAGE
*********************
./toolame [options] <input> <output>
Input File
tooLAME parses AIFF and WAV files for file info
raw PCM is assumed if no header is found
for stdin use a -
Output File
file is automatically renamed from *.* to *.mp2
for stdout use a -
Input Options
-s [int]
if inputting raw PCM sound, you must specify the sample rate
default sample rate is 44.1khz.
-a
downmix from stereo to mono
if the incoming file is stereo, combine the audio into
a single channel
-x
force byte-swapping of the input. (current endian detection is dodgy,
so if toolame produces only noise, use -x )
-g
swap the LR channels of a stereo file
Output Options
-m [char]
the encoding mode (default 'j')
's' stereo
'd' dual channel
'j' joint stereo
'm' mono
-p [int]
which psy model to use (default '1')
Different models for the psychoacoustics
Models: -1 to 4
-b [int]
the total bitrate
For 48/44.1/32kHz default = 192
For 24/22.05/16kHz default = 96
-v [int]
Switch on VBR mode.
The higher the number the better the quality.
Useful range -10 to 10.
See README.VBR for details.
Operation
-f
fast mode turns off calculation of the psychoacoustic model.
Instead a set of default values are assumed
-q [int]
quick mode calculates the psy model every 'num' frames.
Misc
-d emp
de-emphasis (default 'n')
-c
mark as copyright
-o
mark as original
-e
add error protection
-r
force padding bits off
-D
add DAB extensions
-t [int]
'talkativity' setting. 0 = no message. 3 = too much information
*********************
EXAMPLES
*********************
1.
toolame sound.wav
This will encode sound.wav to sound.mp2 using the default bitrate of 192 kbps
and using the default psychoacoustic model (model 1)
2.
toolame -p 2 -v 5 sound.wav newfile.mp2
Encode sound.wav to newfile.mp2 using psychoacoustic model 2 and encoding
with variable bitrate. The high value of the "-v" argument means that
the encoding will tend to favour higher bitrates.
3.
toolame -p 2 -v -5 sound.wav newfile.mp2
Same as example above, except that the negative value of the "-v" argument
means that the lower bitrates will be favoured over the higher ones.
4.
cat sound.pcm | toolame -s 22050 -f -b 96 - newfile.mp2
Toolame is encoding from stdin at a bitrate of 96kbps and is using the
'fast' mode which means that no psychoacoustic modelling is done.The
input file is raw pcm so the sample rate needs to be specified (22050Hz)
*********************
CONTRIBUTORS
*********************
Dist10 code writers
LAME specific contributions
fht routines from Ron Mayer <mayer at acuson.com>
fht tweaking by Mathew Hendry <math at vissci.com>
window_subband & filter_subband from LAME circa v3.30
(multiple LAME authors)
(before Takehiro's window/filter/mdct combination)
Oliver Lietz <lietz at nanocosmos.de>
Tables now included in the exe! (yay! :)
Patrick de Smet <pds at telin.rug.ac.be>
scale_factor calc speedup.
subband_quantization speedup
Federico Grau <grauf at rfa.org>
Bill Eldridge <bill at hk.rfa.org>
option for "no padding"
Nick Burch <gagravarr at SoftHome.net>
WAV file reading
os/2 Makefile mods.
Phillipe Jouguet <philippe.jouguet at vdldiffusion.com>
DAB extensions
spelling, LSF using psyII, WAVE reading
Henrik Herranen - leopold at vlsi.fi
(WAVE reading)
Andreas Neukoetter - anti at webhome.de
(verbosity patch '-t' switch for transcode plugin)
Sami Sallinen - sami.sallinen at g-cluster.com
(filter_subband loop unroll
psycho_i fix for "% 1408" calcs)
Mike Cheng <mikecheng at NOT planckenergy.com> (remove the NOT)
Most of the rest
*********************
REFERENCE PAPERS
*********************
(Specifically LayerII Papers)
Kumar, M & Zubair, M., A high performance software implementation of mpeg audio
encoder, 1996, ICASSP Conf Proceedings (I think)
Fischer, K.A., Calculation of the psychoacoustic simultaneous masked threshold
based on MPEG/Audio Encoder Model One, ICSI Technical Report, 1997
ftp://ftp.icsi.berkeley.edu/pub/real/kyrill/PsychoMpegOne.tar.Z
Hyen-O et al, New Implementation techniques of a real-time mpeg-2 audio encoding
system. p2287, ICASSP 99.
Imai, T., et al, MPEG-1 Audio real-time encoding system, IEEE Trans on Consumer
Electronics, v44, n3 1998. p888
Teh, D., et al, Efficient bit allocation algorithm for ISO/MPEG audio encoder,
Electronics Letters, v34, n8, p721
Murphy, C & Anandakumar, K, Real-time MPEG-1 audio coding and decoding on a DSP
Chip, IEEE Trans on Consumer Electronics, v43, n1, 1997 p40
Hans, M & Bhaskaran, V., A compliant MPEG-1 layer II audio decoder with 16-B
arithmetic operations, IEEE Signal Proc Letters v4 n5 1997 p121
[mikecheng at NOT planckenergy.com] remove the NOT