Skip to content

sahaRatul/sela

Repository files navigation

SELA

SimplE Lossless Audio

Build Status codecov License: MIT

A lossless audio codec which aims to be as simple as possible while still having good enough compression ratios.

Code Quality Metrics

Reliability Rating Maintainability Rating Security Rating Lines of Code

Build Requirements

  • cmake
  • MSVC/GCC/CLANG/INTEL (Any compiler supporting C++11 should work)
  • libao-dev (linux/bsd) / On windows you can skip this dependency

Current status

Task Status
Encoder DONE
Decoder DONE
Reading and Writing WAV files DONE
Reading and Writing SELA files DONE
Multithreaded Encoding & Decoding DONE
Player DONE
Metadata support TODO
Seektable support TODO
Support for 24 bit audio TODO
Optimization TODO

Block Diagrams

Encoder Decoder

To understand the core algorithm, see code in frame namespace, frame namespace utilizes maths which is implemented in lpc and rice namespaces.

References

NOTE: You can get the legacy C code by switching to legacy branch.

Also, check out the Java version of this codec at https://github.com/sahaRatul/sela-java