# sample [](https://travis-ci.org/RustAudio/sample) [](https://crates.io/crates/sample) [](https://github.com/RustAudio/sample/blob/master/LICENSE-MIT)
A crate for simplifying generic pulse code modulation digital signal processing.
Use the `Sample` trait to convert between and remain generic over bit-depth.
Provides a collection of non-std sample format types including:
- [x] `I11`
- [x] `I20`
- [x] `I24`
- [x] `I48`
- [x] `U11`
- [x] `U20`
- [x] `U24`
- [x] `U48`
Provides functions for optimally converting between any of the following sample
format types:
- [x] `i8`
- [ ] `I11`
- [x] `i16`
- [ ] `I20`
- [x] `I24`
- [x] `i32`
- [x] `I48`
- [x] `i64`
- [x] `u8`
- [ ] `U11`
- [x] `u16`
- [ ] `U20`
- [x] `U24`
- [x] `u32`
- [x] `U48`
- [x] `u64`
- [x] `f32`
- [x] `f64`
If `sample` is missing types, conversions or other functionality that you wish
it had, feel free to open an issue or pull request!