dsp-chain
dsp-chain copied to clipboard
A library for chaining together multiple audio dsp processors/generators, written in Rust!
After adding this crate, I got: error[E0282]: type annotations needed --> /Users/cmaughan/.cargo/registry/src/github.com-1ecc6299db9ec823/sample-0.6.2/src/window.rs:57:41 | 57 | let v = phase.to_float_sample().to_sample() * PI_2; | ^^^^^^^^^ cannot infer type for type parameter `S`...
Currently the trait-based node graph approach is very fast, efficient, and quite user friendly. However, it has the tendency to lead toward a slightly more OOP design, which can often...
Using `StableDag` should fix the [index-shifting behavior](https://github.com/RustAudio/dsp-chain/issues/103), which previously occurred when nodes were removed from the graph. There are a few API-breaking changes with this solution, however: * `raw_nodes` is...
It would be nice to have multiple inputs per node so that things like filters with parameters controlled by more inputs can be done. I will also implement this if...
We could create an `Input` type to use as the `Edge` type for our `petgraph::Graph`. Something like: ``` Rust pub enum Input { Regular, SideChain(Buffer), } ``` I'm still not...
For real, glitch-free low latency audio performance, the audio processing path needs to be lock-free. That, in turn, implies no allocations or deallocations. The [music-synthesizer-for-android](https://github.com/google/music-synthesizer-for-android) project (which was a testbed...
`Graph::remove_node` causes indices to shift if index isn't the last node. Options to handle this are: 1. Leave behaviour but document it. 2. Make each `Slot` an `Option` and simply...
This should detect the index of the master node by finding the only node that only has incoming connections and no outgoing connections. One issue is that it is currently...
The `audio_requested` method should simply call `audio_requested` from each element in the `Vec` and sum them all onto the output buffer.
The Iterator should yield the depth away from the current node along with the reference in a tuple, ordered from the shortest depth to the furthest. Nodes with multiple outputs...