#SELA ###SimplE Lossless Audio A simplified lossless audio codec written for my ongoing project.
###Main Components
- Linear prediction filter (lpc.c)
- Golomb-Rice compressor and decompressor (rice.c)
- Encoder (encoder.c)
- Decoder (decoder.c)
- Command line player (selaplay.c)
- Matlab implementation of Linear prediction filter can be found in 'matlab-tests' folder
###Build requirements
- gcc (You can use clang if you modify the
CCvariable in the Makefile) - GNU make
- Standard math library for building the encoder and decoder.
- POSIX threading and pulseaudio/libao developement libraries for building the command line player. Note : On Windows you will need cygwin to build the command line player. Otherwise MinGW is sufficient.
###Build instructions
- cd to the directory
- type
make allto build the encoder & decoder - type
make selaplay_aoormake selaplay_pulseto build the player using either libao/pulseaudio libraries - type
make lpctest && make ricetestto build the tests - type
make wavdiffto build the diff utility for .wav files
###References
- Linear Prediction
- Golomb-Rice lossless compression algorithm
- FLAC overview
- Paper on shorten, the original open source lossless codec
- ISO/IEC 14496 Part 3, Subpart 11 (Audio Lossless Coding)
###License : MIT License

