Skip to content

kenyh0926/sela

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SELA

SimplE Lossless Audio

A simplified lossless audio codec written for my final year project.

Block Diagrams

Encoder Decoder

Main Components

  • Linear prediction filter (core/lpc.c)
  • Golomb-Rice compressor and decompressor (core/rice.c)
  • apev2 metadata reader/writer (apev2.c)
  • Encoder (core/encoder.c)
  • Decoder (core/decoder.c)
  • Command line player (player/selaplay.c)
  • Matlab implementation of Linear prediction filter can be found in 'tests/matlab-tests' folder

Build requirements

  • gcc (You can use clang if you modify the CC variable 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 all to build the encoder & decoder
  • type make selaplay_ao or make selaplay_pulse to build the player using either libao/pulseaudio libraries
  • type make lpctest && make ricetest && make apev2test to build the tests
  • type make wavdiff to build the diff utility for .wav files

References

License : MIT

About

SimplE Lossless Audio

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 67.9%
  • C++ 27.1%
  • MATLAB 2.6%
  • Makefile 2.4%