Gregory Hildstrom Projects Publications Resume Contact About Youtube Donate



scl2wav is a small command-line program for converting scl 32-bit floating-point binary data files to and from 32-bit float wav files. This is useful for loading 32-bit audio files into WaveMetrics IGOR using the SCL import macro. It is also useful for loading SCL data into audio manipulation and analysis programs. One additional use is for compressing scl binary data files using lossless audio compression programs like wavpack, which usually outperforms zip, gzip, and bz2 file compressors because it was designed for signals. scl2wav stores and reads the SCL header calibration factors (cals) in a "cals" data/header chunk before the main "data" chunk in the WAV file. Unknown chunks are skipped by most audio programs and the "cals" chunk is preserved in the compression/decompression of wavpack and the scl2wav translation.

scl2wav.tar.gz is the source code.


./scl2wav input.scl
./scl2wav input.wav
./scl2wav input.scl output.wav
./scl2wav input.wav output.scl

example session

  1. scl2wav input.scl
  2. wavpack -h input.wav -o input-compressed.wv
  3. ls -l input.scl input.wav input-compressed.wav #compare original and compressed file sizes
  4. wvunpack input-compressed.wv -o input-decompressed.wav
  5. scl2wav input-decompressed.wav
  6. md5sum *.scl #the md5 checksums of input.scl and input-decompressed.scl should match