Skip to content

vitobasso/rust-synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A sound synthesiser built from scratch. It implements oscillators, filters, an arpeggiator and a looper. It's written in Rust, a systems programming language, due to the performance critical nature of producing sound in real time.

demo.mp4

It works by receiving commands such as NoteOn, NoteOffand SetPatch which could originate from user interaction or MIDI protocol instructions, for example, and producing a sound signal that can be sent to an audio output device.

An example of usage and runnable demo can be found in rust-synth-gui.

Progress

  • Synth
    • Oscillators
      • Sine, Saw, Square, Pulse
      • Mix of detuned oscillators
      • Noise
    • Filters
      • Biquad LPF, HPF, BPF, Notch
    • Modulation
      • ADSR
      • LFO's
      • Wire modulation to parameters
    • Polyphony
  • Effects
    • Compression
    • Distortion
    • Delay
  • Tools
    • Arpeggiator
      • Tap tempo
    • Loop recorder
      • Snap to measures
  • Drums
  • Read Midi
  • State accessible for visualization