Our third project for my CSE 471 (Multimedia Processing) course was to create a live synthesizer, allowing the user to basically play music using the computer keyboard. This was a group project. I wrote the interface and most of the sample loading, mixing, and playing (attack/sustain/decay/release) code.
The synthesizer uses DirectSound for the output to reduce lag, and DirectInput for the keyboard to allow multiple keypresses at once (to play chords). User defined samples can be loaded, allowing for a lot of customization. I had a lot of fun writing this, and our group won an award based on feedback from the rest of the class.
The red and blue lines at the top of the display show the waveform output of the synthesizer as it's being played. The grey square to the right of the keyboard is the "scratch" pad. Hold down a key and click & drag with the mouse to control the speed (and as a result, pitch) of the sample being played. It's groovetacular!
Here it is, for your playing enjoyment. I've noticed since I upgraded to a significantly faster machine that there are some slight pops & crackles in the sound. Not sure why that's happening. It should run pretty well on anything under 1Ghz, though. Requires Windows, I've tested it under Win2k and WinXP. Have a fun time, maestro!
Return to Projects