README.mp3 ---------- MP3 DECODING ------------ This version of Tritonus includes mp3 decoding support. This is due to using javalayer 0.0.8, a pure-java mp3 decoder developed by the javalayer project. The big credit for this goes to Eric B. who wrote the decoder. The javalayer code is no longer duplicated in Tritonus. To compile from scratch, you need to check out javalayer from its own cvs (see http://sourceforge.net/projects/javalayer/). Make sure javalayer is in a directory 'javalayer' that is in the same directory as 'tritonus'. In this case, if you issue ant int Tritonus, it will build javalayer, too. Alternatively, if you want a different location, change the path to javalayer in build.xml. For a runnable program, see DecodingAudioPlayer.java or AudioPlayer.java from the Java Sound Examples. The decoder can also be used as plug-in for any Java Sound implementation (like the Sun jdk1.3). Precompiled jar files are at http://www.tritonus.org/plugins.html JavaLayer project: http://www.javazoom.net/javalayer/javalayer.html MP3 ENCODING ------------ MP3 file creation is supported with native access to the LAME library. A pure Java MP3 encoder does not exist in our knowledge and would probably be too slow - nowadays. LAME is acknowledged to provide high quality mp3 encoding. Additionally, it is completely open source (LGPL) and does not use 3rd party source code. As LAME is accessed via JNI, the current implementation in Tritonus can only be used under Linux. In future, a port to Windows and other systems is possible. Capabilities in Tritonus: The encoder creates MPEG1 layer III, MPEG2 layer III or MPEG2.5 layer III files and chooses automatically the right encoding. Bit rates may vary from 8 to 320KBit/s, VBR (variable bit rate) is supported, too. Different quality levels may be choosen which affect - encoding speed for CBR (constant bit rate) - mp3 file size for VBR. Downloading LAME: LAME has to be installed on your system. You need at least LAME V3.88beta or later. You can get LAME from http://sourceforge.net/projects/lame/ To get the latest CVS version of lame, issue these 2 commands: cvs -d:pserver:anonymous@cvs.lame.sourceforge.net:/cvsroot/lame login (Password empty) cvs -z3 -d:pserver:anonymous@cvs.lame.sourceforge.net:/cvsroot/lame co lame Installation of LAME: In the main directory of lame, issue "./configure --enable-shared" and "make". As root, invoke "make install". This copies the library to /usr/local/lib. You may need to include /usr/local/lib to /etc/ld.so.conf and then run "ldconfig" Integration in Tritonus: You must re-run "configure" after installation of LAME. Be sure to remove "config.cache" before. "configure" outputs a line like "Will build stuff for LAME encoder" when everything is fine. Call "make" and as root "make install" (or make install-link). Testing: A simple command line tool for converting any audio file to mp3 is included in the directory test: Mp3Encoder.java. Run it without parameters to see brief usage instructions. Looking at its source code will show you how it works (and the problems...). Please send problems or bugs to florian@tritonus.org or submit them to the bug database on sourceforge. Thanks: Many thanks to Mark Taylor, who leads development of LAME. He was open to my (Florians) proposals and let me work on LAME to make the integration into Tritonus possible.