thirv / audioseq-coder

Compact audio coder for audio sequences.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

audioseq-coder

Compact audio coder for audio sequences. Motivation is to use pure modern C++ (currently C++11) limited to standard library. Somewhat functional programming style, which suits audio processing in my oppinion better than OO.

Unlike typical audio codecs that operate on audio frames, this is tailored toward compressing separate audio files and repeating them according to the pattern defined in seq.txt as start times. This is suitable for music that has many audio elements/segments/objects (short or long) that repeat, such as electronic music. Audio objects can repeat and overlap freely, and bitrate savings are greater, the longer and more repeating the output is.

The principles used in the compression are typical ones used in audio codecs; MDCT transform, perceptual quantization, and entropy coding to a maximally compact bitsream. Some preliminary ideas for exploiting correlations between the objects via PCA (https://en.wikipedia.org/wiki/Principal_component_analysis), and compressing only the largest eigenvectors.

TODO: Code is compact with minimal comments, better documentaion. Feel free to import to your favorite IDE etc.

About

Compact audio coder for audio sequences.

License:MIT License


Languages

Language:C++ 100.0%