#audio #webassembly #python #c #decoding #bindings #manipulation #library #built

bin+lib babycat

An audio decoding and manipulation library, with bindings for C, Python, and WebAssembly

3 releases

0.0.6 Jul 20, 2021
0.0.5 May 14, 2021
0.0.4 May 14, 2021

#205 in WebAssembly

MIT license

360KB
2.5K SLoC

Babycat Logo

Babycat is an audio decoding and manipulation library

Intro

Babycat is a library that makes it easy to decode and manipulate many audio files at once.

Use Babycat with C, Python, Rust, or JavaScript/WebAssembly.

Babycat is written in Rust, has generated bindings for C, Python, and WebAssembly, and can be compiled to many different target architectures.

Babycat's bindings to Python allow for the concurrent decoding of many audio files without being slowed down by the Python Global Interpreter Lock (GIL), allowing you to get work done faster than you could in pure Python.

Babycat is permissively-licensed.

Babycat is licensed under the MIT license. Unlike many other libraries in the audio ecosystem,you can use Babycat in any project you want without any restrictions.

Babycat is battle-tested in industry.

Babycat was built at and is actively maintained by Neocrym, a record label that use artificial intelligence to find and promote the world's greatest musicians. Neocrym uses Babycat to decode millions of songs as part of audio feature engineering pipelines for training machine learning models.

Documentation

You can find Babycat's documentation at babycat.io.

API Reference

Tutorials

Acknowledgements

The first version of Babycat was an internal project at Neocrym written by Ritik Mishra. Since then, the code has been extended and open-sourced by James Mishra.

Babycat is built on top of many high-quality open source packages, including:

Dependencies

~6–13MB
~282K SLoC