dasp
dasp copied to clipboard
The fundamentals for Digital Audio Signal Processing. Formerly `sample`.
It would be extremely useful to have a series of benchmarks for testing and demonstrating the feasibility of the `sample` crate for users. Benchmarks that would be nice to have:...
While `Bus` is pretty cool, the use of `VecDeque` (and the possibility that it will reallocate mid-sample) means that it's not suitable for realtime audio. I'm working on a (very...
Basically, `Sample` should have a built-in function to switch from `1.0` to `-1.0`. It's sort of "negation" but in reality we're talking about an inversion around the equilibrium point, so...
These fail: ```rust assert!((1.0 as f64).to_sample::() > 0); assert!((1.0 as f64).to_sample::() > 0); assert!((1.0 as f64).to_sample::() > 0); assert!((1.0 as f64).to_sample::() > 0); assert!((1.0 as f32).to_sample::() > 0); assert!((1.0 as...
I need to concatenate frames, and obviously doing this in a type-safe way would be pretty cool. Of course it'll be a ton of macro impls. I'm working on this...
Right now it only takes a slice, which unfortunately means that it can't handle windowing continuous streams.
See the [trigint](http://www.dribin.org/dave/trigint/) library (an integer based trigonometry library) for inspiration.
I might be vastly underestimating the work and complexity involved in this, but it would be an excellent feature to have and is undoubtably a fundamental tool of DSP. I...
Should there be variants of sample::[Sample,Frame]::[add_amp,mul_amp] which use saturating arithmetic?
They already live in `lib.rs`, and can be accessed as `sample::Float` and `sample::Signed`.