Kirika
Collection of audio utilities for decoding/encoding files and streams.
- Not based on ffmpeg/libav/libavcodec/libavformat and alike
- Channel-based audio consumption/filter chain
- Raw sample analyzer channels
- AnalyzerChannel channels / mergers / splitters / trimmers
- Audio resampler
- Audio downmixing to stereo/mono
- Multi-codec decoder and encoder
- Multi-format packetizers
Codecs supported
Codec |
Container |
Decoder |
Analyzer |
Encoder |
Notes |
FLAC |
FLAC |
✅ |
✅ |
✅ |
Adjustable encoding compression level and block size. |
TTA |
TTA |
✅ |
✅ |
✅ |
Only 16bit encoding |
MP3 |
MP3 |
✅ |
- |
✅ |
Adjustable encoding bitrate and mode. Decoding via minimp3, encoding via LAME. |
Opus |
Ogg |
✅ |
- |
✅ |
Adjustable encoding bitrate. |
AAC |
ADTS |
❌ |
- |
✅ |
Adjustable encoding bitrate and mode (LC, HEv2). |
Container packetizers supported
Container |
Packetizer |
Keep Mode |
Sample Number |
FLAC |
✅ |
✅ |
✅ |
TTA |
❌ |
- |
- |
MP3 |
✅ |
✅ |
✅ |
Ogg |
✅ |
✅ |
✅* |
ADTS |
✅ |
✅ |
❌ |
Dependencies
Go >= 1.18
sudo apt install libflac-dev
sudo apt install libopus-dev libopusfile-dev
git clone --depth 1 https://github.com/xiph/libopusenc.git
cd libopusenc
./autogen.sh
./configure --prefix /usr
make
sudo make install
git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
./autogen.sh
./configure --prefix /usr
make -j$(nproc)
sudo make install
sudo apt install libmp3lame-dev
sudo apt install libsamplerate0-dev