A signal processing framework for making music with Rust.
If you have a project using oxcable
, I'd love to hear about it. Send me
a message and I can include it in this list.
The following example will play back your computer's microphone input to the speakers, with an echo effect:
```rust use oxcable::delay::Delay; use oxcable::chain::{DeviceChain, Tick}; use oxcable::io::audio::AudioEngine;
let engine = AudioEngine::withbuffersize(256).unwrap(); let mut chain = DeviceChain::from( engine.defaultinput(1).unwrap() ).into( Delay::new(1.0, 0.5, 0.5, 1) ).into( engine.defaultoutput(1).unwrap() ); chain.tick_forever(); ```
For more simple examples, the src/bin
directory contains many
sample test scripts.
Currently, oxcable requires PortAudio and PortMIDI be installed on your machine.
On Mac, these are available on Homebrew. To install, run:
brew install portaudio
brew install portmidi
The scripts directory contains assorted scripts used both to experiment with new
features, and to test the output of Rust library code. These scripts are written
in Python, and leverage the numpy
, scipy
and matplotlib
libraries for
rapid prototyping purposes.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.