mirror of
https://github.com/sjlongland/atinysynth.git
synced 2025-09-13 10:03:15 +10:00
This is useful if you don't know how long a given note will be held for… you can just trigger the note upon pressing the button and have it progress to the "sustain" state, at which point it'll hold the note. You can then call `adsr_continue` to "release" that note when you detect the button release and have it decay. |
||
---|---|---|
ports | ||
.gitignore | ||
adsr.c | ||
adsr.h | ||
debug.h | ||
gensine.py | ||
LICENSE | ||
Makefile | ||
README.md | ||
synth.h | ||
voice.h | ||
waveform.c | ||
waveform.h |
ADSR-based Polyphonic Synthesizer
This project is intended to be a polyphonic synthesizer for use in embedded microcontrollers. It features multi-voice synthesis for multiple channels.
The synthesis is inspired from the highly regarded MOS Technologies 6581 "SID" chip, which supported up to 3 voices each producing either a square wave, triangle wave or sawtooth wave output and hardware attack/decay/sustain/release envelope generation.
This tries to achieve the same thing in software.
Code is presently a work-in-progress.