Skip to content

sahaRatul/sela

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ca09cbd · Apr 11, 2020
Apr 9, 2020
Apr 1, 2020
Apr 4, 2020
Mar 23, 2020
Apr 7, 2020
Mar 22, 2020
Apr 11, 2020
Apr 3, 2020
Mar 23, 2020
Mar 23, 2020
Feb 29, 2020
Apr 9, 2020
Feb 29, 2020

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