1
0
mirror of https://github.com/sjlongland/atinysynth.git synced 2025-09-13 10:03:15 +10:00
Go to file
Stuart Longland 762b07177b
adsr: Fix "infinite" delay/sustain.
Seems `~value` doesn't quite have the intended effect.  The intent was
that, being the 1s compliment of `value`, the expression would return
zero if `value` was all ones, and non-zero.

This doesn't quite work the way I'd like it to.  A comparison should be
the same number of CPU cycles, and is more readable, so we'll do that.
2017-05-28 10:33:52 +10:00
ports attiny861 port: Bump sample rate 2017-05-28 10:25:21 +10:00
.gitignore gensine: Add in sine wave generator. 2017-04-25 17:43:51 +10:00
adsr.c adsr: Fix "infinite" delay/sustain. 2017-05-28 10:33:52 +10:00
adsr.h adsr: Support "infinite" delay and sustain. 2017-05-27 15:19:40 +10:00
debug.h debug.h: Add debug helper 2017-04-08 20:26:45 +10:00
gensine.py gensine: Add in sine wave generator. 2017-04-25 17:43:51 +10:00
LICENSE ADSR-based synthesizer for microcontrollers 2017-04-08 18:57:37 +10:00
Makefile Makefile: Make object list configurable. 2017-05-01 17:36:56 +10:00
README.md ADSR-based synthesizer for microcontrollers 2017-04-08 18:57:37 +10:00
synth.h synth: Make enable/mute bits volatile. 2017-04-09 10:17:09 +10:00
voice.h voice: Add test for voice channel done. 2017-04-09 10:07:10 +10:00
waveform.c waveform: Fix logic errors in triangle synthesis 2017-04-09 07:26:16 +10:00
waveform.h waveform: Increase step to 16-bits. 2017-04-09 07:19:04 +10:00

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.