law-encoder
⚖️️️law-encoder👨⚖ is a Rust library for A-law and μ-law (mu-law) audio encoding. These encoding schemes are defined in ITU-T standards G.711 and are widely used in digital audio processing, particularly in telephony and audio compression.
Features
- A-law & μ-law Encoding: Compand 16bit audio data using the A-law and μ-law algorithm.
- High Performance: No dynamic memory allocations. Optimized for real-time and embedded applications.
- Zero Dependencies: Designed to work standalone, with no external dependencies. No standard library. Just good ole bit shifting.
Installation
Add law-encoder to your Cargo.toml:
[]
= "0.1.0"
Usage
Here's a quick example to get you started with law-encoder:
use ;
let encoder = LawEncoder;
let mut output = ;
let num_bytes_encoded = encoder
.encode
.unwrap;
println!;
More detailed examples in the examples directory.
Contributing
Contributions are welcome! Please read our CONTRIBUTING.md for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- This project was developed with the specifications in ITU-T G.711 standards for audio compression.
Support
For support and inquiries, please open an issue on the GitHub repository issue tracker.