[sdiy] digital synth design.
Rainer Buchty
rainer at buchty.net
Wed Oct 27 15:51:19 CEST 2004
>I think software isn't that much of a problem (unless you are a pure
>hardware man) - as long as the patch structure doesn't involve much
>synthesizing and processing, i.e. mostly sample playback.
Ah, but here the fun starts already:
(1) raw wave parameters
- original tuning
- start position
- end position/length
- loop point (if not "sample end=loop end")
- multisample zones (you don't want to play that 512-byte SAWUP sample
all the way up to key 127)
(2) patch parameters
- selected waveform(s)
- coarse tune (octave/semitones)
- fine tune (cents)
- pitch modulation (pitch bend, pitch EG, pitch LFO, maybe eben audio-FM
from a second osc) and amount
- one-shot vs. looped playback (not to mention forward/backward looping)
- hard-sync (for multi-osc voices)
- address resolution
At a later stage, amplifier and filter -- synthesizing and processing --
will contribute even more mess for example, the program control block of
ESQ1 and SQ80, i.e. their patch parameters, are 102 bytes per sound.
This includes 3 oscillators, 4 EGs, 3 LFOs, 3 DCAs, VCF, final VCA and
panning plus some additional control stuff (sync, AM,
splitting/layering, envelope mode, oscillator restart, voice reuse, mono
mode, portamento) including the necessary modulation routing (source &
amount).
>Functionally, hardware shouldn't be too hard as well. Main problem
>would be to find a suitable processor chip that is a) available in
>single quantities and b) isn't too nasty to solder (I'm thinking hard
>core SMT here).
Next question is if you want to burden all playback onto the processor,
or if the processor only becomes master control where playback is done
by either a (bunch of) slave processor(s) or some dedicated hardware
circuitry (counters clocked with variable frequency or phase
accumulators).
And, while doing this, consider introducing interpolation to avoid
nastily squeaking phase-accu based oscillators.
Rainer (loving "typedef struct{}")
More information about the Synth-diy
mailing list