Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.
/ synth Public archive
forked from RustAudio/synth

A polyphonic Synth type whose multiple oscillators generate sound via amplitude and frequency envelopes, implemented in Rust.

License

Notifications You must be signed in to change notification settings

glissando-daw/synth

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A polyphonic Synth type whose multiple oscillators generate sound via amplitude and frequency envelopes, implemented in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%