Skip to content
A polyphonic Synth type whose multiple oscillators generate sound via amplitude and frequency envelopes, implemented in Rust.
Rust
Branch: master
Clone or download
mitchmindtree Merge pull request #52 from AntonHermann/priv_frames_fix
included `synth::Frames` in pub use so it is accessible for users
Latest commit 2ed6036 Oct 7, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Removed unused var in example Feb 12, 2017
src
.gitignore Initial commit Feb 11, 2015
.travis.yml
Cargo.toml Bump minor version for recent breaking changes Feb 12, 2017
LICENSE Fix license copyright. Feb 12, 2017
README.md Update example in readme Feb 12, 2017

README.md

synth Build Status Crates.io Crates.io

A polyphonic Synth type whose multiple oscillators generate sound via amplitude and frequency envelopes.

Features

  • Sine, Saw, SawExp, Square, Noise and NoiseWalk waveforms.
  • Amplitude and frequency envelopes with an unlimited number of points.
  • Unlimited number of oscillators (each can have unique waveforms and amplitude and frequency envelopes).
  • Monophonic and Polyphonic modes (unlimited number of voices).
  • Simple note_on(pitch_in_hz, velocity) and note_off(pitch_in_hz) methods.
  • Per-channel amplitude and a stereo panning helper method.
  • "Stereo spread" for automatically spreading multiple voices evenly across the stereo image.
  • Per-voice portamento.
  • Per-voice detuning.
  • Multi-voice (unison) support in Mono mode.
  • Legato and Retrigger Mono modes.
  • Warbliness Oscillator builder method that uses gaussian noise to model the "warped-old-hardware-synth" sound.
synth.fill_slice(frame_slice, sample_hz),

See an example here.

You can’t perform that action at this time.