DIY DSP

for musical applications



This site aims to inform friends about an "open source" Do It Yourself project.  Its a wonderful and rewarding opportunity to explore the musical application of Digital Signal Processing.  Its purpose is to collect resources in a central location, explain how to get started, and provide a means to showcase our work in this field.  

You may have thought that the investment required to begin experimenting with DSP technology would be prohibitive to all but the most wealthy of companies, but with this system, you can get started coding your own algorithms, on a real DSP, for under $100.  

The DSP board itself is fully self contained, with power supply, stereo audio inputs and outputs, and a removable memory chip.  Its available for about $89.00 from many electronics distributors, and is made by Analog Devices, Inc.  The resources below will show you how to take this commercially available DSP evaluation board and add flash memory, midi in/out, battery power, and your own custom synthesis and effects algorithms, effectively turning the DSP into a portable, midi controlled, custom synthesizer or effect, at a price any musician can afford.  

Ever heard of a synthesizer by called the "Nord Modular"?  Its a DSP in a box with some keys and knobs.  It costs about $2000.  Code for it is generated by a host computer and downloaded to the machine's memory.  The Nord then runs this DSP code, synthesizing or manipulating sound, while under midi control.

This project is just like that, but in this case, instead of connecting preprogrammed "modules", you can create your own algorithms from the ground up.  The DSP can then be reprogrammed with your own code. This means you can program this device to manipulate sound any way you can imagine. You can program that effect you've always wanted, or create a completely unique synthesis engine, with sounds never before heard.  

I made this page to get more people interested in this project and expand its user base.  I'm hoping to help people curious about programming sound apps get started, and let musicians know about the potential of this system.  The more people developing for this machine, the more effects and synthesizers will be available for the community.  Its not easy, but much of the work has already been done for you.  If you want to help, or want to know more about this completely custom synthesizer, mail me at christian@dslab.com.

ALIENOPERA.MP3:
alienopera.mp3
Tony asked me for an example of some of the synths on this page. This is something I did some time ago. It contains SNYTH on the 'melody' (if you can call it that, its more of a drone), KS on the 'percussion' (the clicks, noise hits, and plucked string sounds) and a shortwave radio through REDUX for the other wierd noises. Its all run through an alesis wedge for delay and reverb effects.

My first DSP effect "REDUX":
Source code: redux.dsp
2181 executable: redux.exe
Its a bit quantising and sample rate decimation effect.

My first DSP synthesizer "SNYTH":
Source code: synth.dsp
2181 executable: snyth.exe
A new form of delay line synthesizer somewhat akin to bowed string physical modeling... maybe.

My second DSP effect "SVF2":
Source code: filter2.dsp
2181 executable: filter2.exe
A state-variable filter w/ selectable output band and Q controls... a modification of Shifty's SVF code.

My second synth "KS":
Source code: ks.dsp
2181 executable: ks.exe
A Karplus-Strong plucked string synthesis engine by Ethan Bordeaux modified for midi control by me.

"DELAYS":
Source code: delays.dsp
2181 executable: delays.exe
A second Karplus-Strong plucked string synthesis engine by Ethan Bordeaux modified for midi control by me. This one has an 8-tap filter instead of the simple averaging filter in the feedback loop of the delay line. Each tap's values are controlled by a midi controller... pretty wild.

"BEEP":
Source code: beep.dsp
2181 executable: beep.exe
I came across a neat little oscillator type by accident a while ago... I've incorporated it into a synthesizer with some new looping envelope code I wrote which allows FM of the filter from sub-audio to audio rates, and AD envelopes. This and the strange oscillator make for a pretty cool new synthesizer I call 'BEEP'.

in the pipeline currently...


To learn more, follow these links:   

Freedom Synth    DIY DSP instructions, info, and software.
Midi Box 64         DIY midi knob box / sequencer to customize your control interface
IDE and LCD interfacing          Add an IDE hard drive and LCD display to your DSP.
Quasimodo Linux software synthesizer. 
BUZZ Freeware software studio for PC.  LOTS of free effects and synthesis plug-ins.  I use it for making music and prototyping new synthesis algorithms.  Makes it easy to get started programming sound plug-ins.
G21 Free C compiler for the Freedom Synth DSP.  You don't have to program in assembly!
Music-DSP Mailing list and DSP source code archive.