DIY Digital Synth

jbv jbv.silences at wanadoo.fr
Mon Sep 18 14:57:09 CEST 2000



>     Glad to hear I am not the only one who is not afraid to utter the "D"
> word. :-)
>

he he he...

OK. Here we go.

The 1st thing I'd like to say is that your digital synth project follows the
same
path as G. di Giugno's (GdG) researches at IRCAM in the mid 70's. I don't mean
t
o be cynical here, I'm just trying to put things in perspective. Furthermore,
I want to
point out that it's a pretty interesting field, as I'll try to show below.

Actually, GdG started with a single board full of TTL logic (4A) dedicated to
additive & FM
synthesis : it featured a bank 64 (or 128, don't remember) digital oscillators
(based on the
Mathews algorithm) and their enveloppes.

The interesting thing is the way the 4A evolved into the 4C (and later the 4X,
which was a
combination of various 4C boards). The idea was to replace a fixed hardware
architecture by
a programmable and more flexible one.  This was achieved by latching every
component of the
board (multiplier, adder/substractor, WT memory, etc.) in order to get a
pipe-lined structure.
Furthermore, the use of of a data memory and a micro-program memory allowed
some
programmability of the unit : recombining elementary  blocks and allowing
data-flow between
blocks through 2 general purpose buses, in order to achieve different
algorithms : oscillators
banks of course, but also digital filters, delays, reverbs, waveshapers, and
even FFTs...
Somehow the first DSP was born.
I don't have any article reference at hand, but the 4X system was described in
several CMJ
articles between 1975 & 1980. AFAIR a similar system called SYTER was
developped
rougly at the same time in the INA-GRM studios.

BTW, some figures are amazing : the 1st prototype of the 4X unit (built circa
1980) worked
at 16 MHz on 24 bits fixed words, weighted 100 Kg and featured 1700 TTL chips
!!!
And now, we can we can do the same at home on a single programmable logic
chip...
Some of you may ask "why not use a regular DSP instead"...
Well, first of all there's the pleasure of hacking (this is synth-DIY, isn't
it ?) and thus
understanding step by step the basics of DSP, and also because of the
possibility to design
your own custom DSP.

Now, here's the result of my own brainstorming on the subject. I tried to
figure out what I could
keep from GdG work on the 4X boards, how it could be squeezed into
programmable logic and,
most important, what features I could add to make this thing more "hybrid" (or
less dry-digital).
The 1st thing that came to mind was to add a few ADCs and DACs (for analog
voltage-control
and interfacing with analog synths) and MIDI i/o. A part of the WT memory
should also be
dedicated to an expo converter.
As for parameters to be VCed, of course we have freq & amp (as well as
enveloppes) for digital
oscillators, but also freq & phase & amp offset between harmonics in case of
oscillator banks for additive synthesis, as well as number of harmonics...
Various parameters (such as freq cut-off,
Q...) can be VCed in case of filters, or delays, reverbs, etc...
Micro-programs can also be selected by VC (in order to switch between filter
or reverb
algorithms for instance).
Another promising (yet more abstract) approach could be to VCed various
parameters of each
algorithms without any straight relationship with the sound itself. Of course,
the final sound will
be modified, but what I mean is to voltage-control some less straightforward
parameters (such as
temporary data in a specific algorithm, instead of fundamental freq or filter
Q). I guess it can be
called "voltage-controled hacking". This has to be tested case by case, but
I'm sure some weird
(yet interesting) results can be achieved.
And last but not least, a more ambitious path is to combine VC, digital world
and some promising
fields like alife (especially cellular automata and genetic algorithm), all in
real time, of course.
Basically the idea is to use CA or GA to shape the spectrum of a sound (with
additive synthesis
for instance), and to allow realtime modification of various parameters of the
CA or GA algo
through voltage control...

If we all know which elementary blocks are necessary for digital sound
generator / processor
(1 multipler, 1 adder/sub, 1 WT, data + adress memory, and at least 2 data bus
- which can be
pretty tricky to achieve with programmable logic), I'm still trying to figure
out which basic
blocks are necessary for CA & GA algo... And am reading about Danny Illis &
Karl Simms
work at Thinking Machines...

AFAIK, there isn't any such system on the market. But if anyone knows of
similar research
being conducted at the moment, I'd really like to get some info...

jbv





More information about the Synth-diy mailing list