SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

LA - Lossless Audio compressor

Version 0.4, (c) Michael Bevin 2002-2003

This program is freeware. Please feel free to use and distribute it.

  • What Does it do?

La performs lossless compression on mono+stereo 16-bit wav files. Being 'lossless' means that no data/quality is lost in the compression - when uncompressed, the data will be identical to the original.

  • How well does it work?

The compression ratios of La depend on the type of music file being compressed, but the compression size will generally range between 40% - 70% of the original.

This ratio is of course modest in comparison with lossy formats such as .mp3, however La does (at time of writing) compress around 1.5% better on average than any other lossless compression programs.

Speedwise, La runs around 1.5x real time on my Pentium III-1000. This is quite slow relative to comparable compressors, however corresondingly the compression rate is slightly higher than the others. Note that this version contains no 'fast' mode or such like - this, along with many other features, will have to wait till future releases.

  • Installation

Unpack the archive (tar -xjf la04.tar.bz2) into an appropriate place.

La should run fine straight away (note, I have to type ./la on my system because la appears to be an already existing command).

To install the xmms plugin, simply copy libla.so to the xmms input plugin directory (type xmms-config --input-plugin-dir to find out where this is).

The xmms plugin should basically work, and seeking should be possible. The visualisation should also work. However, it still tends to crash when you give it corrupt files (rather than nicely skipping over them as it should do).

The version of xmms I use is 1.2.6. Please let me know if the plugin works or doesn't work for you with other versions.

  • Usage Instructions

la [flags] input-filename [output-filename]

Flags
-high - high compression mode - slower, but better compression -overwrite - automatically overwrite existing files

 -cin       - when decoding/encoding, use console input
 -cout      - when decoding,          use console output

-cinout - when decoding, use console input+output -noseek - disable seeking (improves compression slightly) -nohead - when decoding, disables outputting of .wav headers

Example usage

  la foo.wav          - compress   foo.wav to foo.la
  la foo.la           - decompress foo.la  to foo.wav
  la -overwrite *.wav - compress all .wavs in directory, replacing
                        any existing .la files.

cat foo.la | la -cinout > foo.wav - decompress foo.la to foo.wav

When using wildcards, only the input name can be specified. The output names will be automatically determined as the original name with the new extension.

  • Features
    • Windows and Linux versions.
    • High compression performance (comparisons show it to average approximately 1.5% better than any competing programs).
    • Winamp and Xmms plugins.
    • CRC checking.
    • Windows Frontend with multiple encoder support and FreeDB support. (this will hopefully be ported to Linux using Mono when Mono development has progressed far enough).
    • Third-party GUI thanks to Wim Speekenbrink (see http://home.wanadoo.nl/~w.speek/la.htm).
    • ID3 v1.1 tagging support (at least, the Winamp plugin should be able to read them).
  • To Do

Theres a lot of additional features this program could do with. Here is just a short list of the most desirable features, most of which I hope to address sometime soon :-
- Support of 8-bit, 24-bit and 32-bit .wav files. - More plugins (perhaps ACM next - hints on getting started anyone???). - More tagging support.
- As always, I'd like to improve the compression and speed further.

Anyone with some form of help to offer regarding writing plugins or GUIs, please contact me.

  • Change Log
    • Changes between 0.3d and 0.4

New faster default mode, which compresses almost as well but is almost 2x faster.

Old default mode is now 'high' mode and compresses a little better at about the same speed.

New multi-encoder Windows frontend with FreeDB support.

New plugin for the (Windiows) foobar2000 player.

Now has better console-in and console-out support.

New Windows installer.

Added html documentation (to Windows version).

  • Changes between 0.3 and 0.3d

Big bug fix to entropy coder - was causing pure noise examples to not decompress properly!

Small bug fixes to decompressor and plugins.

When decoding both console input and output now work.

Winamp plugin should read ID3 v1.1 tags.

Linux version together with xmms plugin released!

  • Changes between 0.2 and 0.3

Compression has been improved around 0.3% (i.e. compressed files average around 0.6% smaller). Speed is approximately the same as the previous version.

The file format is of course different due to the above compression changes, however La 0.3 will still play files from La 0.2.

A couple of bugs in the winamp plugin have been fixed, the major one was that it previously assumed all files where 44khz and thus played (for example) 22khz files at double speed.

Handles .wav files with more complicated headers better.

  • Differences to Windows version

La for Linux should work exactly the same as the corresponding Windows version. The source used to compile the main program is exactly identical (i.e. no #defines doing different stuff under Windows / Linux, rather 100% identical), so there should be relatively little chance of compatibility problems.

On my computer the Linux version runs around 15% slower than the Windows version. It is also quite a lot larger. This is probably simply due to the different compilers used - under Linux I'm using the Intel compiler (gcc performs even worse again), under Windows Visual C++ .Net.

Also, the xmms plugin is also not quite so far developed as the corresponding winamp plugin is in windows.

  • Credits

I appreciate greatly the help provided from the following people :-

Dave Bryant (Wavpack author)
Matthew Ashland (Monkey's Audio author) Wim Speekenbrink (created a Windows Frontend for La) Malcolm Taylor (Rkau author)
Frank Klemm (Musepack author)
Sami Makinen (SBC Archiver author)

  • Contact

Please e-mail me with any questions / bug reports at support@lossless-audio.com.

Also see the La homepage at http://lossless-audio.com/ for the latest in news and downloads.


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.