AW: Analog DIY versus Digital DIY
Sean Costello
costello at seanet.com
Thu May 7 15:57:38 CEST 1998
Magnus Danielson wrote:
> If one is going to do Digital DIY one is probably best of by doing
> early simulations and even emulations on a standard PC or other
> suitable computer. There is ways to get started, but for some
> properties will studies in discrete time filters and their properties
> become necessary. There is a lot of people out there that dimensioned
> analog filters without really knowing the math behind them. Digital
> filters quickly go non-obvious on you. Why has the virtual modulars
> (like NordModular) taken so long time to get to a good level even if
> we had digital synths since late 70ths?
I was one of the people that had been working with analog filters
without really understanding anything about what was going on. Whenever
Electronotes would start getting mathematical, my eyes would glaze over,
and I'd skip to the construction of the circuit. Now, I'm going back
and forcing myself to understand all of the equations, the s-plane
graphs, and so on. Fortunately, I've found a few good sources for
learning mathematics for digital signal processing, which I will list at
the end of the email.
> Yes, I would also like to fool around more with DSPs, but I am not
> sure that it is the best ground for a novice to learn from...
>
> For those that would like to try out their DSP skill I think that
> things like Csound or Octave (A free Matlab) could be a good
> startingpoint. Personally I hacked my first digital simulators in
> Basic, later Pascal and now I do it in pure C.
I don't see myself learning how to program DSP's anytime soon (I'd
certainly like to know how, but I don't think it is terribly likely). My
goal is to learn enough about general programming (in C and C++), and
the general principles of digital signal processing, to be able to
create my own unit generators for Csound. Apparently it is fairly easy
to incorporate your own C code into Csound - assuming, of course, that
you know how to program in the first place. :)
One of my first goals is to create a frequency shifter unit generator
for Csound. You probably could do frequency shifting in Csound with a
phase vocoder, but this seems like far too much computation for this
process. My idea is to simply recreate the Bode/Electronotes frequency
shifter in digital form. Instead of using FFT or convolution techniques
of implementing a Hilbert transformer, I would like to try creating a
direct digital replication of the "dome filter" used in the Electronotes
frequency shifter (i.e. two six-stage allpass filter networks, with the
90 degree phase shift frequencies of each corresponding to the
frequencies of the allpass stages in the Electronotes circuit). This
may not be as accurate as other methods of implementing the Hilbert
transformer, but it might work good enough for my purposes. Of course,
I really have no idea how to design a digital allpass filter as
described above, but I'm working on it. Any ideas, anyone? Any books
that would cover this topic?
BTW, Magnus, thanks for the Octave tip. I'm going to search for it as
soon as this is sent out.
Sean Costello
P.S. Here are a few of the sources for DSP mathematics that I have been
reading lately:
"An Introduction to the Mathematics of Digital Signal Processing," by
F.Richard Moore, in Computer Music Journal, Vol.2 No.1, p.38-47, and CMJ
Vol.2 No.2, p.38-60. A very nice introduction for people like me; it
begins by reviewing what algebra and trigonometry are, and goes on to
explain sampling, DFT, convolution, the z-transform, and the like.
"Elements of Computer Music," by F. Richard Moore. Covers the above,
but not geared towards the beginner. Includes C code for FFT, phase
vocoder, digital filters, and a lot more. If you are interested in this
subject at all, and are skilled at programming and math, I would highly
recommend this book (I think - I'm not so skilled at programming and
math yet :)
"A Digital Signal Processing Primer," by Ken Steiglitz. Geared towards
computer music. A good book to read in conjunction with Moore's book.
Unlike Moore, Steiglitz assumes the reader is familiar with calculus.
"The Computer Music Tutorial," by Curtis Roads. The Appendix covers
Fourier transforms, the z-transform, complex number theory, etc.
More information about the Synth-diy
mailing list