Shrinking Soundfiles: General-Purpose Data Compression vs. Optimized Soundfile Compression
by Paul Winkler, slinkp@angelfire.com To Make a Long Story Short
If, like me, you often find yourself wanting to squish a soundfile into less storage space without making it sound worse, you may have resorted to a general-purpose compression tool like one of the many variants of "zip". But you don't need to bother using WinZip, gzip, bzip2, or any other general-purpose compressor for audio files. Optimized tools for audiofiles may work much better, and even much faster.NEWS: This page is obsolete!
There are now open-source (Free Software) alternatives to Shorten that perform comparably well. In particular, I've now converted all my Shorten files to FLAC and removed Shorten from my system.
The FLAC homepage compares many more compression tools than I tried, and gives much more comprehensive results. See: flac.sourceforge.net/comparison.html
There's another article comparing compressors at this page by Robin Whittle.
Compiling Shorten on Linux
I'll keep this here in case anybody still needs it... If you have a glibc system, like any version of RedHat Linux later than version 5, you may not be able to compile the source for Shorten. I found the fix to be quite easy, so I've made a patch for it.C Note that this fix may have been included in the shorten sources by now! Try it out first. If you can't compile, cut out the little snippet below and save it as exit.patch. Put it in the same directory as the shorten source code; then all you should need to do is run patch and you should be able to compile.*** exit.c~ Mon Jun 30 05:49:38 1997 --- exit.c Thu Jan 7 16:08:45 1999 *************** *** 11,17 **** #ifndef MSDOS # include# include ! extern char *sys_errlist[]; #endif # include # ifdef HAVE_STDARG_H --- 11,20 ---- #ifndef MSDOS # include # include ! /* Originally, this was: extern char *sys_errlist[]; ! Modified to match glibc, /usr/include/stdio.h line 221. ! */ ! extern const char *const sys_errlist[]; #endif # include # ifdef HAVE_STDARG_H
SlinkP's Main Linux Page
copyright 1999 Paul M. Winkler. Permission to use, distribute, modify, and copy this document for non-profit purposes only is hereby granted. If you modify this document, you must retain this notice. All other rights reserved. Just ask nicely.
Send me some mail slinkP home page ![]()