[sdiy] modular/softsynth interface [was: Synth UI]

Scott Gravenhorst music.maker at gte.net
Fri Apr 10 01:19:18 CEST 2009


Ian Smith <taciturn_unquiet at hotmail.com> wrote:
>
>
>> Depends on who writes the code. I could do this with an FPGA 
>board that has more than one DAC > output channel. One could make 
>any sort of hybrid one wants. Usually a digital synth's ADSR > 
>signal is just used within the synth itself, but it could be 
>output to a DAC channel or to a DAC > channel and used 
>internally. This also goes for anything else, like LFOs or ARs. 
>An FPGA board > with an ADC could also receive CV information 
>from an analog and use that to modulate digital stuff > or it 
>could modify the signal and then send it back out through a DAC. 
>I think that some people > here may be doing these kinds of 
>things. 
>
>Scott-
>Wow... ok, that's all a bit over my head as I still know little 
>to nothing about FPGAs. I would love to have such a module at 
>some point. Any idea on how much it would take to develop 
>something of this nature? -Ian

The list would look mind boggling if I wrote it all down.  However, I would approach
it like I do everything else - bit by bit.  For example, since I have a digital
monosynth already developed that has an ADSR, I'd start there and pipe it's output
through a 12 bit DAC on one of my boards - see if I can look at it on an oscope.  But
remember that the monosynth took some time to develop - it currently exists and
modifying it to output it's ADSR signal through a DAC wouldn't be that hard - now. 
It's all of the other stuff I had to learn to get this far that would be at issue
with respect to time.  All of it is handy, just that it takes time to learn it.  

When I started some 3 or 4 years ago, I knew squat other than a general understanding
of what has to happen in a DSP domain and a fair (not great) set of analog chops. 
I've got a good handle on binary arithmetic, algebra, trig and a smattering of the
most often used Calculus (understanding some math is required for DSP).  I also knew
the basics of making sounds in an analog world which is often fairly closely modeled
when approaching a digital solution.  I had to learn Verilog (the language that I use
to describe digital system designs like a synth) and I had to fart around a lot with
FPGA "hello world" designs to get comfortable doing designs and making them work,
lots of blink-the-leds things.  Eventually, over time, I learned enough to make an
NCO work, then an ADSR, then a filter until I had learned enough bits and pieces to
put a synth together.  With what I know now, it would be fairly low effort to pipe an
ADSR into a DAC.  But as I said, I've been working on this for about 4 years now. 
And I've had the pleasure of several people generously mentoring me.

The real point to the comment in my post was that what you envisioned (what I would
call a hybrid analog-digital synth system) can certainly be done.  Just expect to
have a reasonably steep learning curve and stick to it for a good amount of time. 
The successes one has while one is learning should be the motivation, or at least it
was for me.

It would pay to have a good understanding of both analog and digital systems.  I'm
not a wizard at either, but I can grope my way around and get success with
perseverance.  You'll find that I have scars on my forehead from beating my head
against the wall more than once.  I won't say it's been easy, but I _will_ say it's
been a sh!tload of fun.  The elation I feel when I get something working correctly
has definately been worth this effort.

Also, an FPGA is not the only way to accomplish this.  It could also be done using a
DSP chip or a fast microcontroller or microprocessor.

-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.




More information about the Synth-diy mailing list