Rust Audio

Announcement: polyphony + rsynth version 0.1.1

:tada: Hi all. I’m proud to announce a new crate: polyphony and version 0.1.1 of rsynth.

The polyphony crate requires no explanation as its name is self-explanatory (at least, I hope so). rsynth is an API abstraction for API’s for audio plugins and applications with currently support for jack and vst 2.

These two are related: polyphony is split off from rsynth, where it is now a deprecated feature and will be removed in a future release. The purpose is to limit the scope of rsynth. All dependencies on rsynth are removed from polyphony and it can now be used as a completely separate crate. I think this increases the modularity in the eco-system.

Speaking of modularity: @mindtree has split the sample crate into many different crates under the umbrella of dasp. This allowed me to only pick what is needed for rsynth.

Other changes:

  • Envelopes have been deprecated and will be removed in a future release. No alternative is provided since the code was premature.
  • Re-export jack-specific data types to make it easier to upgrade jack without breaking things.
  • Give access to jack backend in callbacks.
  • Implement Display and Error for HoundAudioError and for CombinedError in order to facilitate debugging.

The copyright notices in the Cargo.toml and the were inconsistent. This has now been fixed, clarifying that rsynth is dual linced under MIT or 3 clause BSD. We plan to move to MIT/Apache v2 in a future release (same license as Rust itself).