Waveform Archiver Version 1.1 Copyright (C) 1994-1997 Dennis Lee Internet E-mail: denlee@ecf.utoronto.ca This software is free. You are welcome to use it in both personal and commercial environments. You may also redistribute this software by any means and on any medium. Contents ======== Overview Hardware Requirements Software Requirements Performance Usage Legal Issues History Contact Info Acknowledgments Overview ======== The Waveform Archiver (WA) is an archiver specifically designed to losslessly compress waveform data. WA only recognizes files in the popular Windows ".WAV" audio format with uncompressed PCM data. WA compresses such files and handles all other files by copying them into the archive. The generated archive has a ".WA" extension, unless a different extension is explicitly specified. Hardware Requirements ===================== This software is available in 16-bit and 32-bit versions. Each version has it's own executable, both of which are included with this software. The 16-bit version should run on any PC. WA16 was programmed to run on an 8086 processor without math co-processor, but this has not been verified since I do not have access to such a PC. The 32-bit version requires a 386. A math co-processor is not required, but WA32 will run faster with one. Software Requirements ===================== Both WA16 and WA32 are DOS applications, and require a DOS environment to execute. Both versions have been tested under DOS 5.0+, Win3.1 DOS Shell, Win95 DOS Shell, WinNT DOS Shell, and OS/2 v2.0+ DOS Shell. Performance =========== To my knowledge, WA compresses waveform data better than any other software. This includes waveform specific compressors (SHORTEN, OggSQUISH), archivers with multimedia option (RAR, UC, RKIVE), and advance archivers (ACB, QUANTUM, HA). WA is also fast. The 32-bit version compresses faster than PKZIP. [WA32 with -c1 (default) and PKZIP with -en (default)] The following is an example of how WA performs in compression and speed. All benchmarking was performed on a PPro 150 with 32 MB RAM. All files were processed from and to a RAM DISK. The 32-bit version of WA was used for the following results. Compression ----------- 16-bit Stereo Files (10,831,020 Bytes Total) Compressed Size (Bytes) 9,810,818 PKZIP v2.04g -ex 6,351,394 RAR v2.01 -mm -m5 -mde 5,409,235 WA v1.1 -c1 5,344,740 WA v1.1 -c2 5,318,299 WA v1.1 -c3 5,312,358 WA v1.1 -c4 4,865,285 WA v1.1 -c5 PKZIP's result is used for baseline comparison. RAR's result is included because it compressed significantly better than all other archivers I tested with. 8-bit Mono Files (3,454,416 Bytes Total) Compressed Size (Bytes) 2,265,716 PKZIP v2.04g -ex 1,935,354 ACB v2.00c u 1,850,603 RKIVE v1.4 1,847,179 WA v1.1 -c1 1,778,951 WA v1.1 -c2 1,697,145 RAR v2.01 -mm -m5 -mde 1,669,411 WA v1.1 -c3 1,603,947 WA v1.1 -c4 1,531,127 WA v1.1 -c5 PKZIP's result is used for baseline comparison. ACB, RKIVE, and RAR were the top three compressors for the 8-bit data set. Speed ----- 16-bit Stereo Files (10,831,020 Bytes Total) Time: 22.90 sec PKZIP v2.04g -en 8.50 sec WA v1.1 -c1 17.14 sec WA v1.1 -c2 18.94 sec WA v1.1 -c3 24.05 sec WA v1.1 -c4 380.25 sec WA v1.1 -c5 8-bit Mono Files (3,454,416 Bytes Total) Time: 8.35 sec PKZIP v2.04g -en 4.51 sec WA v1.1 -c1 6.31 sec WA v1.1 -c2 6.98 sec WA v1.1 -c3 9.17 sec WA v1.1 -c4 195.37 sec WA v1.1 -c5 These results indicate that WA with compression level 4 is approximately the same speed as PKZIP with it's default -en setting. WA compression levels 2 to 5 use quite a few floating point operations. This causes WA to run slower relative to PKZIP on a CPU with a weaker FPU than the Pentium Pro. For example, PKZIP -en may run faster than WA -c2 on a 386/387 [This example is only used for illustration and may not be true]. Usage ===== WA has a minimum of features. Using WA should be very easy. -------------------------------------------------------------- Usage: WA [options] [files.wav ...] Commands: a: Add files (replace if present) x: Extract files d: Delete files l: List files t: Test archive's integrity Options: -c[0,1,2,3,4,5]: Compression level (Default 1) -------------------------------------------------------------- Example: WA a -c5 arc *.wav Legal Issues ============ The author takes NO responsibility for any damages resulting from the use of this software. The user assumes the entire risk as to its quality and accuracy. This software is Copyright (C) 1994-1997 Dennis Lee. History ======= WA 0.8 Beta (Apr 2, 1994) -------------------------- - First working version as an archiver. WA 0.9 Beta (Apr 26, 1994) -------------------------- - Minor change to bit allocation for block formats. - Minor changes to WA header format. - Updated documentation. WA 1.0 (Jul 14, 1997) ---------------------- - Changed all I/O calls to use a bit-based file I/O library I wrote. - Updated documentation. - First public release. WA 1.1 (Aug 1, 1997) ---------------------- - Minor change to 1DIF compressor. Results in slightly lower compression on stereo files, but compresses faster. The resulting archive is completely compatible with version 1.0: v1.1 can decompress v1.0 archives, and v1.0 can decompress v1.1 archives. - Updated documentation. Contact Info ============ Please send bug reports to my Internet E-mail address: denlee@ecf.utoronto.ca Feel free to contact me if you have any comments, or suggestions concerning WA. I appreciate feedback. Acknowledgments =============== Borland C/C++ version 4.52 was used to compile WA16. DJGPP version 2.01 was used to compile WA32. CWSDPMI is distributed with this software. It is a DPMI server, and provides DPMI services for WA32 if the OS or SHELL in which WA32 is executed does not have such services. DJGPP can be found on any simtel.net mirror. For example, ftp.simtel.net, directory /pub/simtelnet/gnu/djgpp CWSDPMI can be found at the same location under v2misc.