In Which I Discovered ZynAddSubFX

For a long time I was under the impression that ZynAddSubFX was a program to create subwoofer effects.  Boy, was I in for a treat when I started to explore different synth programs and took the plunge!  How, after all these years, could I have missed this wonderful, free program?  So, I thought this would be a good opportunity to include you on this little path of discovery:

In which I decide to learn Fourier Analysis

I’ve been quiet for a bit, but mainly due to intense work on programming a midi controller for the use of my recording endeavors.  I did manage to get some stuff done, and now I move on to the realm of physics, specifically Fourier Analysis.

Now either I am ultra-bored, or I am up to something.  I am, actually, up to something.  More to come on this, but it does deal with pitch detection.

Doctor Who Theme Attempt

In a previous post, I remarked on Peter Howell’s creation of the Doctor Who theme.  I was inspired to throw something together using Csound.  After playing around with the bits and parts of things that I felt were essential to the piece, I managed to get pretty darn close.  Frankly, I am more impressed with Peter Howell’s version, and even more so given how much more advanced we are technology-wise since then.  I gotta admit, there is something to be said of vintage synths and low-fi effects.  Enjoy, my fellow Whovians.

Exploring Filters

While working on some experiments on synthesis, I’ve come to learn that a lot of a good synth’s power lay within its filters for shaping the overall sound.  While looking at my own filter design in Csound (and I don’t call it necessarily “mine” as in “I wrote it”, just as in the sense that it is mine because I’m using it . . . I can’t remember where I pulled the code from), I find it works well to suit what I need it for.  I would, however, like to learn a little bit more about the internals of filter design and how it shapes the tone, so I can be more intentional about how I want a synthesized tone to sound.

;-12dB cutoff
aout1     butterlp     amix1, ifrq+<cutoff1>
aout2    butterlp    amix2, ifrq+<cutoff1>

;bandpass -6dB cutoff for resonance
ares1    butterbp     aout1, ifrq+<cutoff1>, ifrq+<cutoff1>*<bw>
ares2     butterbp     aout2, ifrq+<cutoff1>, ifrq+<cutoff1>*<bw>
ares1     balance     ares1, aout1
ares2     balance     ares2, aout2

Part of my research involves actually listening to filters at work.  I found this nice example of the Moog Ladder Filter below, in which the filter is used to filter the unique aspects of instruments in a song, making the tones really jump out of the song:

In a way, I am reminded of using my Carvin Quad-X guitar preamp as a tube preamp for vocals, which I find really make the mids in vocals really stand out and sound really crisp.  I was using the tubes in the preamp as a filter!  Not only that, but I was using other aspects of the preamp as a unified vocal filter.  With that in mind, it gives me a foundation of what to keep in mind as I research:  the filters are to shape the tone, so a quality filter will help in shaping a quality tone.

Synthesis and Doctor Who

Here’s a cool little video giving a little snapshot of things I love: music, synthesis and science fiction, featuring Doctor Who musician Peter Howell.  The way he encapsulates the small pieces of music is wonderful.  Kind of neat to see such legacy pieces of equipment being used, such as the ARP Odyssey, and a broken down phase box still being put into good use for low-fi effects.

Building the Ultimate Warm Pad


I’ve been working on developing a warm pad sound using Csound, and I’m very close to getting the exact sound that I want.  It features 16 detuned oscillators that I’ve spent a lot of time tweaking to get the right sound.  While attempting to make a somewhat final adjustment (to which I would say the pad is next to darn perfect), I discovered a gross error.  I was attempting to set up a sample and hold modification to the detune to each oscillator, instead of having a global S/H.  Why detune based on the same source if I need randomness, right?  I couldn’t perceive any effect with my ear, so I printed out the values of each link of the chain to see what might be causing the issue.  While researching, I discovered my pink noise source used for my S/H was valuing negative.  The detune should be negative and positive.  Great!  Back to the drawing board.