wavelet-audio ยป Overview
Wavelet-audio is my experimental lossless audio codec based on
wavelet compression. It uses biorthogonal (4,2) "B-spline" wavelet
described in "Ten lectures on wavelets" book by Ingrid
Daubechies. At first it decorrelates audio channels (it supports up
to 2 channel by now) using following formula: r' = r-l,
l'=(r+l)/2
, where l
and r
are samples in left and right
channels. Then wavelet transform of each channel is calculated and
each subband is coded with adaptive Rice code (the parameter of
Rice code is calculated using running average). Compress ratio is
5-7% worse compared to FLAC codec. Wavelet-audio operates
on audio blocks (4096 samples by default, which seems to produce
results with the best compression). Block sync code is written
before each block, so seeking and random access is
possible. Metadata blocks are written before any actual audio
data. The only metadata block supported by now is
streaminfo
. It contains basic information about audio stream,
e.g. sample rate and bits per sample.