Path: utzoo!utgpu!news-server.csri.toronto.edu!qucdn!leek Organization: Queen's University at Kingston Date: Monday, 25 Mar 1991 21:21:15 EST From: Message-ID: <91084.212115LEEK@QUCDN.QueensU.CA> Newsgroups: comp.compression Subject: Re: Compressing SOUND files (8 bit amplitudes) References: <394@uqcspe.cs.uq.oz.au> I am not into this area, but I came across a little bit of material on the subject... If you don't mind the lost of sound quality, then there is a technique call "Fibonacci Delta Compression" (1) This is like the trasitional delta encoding where each value is a delta of the previous one, but only discrete delta values are used. Small delta deltas are encoded precisely, and large ones are approximated. From time to time, some minor adjustments have to make to correct for all those approximations. This is more of a post processing thing unless your hardware happens to be able to process the incoming digitizing sample without much help from the CPU (eg. DMA) The values he uses are: { -34,-21,-13,-8,-5,-3,-2,-1,0,1,2,3,5,8,13,21} (Numbers that are part of Fibonacci series and hence the name) Note that the delta value can be encoded in 4 bit with some minor distortion. K. C. Lee Elec. Eng. Grad. Student Reference 1: Algorithm by Steve Hayes at Electronic Arts. It is outlined and shown in C code example for the decoding algorithm in "Amiga ROM Kernal Reference Manual: EXEC" by Commodore Business, published by Addison Wesley (ISBN 0-201-11099-7) on Appendix B-68. This is part of the list of program example on a common file format (sound, graphics and lots of things) developed for (but not restricted to) the Commodore Amiga Computer. Most of these stuff are in public Domain.