******************** * FalcAMP v1.20 * ******************** > Plugin: MP3 file < Version: 1.12 Released: 31/12/2005 Audio MPEG Layer 3 player for Atari Falcon 030 computers By Denis "STGhost" HUGUET and David "Splash" CARRERE ----------- ˝Sector One 1998-2005 Sector One is proud to present this new release of the MP3 player for Atari Falcon 030 computers. Table Of Contents: I / What is MP3 ? II / System requirements III/ The player IV / Features V / Known bugs and limits of this version VI / What's new in this version ? VII/ Contact authors I/ What is MP3 ? ---------------- The MP3 fileformat has become one of the most used audio format in the world. This format is in fact the "layer 3" of the MPEG audio streams. Unlike most people think, the MP3 isn't a better compression system: for a given bitrate, it will give the same filesize as a "layer 2" file. The "layer 3" has been developed for low bitrate streams so that it provides a good way to transfer audio data across Internet. But at com- mon bitrates (those used for good sound quality) it doesn't differ in quality compared to "layer 2" files (except if a bad encoder has been used, of course). The "layer 2" is recommended for very high quality encodings (high bitrates). II/ System requirements ----------------------- This plugins needs: - a Falcon 030 - 1.8 megabytes of free ram Optionnal but recommended: - accelerated Falcon (CT1, CT2, Nemesis an Afterburner are known to work) - external audio clock (CD, DAT or dual) III/ The player -------------- Well, we spent again alot of time on this main plugin. This plugin will allow you to play MP3 files under these conditions: -only layer 3 is supported -MPEG 1, MPEG 2 and MPEG 2.5 fileformats are supported -Mono, Stereo and Dual-channel files are accepted, not Joint-Stereo. (Joint-Stereo files will be played as mono automatically) -the file is not severly damaged (simple error-recovery built-in) If the file is recognized, the player will prepare the replay according to the commands from the interface. The decoder is interrupt based, so it should run perfectly under any environment. But, remember that it will use a lot of available CPU time. Please keep in mind that both processors, even though they're working in parallel, need to synchronize so if you have not a correct replay (noises into the sound most of the time, and slowed tempo) it means that one of the processor is too slow...either you're doing too much things in parallel on the 030 side or the dsp is simply too slow (should only happen if you don't use an audio clock on a standard Falcon for playing an MPEG 1 stream at 44Khz or 48kHz). This latest version has been quite improved in terms of speed and accuracy so that even a standard falcon without an audio clock can reach a satisfying quality. With an audio clock, some 44.1kHz stereo files can be listened without having to force mono replay systematically. However, if you want to play MP3 files on a standard Falcon (16Mhz CPU) you should avoid big screen resolution because this may cause some slowdown of the replay. This should be very important if you have a VGA screen on your Falcon. You can either keep a large screen by shrinking the number of colours or use a small screen with a lot of colours... IV/ Features ------------- The player supports some extra features: -External audio clocks automatically detected and used (dual clocks and FDI recognized too) (contact us if some clock isn't well recognized) -Linear sample interpolation to convert MPEG replay frequency to Falcon audio frequency. Useful only if you have not an external clock. -ID3 tags v1 and v2 recognized: they will be displayed in the file info window (v1.0, v1.1, v2.2.0 and v2.3.0 supported) -Displays details about the fileformat in the file info window (along with ID3 tag if any). These infos are based on the first frame, but it supports format-changes on the fly (except for frequency) -Variable & average bitrate supported (but not free format bitstreams) -CPU speed boards accepted and recommended (especially if you don't have any external audio clock and you want to play 44.1kHz or 48kHz stereo files). -Improved error recovery: Many MP3 files have structural errors...FalcAMP can handle these files in a better way now: it can resynchronize the stream to continue the replay... The player won't skip any frame and it won't stop. The plugin has been made to remain active in such cases so that it doesn't disturb the GEM interface... However, it may cause some glitches or any other strange sound while the player tries to resynchronize. - Even supports files with both tag v1 and v2 - A small search range at the begining of the file has been added to allow the replay of files that begin with a blank (null bytes). However, it may allow non-mp3 files to be played, so be careful... Some checks have been added to prevent this but some binary files may go through. - DSP timeout has been lowered so that a DSP crash can be detected faster. The delay should be 4 seconds before a timeout warning to the gem interface - Preliminary joint-stereo computations added on 030 side, it will reduce the load of the DSP part for this kind of file. - The player computes the minimum number of IMDCT required to replay the file with the best accuracy. This allows the DSP decoder to work faster with Stereo files (up to 7% faster). This is helpful for a 32Mhz DSP and hardly slows down the 030 side. - Completely new requantizing method used giving a better accuracy !!! - Interrupt timings modified to free a bit of CPU time - Realtime volume control (CPU side) V/ Known bugs and limits of this version ----------------------------------------- - There may still be timeout problems in some rare cases. The stop button no longer cause this when used while in pause hopefully. - If you're getting alot of datas from serial port, this may cause some slowdowns in the decoder... That was the only way of avoiding the corruption of all incoming datas that occured in the plugin of FalcAMP v1.01. - Joint-stereo encoding scheme is not yet available but should come soon. Everything in the code is ready for it but because of some other bugs, we had no time to finish that. These files will be played in mono for now... - We did our best to make this player works with 16Mhz 030/32Mhz DSP. Most of the time, the file will be replayed correctly, even if it could use most of the available time of your Falcon. But problems are possible sometimes with 44kHz and 48Khz stereo MP3 files, resulting in a kind of echo effect or adding noisy clicks. If you have a 50Mhz 030/50Mhz DSP, you should never have this kind of problem ! Anyway, to let standard Falcons users listen to all MP3, we added a special "Standard Falcon" mode, which will output Joint stereo and Stereo files as if they were mono. A 32Mhz DSP has then enough time to process the file at correct rate. This special mode is activated using the "Force Mono output" setup of the GEM interface. -=> Bug reports <=- We tried to make this software system friendly, and to prevent any unexpected freezing of your computer. But, please, keep in mind that we cannot guarantee a complete reliability. You have been warned ! For bug reports, please send an email to STGHOST or SPLASH, using more or less the following model. See Contact section for our email addresses. Try to fill it with maximum accuracy. FAMP's standard bug report: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ a- Executable files and configuration My FalcAMP GEM version is the: _____, MP3.PLG version is: _____ and plugin filesize is ______ bytes. (check plugin infos in GEM interface to get plugin version) Hardware configuration of your Falcon: model, memory, and additional hardware (clocks, faster CPU/FPU/DSP, enhanced sound system, ...). Software configuration of your Falcon (when you found FAMP's bug, else the most frequently used): TOS version, additonal OS. b- Layer 3 file (Please, always keep the file which is not played correctly until we answered. And don't send it unless we ask you to do it !!!) A bug occured with: ________.MP3 file (available at: ...). Filesize is: ... Displayed infos are: ... Kind of error: -> FalcAMP give me the following error message: -> FalcAMP is blocked/crashed -> The sound is not correct. -> ... Here is a short description of what occured. A FAQ file with most common problems that users encoutered with FalcAMP is included. If you have a bug, please check first if the FAQ file cannot give the answer to your problem ! VI/ What's new in this version ? -------------------------------- Not many changes in this release, the DSP code hasn't been modified since v1.08. On the 030 side, the changes are: - Reworked architecture to save memory while inactive - Support for faster falcons - Rewriting of buffer handling to handle in a better way buffer underflow and end of file conditions. - Cleanup of ID3 v2 parsing, it should now display properly the genre field and it now limits correctly the length of strings. Here's a non-exhaustive list of changes that were made in the previous release of the FalcAMP MP3 plugin (v1.07->v1.08) : - Some fixups to most troubles that can appear at the end of files - Once again, speedup & cleanup of the DSP code. Standard falcon users will notice the difference on stereo files :) - Joint-Stereo layer inserted in the DSP core, still not usable yet but it's close from being completed :) Just wait a bit more... VII/ Contact authors -------------------- Who did what in this plugin: STGHOST (030 part) deunstg@free.fr File parsing, tag parsing, disk caching, scalefactor decoding, fast Huffman decoding, clock detection, IMDCT estimation, joint-stereo precomputing, error recovery and many weeks of debugging SPLASH (DSP part) dcarrere@worldnet.fr Sound system init, DMA-DSP transfer, requantisation, antialiasing butterflies, IMDCT, polyphase filerbank, linear interpolation, and many many more weeks of debugging This is a 100% assembler product, based on AMP 0.71, AMP 0.76, MPEGA and ISO MPEG sourcecodes, that we completely changed, improved, and optimized for the Falcon 030. We'd like to thank: -Tomislav Uzelac for spreading his sources of AMP -Stephane Tavenard for giving us his sources of MPEGA -All people who supported and helped us to remove bugs -The guy who sent us some money to support us -The guy that contacted us to make new plugins -All people who believed in us... We decided to spread this software as a freeware. We did it for the fun, and also because we were dying to listen MP3 files on our Falcon ! Also, maybe we did it because people used to say that it would be probably impossible to do, and we were convinced that it was possible. Anyway, because of the huge work we put into this player, we're expecting -at least- some support and aknowledgements, and -at most- some money if you think it's worth the price. If you use FalcAMP often, please, do not forget us... It may speed-up the release of next version ! :-) Have fun !