1
0
mirror of https://github.com/sjlongland/atinysynth.git synced 2025-09-13 10:03:15 +10:00
Go to file
Stuart Longland 7214ae7d78
synth: Make enable/mute bits volatile.
Otherwise the optimiser doesn't bother to re-check them.
2017-04-09 10:17:09 +10:00
ports ports/pc: Start playback when enable ≠ 0. 2017-04-09 10:13:29 +10:00
.gitignore Add bin and obj directories. 2017-04-08 20:24:17 +10:00
adsr.c adsr: Add functions for configuring the ADSR. 2017-04-09 08:17:03 +10:00
adsr.h adsr: Add debugging 2017-04-09 10:06:38 +10:00
debug.h debug.h: Add debug helper 2017-04-08 20:26:45 +10:00
fifo.h fifo: Add FIFO buffer library 2017-04-09 08:23:52 +10:00
LICENSE ADSR-based synthesizer for microcontrollers 2017-04-08 18:57:37 +10:00
Makefile Makefile: Remove .dep output definitions. 2017-04-09 09:09:53 +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.