Script started on Thu Nov 1 09:44:18 2001 red(bob) [1] ~ > cd cd*8 red(bob) [2] ~/cdparanoia-III-alpha9.8 > ./configure --prefix=/usr && Invalid null command. red(bob) [3] ~/cdparanoia-III-alpha9.8 > make FLAGFSS="$FLAGS" ./configure --prefix=/usr && creating cache ./config.cache checking host system type... i686-unknown-linux checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for ranlib... ranlib checking for ar... ar checking for install... install checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking size of short... 2 checking size of int... 4 checking size of long... 4 checking size of long long... 8 checking for int16_t... yes checking for int32_t... yes checking for u_int16_t... yes checking for u_int32_t... yes checking for linux/sbpcd.h... no checking for linux/ucdrom.h... no checking whether make sets ${MAKE}... yes checking for working const... yes updating cache ./config.cache creating ./config.status creating Makefile creating interface/Makefile creating paranoia/Makefile red(bob) [4] ~/cdparanoia-III-alpha9.8 > ./make FLAGS="$CFLAGS" CFLAGS: Undefined variable. red(bob) [5] ~/cdparanoia-III-alpha9.8 > make cd interface && make all make[1]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/interface' make libcdda_interface.a CFLAGS="-O20 -ffast-math -fsigned-char -finline-functions " make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/interface' gcc -O20 -ffast-math -fsigned-char -finline-functions -c scan_devices.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c common_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c cooked_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c scsi_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c smallft.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c toc.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c test_interface.c ar -r libcdda_interface.a scan_devices.o common_interface.o cooked_interface.o interface.o scsi_interface.o smallft.o toc.o test_interface.o ranlib libcdda_interface.a make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/interface' make lessmessy make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/interface' rm -f *.o core *~ *.out make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/interface' make libcdda_interface.so CFLAGS="-O20 -ffast-math -fsigned-char -finline-functions -fpic" make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/interface' gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c scan_devices.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c common_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c cooked_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c scsi_interface.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c smallft.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c toc.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c test_interface.c gcc -fpic -shared -o libcdda_interface.so.0.9.8 -Wl,-soname -Wl,libcdda_interface.so.0 scan_devices.o common_interface.o cooked_interface.o interface.o scsi_interface.o smallft.o toc.o test_interface.o [ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.9.8 libcdda_interface.so.0 [ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.9.8 libcdda_interface.so make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/interface' [ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so libcdda_interface.so.0 make[1]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/interface' cd paranoia && make all make[1]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' make libcdda_paranoia.a CFLAGS="-O20 -ffast-math -fsigned-char -finline-functions " make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' gcc -O20 -ffast-math -fsigned-char -finline-functions -c paranoia.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c p_block.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c overlap.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c gap.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c isort.c ar -r libcdda_paranoia.a paranoia.o p_block.o overlap.o gap.o isort.o ranlib libcdda_paranoia.a make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' make lessmessy make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' rm -f *.o *.t core *~ make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' make libcdda_paranoia.so CFLAGS="-O20 -ffast-math -fsigned-char -finline-functions -fpic" make[2]: Entering directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c paranoia.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c p_block.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c overlap.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c gap.c gcc -O20 -ffast-math -fsigned-char -finline-functions -fpic -c isort.c gcc -fpic -shared -o libcdda_paranoia.so.0.9.8 -Wl,-soname -Wl,libcdda_paranoia.so.0 paranoia.o p_block.o overlap.o gap.o isort.o [ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.9.8 libcdda_paranoia.so.0 [ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.9.8 libcdda_paranoia.so make[2]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' make[1]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8/paranoia' make cdparanoia CFLAGS="-O20 -ffast-math -fsigned-char -finline-functions " make[1]: Entering directory `/home/bob/cdparanoia-III-alpha9.8' gcc -O20 -ffast-math -fsigned-char -finline-functions -c main.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c report.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c header.c gcc -O20 -ffast-math -fsigned-char -finline-functions -c buffering_write.c gcc -O20 -ffast-math -fsigned-char -finline-functions main.o report.o header.o buffering_write.o \ -L/home/bob/cdparanoia-III-alpha9.8/paranoia -L/home/bob/cdparanoia-III-alpha9.8/interface \ -o cdparanoia -lcdda_interface -lcdda_paranoia -lm make[1]: Leaving directory `/home/bob/cdparanoia-III-alpha9.8' strip cdparanoia red(bob) [6] ~/cdparanoia-III-alpha9.8 > sudomake isnnstall install -d -m 0755 /usr/bin install: cannot change permissions of `/usr/bin': Operation not permitted make: *** [install] Error 1 red(bob) [7] ~/cdparanoia-III-alpha9.8 > sudo make install Password: install -d -m 0755 /usr/bin install -m 0755 ./cdparanoia /usr/bin install -d -m 0755 /usr/man install -d -m 0755 /usr/man/man1 install -m 0644 ./cdparanoia.1 /usr/man/man1 install -d -m 0755 /usr/include install -m 0644 ./paranoia/cdda_paranoia.h /usr/include install -d -m 0755 /usr/lib install -m 0644 ./paranoia/libcdda_paranoia.so.0.9.8 /usr/lib install -m 0644 ./paranoia/libcdda_paranoia.a /usr/lib install -m 0644 ./interface/cdda_interface.h /usr/include install -m 0644 ./interface/libcdda_interface.so.0.9.8 /usr/lib install -m 0644 ./interface/libcdda_interface.a /usr/lib install -m 0644 ./utils.h /usr/include ln -fs libcdda_interface.so.0.9.8 \ /usr/lib/libcdda_interface.so.0 ln -fs libcdda_interface.so.0.9.8 \ /usr/lib/libcdda_interface.so ln -fs libcdda_paranoia.so.0.9.8 \ /usr/lib/libcdda_paranoia.so.0 ln -fs libcdda_paranoia.so.0.9.8 \ /usr/lib/libcdda_paranoia.so red(bob) [8] ~/cdparanoia-III-alpha9.8 > ;fvlcdconfig ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied red(bob) [9] ~/cdparanoia-III-alpha9.8 > sudo ldconfig red(bob) [10] ~/cdparanoia-III-alpha9.8 > man cdparaonoia [?1h= CDPARANOIA(1) CDPARANOIA(1) NAME cdparanoia (Paranoia release III) - an audio CD reading utility which includes extra data verification features DATE version III release alpha 9.8 (02 Mar 2001) SYNOPSIS cdparanoia [options] span [outfile] DESCRIPTION cdparanoia retrieves audio tracks from CDDA capable CDROM drives. The data can be saved to a file or directed to standard output in WAV, AIFF, AIFF-C or raw format. Most ATAPI, SCSI and several proprietary CDROM drive makes are supported; cdparanoia can determine if the target drive is CDDA capable. In addition to simple reading, cdparanoia adds extra-robust data verifica­ tion, synchronization, error handling and scratch reconstruction capabil­ ity. : OPTIONS -v --verbose Be absurdly verbose about the autosensing and reading process. Good for setup and debugging. -q --quiet Do not print any progress or error information during the reading process. -e --stderr-progress Force output of progress information to stderr (for wrapper scripts). -V --version Print the program version and quit. -Q --query Perform CDROM drive autosense, query and print the CDROM table of contents, then quit. -s --search-for-drive Forces a complete search for a cdrom drive, even if the /dev/cdrom : link exists. -h --help Print a brief synopsis of cdparanoia usage and options. -p --output-raw Output headerless data as raw 16 bit PCM data with interleaved sam­ ples in host byte order. To force little or big endian byte order, use -r or -R as described below. -r --output-raw-little-endian Output headerless data as raw 16 bit PCM data with interleaved sam­ ples in LSB first byte order. -R --output-raw-big-endian Output headerless data as raw 16 bit PCM data with interleaved sam­ ples in MSB first byte order. -w --output-wav Output data in Micro$oft RIFF WAV format (note that WAV data is always LSB first byte order). -f --output-aiff : Output data in Apple AIFF format (note that AIFC data is always in MSB first byte order). -a --output-aifc Output data in uncompressed Apple AIFF-C format (note that AIFF-C data is always in MSB first byte order). -B --batch Cdda2wav-style batch output flag; cdparanoia will split the output into multiple files at track boundaries. Output file names are prepended with 'track#.' -c --force-cdrom-little-endian Some CDROM drives misreport their endianness (or do not report it at all); it's possible that cdparanoia will guess wrong. Use -c to force cdparanoia to treat the drive as a little endian device. -C --force-cdrom-big-endian As above but force cdparanoia to treat the drive as a big endian device. -n --force-default-sectors n : Force the interface backend to do atomic reads of n sectors per read. This number can be misleading; the kernel will often split read requests into multiple atomic reads (the automated Paranoia code is aware of this) or allow reads only wihin a restricted size range. This option should generally not be used. -d --force-cdrom-device device Force the interface backend to read from device rather than the first readable CDROM drive it finds. This can be used to specify devices of any valid interface type (ATAPI, SCSI or proprietary). -g --force-generic-device device This option is used along with -d when one wants explicit control in setting both the SCSI cdrom and generic devices seperately. This option is only useful on non-standard SCSI setups. -S --force-read-speed number Use this option explicitly to set the read rate of the CD drive (where supported). This can reduce underruns on machines with slow disks, or which are low on memory. -t --toc-offset number Use this option to force the entire disc LBA addressing to shift by : the given amount; the value is added to the beginning offsets in the TOC. This can be used to shift track boundaries for the whole disc manually on sector granularity. The next option does some­ thing similar... -T --toc-bias Some drives (usually random Toshibas) report the actual track beginning offset values in the TOC, but then treat the beginning of track 1 index 1 as sector 0 for all read operations. This results in every track seeming to start too late (losing a bit of the beginning and catching a bit of the next track). -T accounts for this behavior. Note that this option will cause cdparanoia to attempt to read sectors before or past the known user data area of the disc, resulting in read errors at disc edges on most drives and possibly even hard lockups on some buggy hardware. -O --sample-offset number Use this option to force the entire disc to shift sample position output by the given amount; This can be used to shift track bound­ aries for the whole disc manually on sample granularity. Note that this will cause cdparanoia to attempt to read partial sectors before or past the known user data area of the disc, probably caus­ ing read errors on most drives and possibly even hard lockups on : some buggy hardware. -Z --disable-paranoia Disable all data verification and correction features. When using -Z, cdparanoia reads data exactly as would cdda2wav with an overlap setting of zero. This option implies that -Y is active. -z --never-skip[=max_retries] Do not accept any skips; retry forever if needed. An optional max­ imum number of retries can be specified; for comparison, default without -z is currently 20. -Y --disable-extra-paranoia Disables intra-read data verification; only overlap checking at read boundaries is performed. It can wedge if errors occur in the attempted overlap area. Not recommended. -X --abort-on-skip If the read skips due to imperfect data, a scratch, whatever, abort reading this track. If output is to a file, delete the partially completed file. OUTPUT SMILIES : :-) Normal operation, low/no jitter :-| Normal operation, considerable jitter :-/ Read drift :-P Unreported loss of streaming in atomic read operation 8-| Finding read problems at same point during reread; hard to correct :-0 SCSI/ATAPI transport error :-( Scratch detected ;-( Gave up trying to perform a correction 8-X Aborted read due to known, uncorrectable error :^D Finished extracting PROGRESS BAR SYMBOLS  No corrections needed : - Jitter correction required + Unreported loss of streaming/other error in read ! Errors found after stage 1 correction; the drive is making the same error through multiple re-reads, and cdparanoia is having trouble detecting them. e SCSI/ATAPI transport error (corrected) V Uncorrected error/skip SPAN ARGUMENT The span argument specifies which track, tracks or subsections of tracks to read. This argument is required. NOTE: Unless the span is a simple number, it's generally a good idea to quote the span argument to protect it from the shell. The span argument may be a simple track number or an offset/span specifi­ cation. The syntax of an offset/span takes the rough form: 1[ww:xx:yy.zz]-2[aa:bb:cc.dd] : Here, 1 and 2 are track numbers; the numbers in brackets provide a finer grained offset within a particular track. [aa:bb:cc.dd] is in hours/min­ utes/seconds/sectors format. Zero fields need not be specified: [::20], [:20], [20], [20.], etc, would be interpreted as twenty seconds, [10:] would be ten minutes, [.30] would be thirty sectors (75 sectors per sec­ ond). When only a single offset is supplied, it is interpreted as a starting offset and ripping will continue to the end of the track. If a single offset is preceeded or followed by a hyphen, the implicit missing offset is taken to be the start or end of the disc, respectively. Thus: 1:[20.35] Specifies ripping from track 1, second 20, sector 35 to the end of track 1. 1:[20.35]- Specifies ripping from 1[20.35] to the end of the disc -2 Specifies ripping from the beginning of the disc up to (and includ­ ing) track 2 : -2:[30.35] Specifies ripping from the beginning of the disc up to 2:[30.35] 2-4 Specifies ripping from the beginning of track 2 to the end of track 4. Again, don't forget to protect square brackets and preceeding hyphens from the shell. EXAMPLES A few examples, protected from the shell: Query only with exhaustive search for a drive and full reporting of autosense: cdparanoia -vsQ Extract an entire disc, putting each track in a seperate file: cdparanoia -B Extract from track 1, time 0:30.12 to 1:10.00: : cdparanoia "1[:30.12]-1[1:10]" Extract from the beginning of the disc up to track 3: cdparanoia -- "-3" The "--" above is to distinguish "-3" from an option flag. OUTPUT The output file argument is optional; if it is not specified, cdparanoia will output samples to one of cdda.wav, cdda.aifc, or cdda.raw depending on whether -w, -a, -r or -R is used (-w is the implicit default). The output file argument of - specifies standard output; all data formats may be piped. ACKNOWLEDGEMENTS Cdparanoia sprang from and once drew heavily from the interface of Heiko Eissfeldt's (heiko@colossus.escape.de) 'cdda2wav' package. Cdparanoia would not have happened without it. Joerg Schilling has also contributed SCSI expertise through his generic SCSI transport library. :AUTHOR Monty Cdparanoia's homepage may be found at: http://www.xiph.org/paranoia/ 1 (END) [?1l>red(bob) [11] ~/cdparanoia-III-alpha9.8 > cd red(bob) [12] ~ > lynx http://prdownloads.sourceforge.net/lame/lame3.70.tar.gz (B)0Getting http://prdownloads.sourceforge.net/lame/lame3.70.tar.gz Looking up prdownloads.sourceforge.net Making HTTP connection to prdownloads.sourceforge.net Sending HTTP request. HTTP request sent; waiting for response./1.1 200 OK application/x-gzip D)ownload, or C)ancel Content-type: application/x-gzip Retrieving file. - PLEASE WAIT -ad 156 of 268 KB of data, 660 KB/sec. Data transfer complete Download Options Download Options (Lynx Version 2.8.4dev.16) Downloaded link: http://prdownloads.sourceforge.net/lame/lame3.70.tar.gz Suggested file name: lame3.70.tar.gz Standard download options:Save to disk Local additions:View with lessArrow keys: Up and Down to move. Right to follow a link; Left to go back.H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history listCommands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.Save to diskEnter a filename: lame3.70.tar.gz File exists. Overwrite? (y/n)  Saving...  (B)0 Download Options Download Options (Lynx Version 2.8.4dev.16) Downloaded link: http://prdownloads.sourceforge.net/lame/lame3.70.tar.gz Suggested file name: lame3.70.tar.gz Standard download options:Save to disk Local additions:View with lessArrow keys: Up and Down to move. Right to follow a link; Left to go back.H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history listCommands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.Save to diskAre you sure you want to quit? (y)   red(bob) [13] ~ > ls apache ftp nmap-2.54BETA30 apache.txt ftpd2.txt nmap-2.54BETA30.tgz c50a ftpd.txt nmap2.txt catdoc_script gcc-3.0.2 nmap.txt cd2.txt gcc-3.0.2.tar.gz nsmail cdparanoia-III-alpha9.8 gcc.txt public_html cdparanoia-III-alpha9.8.src.tgz ipchains-1.3.10 README cd.txt ipchains-1.3.10.tar ripperX-2.2 core ipchains.txt ripperX-2.2.tar.gz crack2.txt lame3.70.tar.gz sendmail-8.12.1 crack3.txt mail sendmail.txt crack5.0.tar Mail typescript crack.txt mysql2.txt w3.README Desktop mysql-3.23.43 w3_script docs MySQL-3.23.43-1.src.rpm weather_script emacs-21.1 mysql-3.23.43.tar wget_script emacs-21.1.tar mysql3.txt word2x_script emacs.txt mysql4.txt #%f# mysql.txt red(bob) [14] ~ > gunxizip la*z red(bob) [15] ~ > ls apache ftp nmap-2.54BETA30 apache.txt ftpd2.txt nmap-2.54BETA30.tgz c50a ftpd.txt nmap2.txt catdoc_script gcc-3.0.2 nmap.txt cd2.txt gcc-3.0.2.tar.gz nsmail cdparanoia-III-alpha9.8 gcc.txt public_html cdparanoia-III-alpha9.8.src.tgz ipchains-1.3.10 README cd.txt ipchains-1.3.10.tar ripperX-2.2 core ipchains.txt ripperX-2.2.tar.gz crack2.txt lame3.70.tar sendmail-8.12.1 crack3.txt mail sendmail.txt crack5.0.tar Mail typescript crack.txt mysql2.txt w3.README Desktop mysql-3.23.43 w3_script docs MySQL-3.23.43-1.src.rpm weather_script emacs-21.1 mysql-3.23.43.tar wget_script emacs-21.1.tar mysql3.txt word2x_script emacs.txt mysql4.txt #%f# mysql.txt red(bob) [16] ~ > tar -xf la*ar red(bob) [17] ~ > ls apache ftp mysql.txt apache.txt ftpd2.txt nmap-2.54BETA30 c50a ftpd.txt nmap-2.54BETA30.tgz catdoc_script gcc-3.0.2 nmap2.txt cd2.txt gcc-3.0.2.tar.gz nmap.txt cdparanoia-III-alpha9.8 gcc.txt nsmail cdparanoia-III-alpha9.8.src.tgz ipchains-1.3.10 public_html cd.txt ipchains-1.3.10.tar README core ipchains.txt ripperX-2.2 crack2.txt lame3.70 ripperX-2.2.tar.gz crack3.txt lame3.70.tar sendmail-8.12.1 crack5.0.tar mail sendmail.txt crack.txt Mail typescript Desktop mysql2.txt w3.README docs mysql-3.23.43 w3_script emacs-21.1 MySQL-3.23.43-1.src.rpm weather_script emacs-21.1.tar mysql-3.23.43.tar wget_script emacs.txt mysql3.txt word2x_script #%f# mysql4.txt red(bob) [18] ~ > cd lsa*0 red(bob) [19] ~/lame3.70 > ls amiga_mpega.c get_audio.h lame.c parse.c tables.c API gpkplotting.c lame.dsp portableio.c tables.h auenc gpkplotting.h lame.dsw portableio.h takehiro.c brhist.c gtkanal.c lame.h PRESETS.draft testcase.mp3 brhist.h gtkanal.h libmp3lame psymodel.c testcase.wav COPYING HACKING LICENSE psymodel.h timestatus.c CVS i386 machine.h quantize.c timestatus.h debugscalefac.c id3tag.c main.c quantize.h TODO Dll id3tag.h Makefile quantize-pvt.c USAGE doc ieeefloat.c Makefile.MSVC quantize-pvt.h util.c encoder.h ieeefloat.h mlame README util.h fft.c INSTALL mp3rtp.c README.WINGTK vbrquantize.c fft.h l3bitstream.c mp3x.c reservoir.c VbrTag.c formatBitstream.c l3bitstream.h mpglib reservoir.h VbrTag.h formatBitstream.h l3bitstream-pvt.h newmdct.c rtp.c version.c get_audio.c l3side.h newmdct.h rtp.h version.h red(bob) [20] ~/lame3.70 > more README LAME 3.xx LAME Ain't an MP3 Encoder http://www.sulaco.org/mp3 October 1999 Originally developed by Mike Cheng (www.uq.net.au/~zzmcheng). Now maintained by Mark Taylor (www.sulaco.org/mp3). This is a patch against the ISO MPEG2 dist10 demonstration source. The modifications are distributed under the GNU LESSER PUBLIC LICENSE (LGPL, see www.gnu.org) with the following modification: 1. If you determine that distribution of LAME requires a patent license, and you obtain a patent license, you may distribute LAME even though redistribution of LAME may also require a patent license. 2. You agree not to enforce any patent claims for any aspect of MPEG audio compression, or any other techniques contained in the LAME source code. ============================================================================ --More--(39%)  see the file "INSTALL" for installation (compiling) instructions. see the file "USAGE" for the most up-to-date guide to the command line options. see the file "LICENSE" for details on how to use LAME in non-GPL programs. see the file "HACKING" for some general codeing guidelines There is HTML documentation and a man page in the doc directory. The HTML docs were contributed by Gabriel Bouvigne (www.mp3tech.org). See www.mp3tech.org for more audio compression information and links. ============================================================================ The graphical frame analyzer uses the MPGLIB decoding engine, from the MPG123 package, written by: Michael Hipp (www.mpg123.de) MPGLIB is released under the GPL, while MPG123 is released under a more restrictive agreement. Various components of the patch are: Copyrights (c) 1999 by Mark Taylor: new psy-model, quantization and bit allocation Copyrights (c) 1998 by Michael Cheng: new transforms and many other improvements Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib --More--(86%)  The ISO demonstration source (distributed separately) has its own patent, copyright and distribution issues. The code is freely available, but any commercial use (including distributing free encoders) may require a patent license from Thomson Multimedia. (see http://www.iis.fhg.de/amm/legal/) red(bob) [21] ~/lame3.70 > more INSTALUSAGE % lame [options] inputfile [outputfile] ======================================================================= Examples: ======================================================================= fixed bit rate jstereo 128kbs encoding: % lame sample.wav sample.mp3 fixed bit rate jstereo 128kbs encoding, highest quality: (recommended) % lame -h sample.wav sample.mp3 To disable joint stereo encoding (slightly faster, but less quality at bitrates<=128kbs) % lame -m s sample.wav sample.mp3 Fast encode, low quality (no psycho-acoustics) % lame -f sample.wav sample.mp3 Variable Bitrate (VBR): (use -V n to adjust quality/filesize) % lame -h -v sample.wav sample.mp3 Note: VBR is currently under heavy development. Right now it can --More--(4%) often result in too much compression. I would recommend using VBR with a minimum bitrate of 112kbs. This will let LAME increase the bitrate for difficult-to-encode frames, but prevent LAME from being too aggressive for simple frames: % lame -h -v -b 112 sample.wav sample.mp3 ======================================================================= LOW BITRATES ======================================================================= At lower bitrates, (like 24kbs per channel), it is recommended that you use a 16kHz sampling rate combined with lowpass filtering. LAME, as well as commercial encoders (FhG, Xing) will do this automatically. However, if you feel there is too much (or not enough) lowpass filtering, you may need to try different values of the lowpass cutoff and passband width (--lowpass and --lowpass-width options). ======================================================================= --More--(9%) STREAMING EXAMPLES ======================================================================= Streaming mono 22.05kHz raw pcm, 24kbs output: % cat inputfile | lame -r -m m -b 24 -s 22.05 - - > output Streaming mono 22.05kHz raw pcm, with downsampling to 16kHz: % cat inputfile | sox -t raw -x -w -s -c 1 -r 22050 - -t raw -x -w -s -c 1 -r 16000 - res ample 0.66 | lame -r -m m -b 24 -s 16 - - > output You may or may not need one or both of the "-x" (swap bytes) option in Sox. ======================================================================= For more options, just type: % lame --help Scripts are included to run lame on multiple files: bach script: mlame Run "mlame -h" for instructions. --More--(13%) sh script: auenc Run auenc for instructions ======================================================================= options guide: ======================================================================= These options are explained in detail below. Quality related: -m m/s/j/f mode selection -k disable all filtering -d allow block types to differ between channels --athonly ignore psy-model output, only use masking from the ATH --voice experimental voice encoding mode --noshort disable short blocks Constant Bit Rate (CBR) -b n set bitrate (8,16,24,...,320) --More--(16%) -h higher quality but slower -f disable psycho-acoustics. Encoding much faster but lower quality Variable Bit Rate (VBR) -v VBR -V n VBR quality setting (0=highest quality, 9=lowest) -b n specify a minimum allowed bitrate (8,16,24,...,320) -B n specify a maximum allowed bitrate (8,16,24,...,320) -t disable Xing VBR informational tag --nohist disable display of VBR bitrate histogram Experimental (undocumented): may work better or worse: -X n try different quality measures (when comparing quantizations) -Y try to use scalefac_select -Z try to use subblock_gain Operational: --More--(20%) -r assume input file is raw PCM -s n input sampling frequency in kHz (for raw PCM input files) --resample n output sampling frequency --mp3input input file is an MP3 file. decode using mpglib/mpg123 -x swap bytes of input file -a downmix stereo input file to mono .mp3 -e n/5/c de-emphasis -p add CRC error protection -c mark the encoded file as copyrighted -o mark the encoded file as a copy -S don't print progress report, VBR histogram -g run MP3x, the graphical frame analyzer id3 tagging: --tt "title" title of song (max 30 chars) --ta "artist" artist who did the song (max 30 chars) --tl "album" album where it came from (max 30 chars) --ty "year" year in which the song/album was made (max 4 chars) --tc "comment" additional info (max 30 chars) --tg "genre" genre of song (name or number) --More--(25%)  options not yet described: --nores disable bit reservoir --noath disable ATH --cwlimit specify range of tonality calculation --lowpass --lowpass-width --highpass --highpass-width ======================================================================= Detailed description of all options in alphabetical order ======================================================================= --More--(28%) red(bob) [22] ~/lame3.70 > more INSTALL LAME 3.xx 3/00 Mark Taylor (http://www.sulaco.org/mp3) ======================================================================= Building the MPEG audio encoding software on Windows: ======================================================================= There are MSVC project files, and a Makefile.MSVC included with the project. For production use, be sure to compile a "release" version and compile with the "maximum speed" compile option, and #define NDEBUG. Note that MSVC "professional" claims to produce faster executables then MSVC "standard". It is possible to compile the GTK frame analyzer under windows, see README.WINGTK ======================================================================= Building the MPEG audio encoding software on *NIX platforms: ======================================================================= If you are reading this, you have already applied the patch to the --More--(36%) dist10 ISO demonstration source (or downloaded a full source distrubtion). If you do not have GTK 1.1.16 or higher, or do not want the graphical frame analyzer (it uses a lot of memory), edit the Makefile and dont define GTK and GTKLIBS. If you have trouble with libncurses/libtermcap, you can also disable that in the Makefile. Now just type: % make If it doesn't work, figure out why and send me the fix! If you are using a newer version of EGCS, check the Makefile. There are some flags which may improve performance. LAME has built in support for 16bit raw pcm, aiff and simple wav formats. Some complex .wav headers will confuse LAME. If you have trouble with this, or want to encode from other sound formats, you can now compile LAME to use Erik de Castro Lopo's libsndfile. To use libsndfile in LAME: 1. install libsndfile (see http://www.zip.com.au/~erikd/libsndfile/). 2. set SNDLIB and LIBSNDFILE as shown in the LAME Makefile. --More--(74%) red(bob) [23] ~/lame3.70 > exit exit Script done on Thu Nov 1 10:31:25 2001