instrument 0.2.0

A foundational type for performable musical instruments. Converts discrete note events to a continuous signal of amplitude and frequency over N number of voices. Useful for instruments such as synthesizers or samplers.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# instrument [![Build Status]https://travis-ci.org/RustAudio/instrument.svg?branch=master]https://travis-ci.org/RustAudio/instrument [![Crates.io]https://img.shields.io/crates/v/instrument.svg]https://crates.io/crates/instrument [![Crates.io]https://img.shields.io/crates/l/instrument.svg]https://github.com/RustAudio/instrument/blob/master/LICENSE

A foundational type for performable musical instruments.

The `Instrument` type takes discrete `note_on` and `note_off` events as inputs
and returns a `Frames` iterator yielding a amplitude/frequency value pair per
`Voice` per `Frame` as an output.

`Instrument` supports multiple note handling `Mode`s including **n** voice
polyphony and **n** voice unison monophony (both retrigger and legato).
Note-on effects such as detuning and legato are also supported.

The `instrument` crate is used by:
- [synth]https://github.com/RustAudio/synth
- [sampler]https://github.com/RustAudio/sampler