Louis Gorenfeld's Home on the Web
Main
About
Programming
Audio
Graphics
Games
Music
About the Music
MP3 Versions
Sample-based
Adlib (OPL2)
Chiptunes
Bookmarks
SoundShock FM forum
Pure Data
DUMB music lib
ToastSoft
Cohaagen Records
Shmups!
Debian Linux
Building Contact Mics
Receptor
Muse Sequencer
Rosegarden Sequencer
Seq24
Hydrogen
Ardour DAW
Linux Sound & Midi
Ubuntu Studio

Audio Programming

Original Works

Sound Language
This is the third version of my sound language, useful for trying out synthesis techniques before coding them. This comes with several examples including a Karplus-Strong physical modelling string (both bowed and plucked) and various other interesting examples. You will need PortAudio to run it. Download Sound Language here.

Music and Synthesis Script
A work in progress, this is a self-contained realtime synthesized music language. Notes and synthesizer settings are entered via a human-legible text file. At any time during the song, settings for the instruments may be embedded into the note data to change any attribute on the fly! Listen to an example of this program's output with no additional processing here.

Generalized Phase Distortion Source
The source code and document in this file outlines a method of doing Phase Distortion that I have not seen anywhere else. It allows for more subtle octaving and a wider range of waveforms than what most PD synths allow. This is for programmers only, and I hope someone finds it useful! It is licensed under the GPL. Download here!

Ports of Existing Plug-Ins

VOPM Universal Binary
Sam's great FM synthesizer plug-in VOPM is now available in a Universal Binary form. The plug-in emulates an OPM-- the sound system found in the Sharp X68K home computer and similar to the one found in the Sega Genesis (Megadrive). Many thanks to Sam for allowing me to post the OS X port. I have also written an
unofficial English manual for VOPM.

Please also visit Soundshock, an internet community of talented 2 and 4-operator FM enthusiasts.

Pure Data

Contact Mic String (Pure Data)
I whipped up this basic Karplus-Strong string using Pure Data. It's best used with a contact-mic. Load StringSys.pd and use the modulation wheel to control the dampening, the microphone to control the impulses, and the keyboard to select new notes. Get it here, or listen to me fiddling around with it here and here! You will need to first download Pure Data to use the string.

TalkBox (Pure Data)
The TalkBox is accomplished by putting bandpass filters in parallel. There are 3 filters- one for each mode. The user can use the mod-wheel to drag through the different vowel sounds. The in-between vowels are produced by interpolating between the different filter settings (moving the center frequencies). If there is no rich sound source to be had, a pulse or saw wave makes for nice output. Download here.

DigiClav (Pure Data)
This is a simple (unrealistic) model of a Clavinet. It's really just basic Karplus-Strong with dampening and note-off clicks, but it has a nice and mellow sound. It sounds even better (and somewhat convincing!) when used with a wah. It can also be used for basses if the dampening factors are increased. Download here.

Phase Distortion Oscillator (Pure Data)
This is an abstraction for Pure Data which mimics the synthesis technique used by Casio's CZ series. I originally had written this in more efficient C code, but I lost enthusiasm for the project. So, I made a ready-to-use version for Pure Data! It comes with instructions inside the PD patch. Download here.

There is also a windowed oscillator sync (CZ resonance) patch available here. This only does a cosine multiplied by a cosine window, but experimenting with other window and oscillator shapes yields different tones. Good for clean formants!

FM Synthesis Guide
I wrote this FM Synthesis guide to help people get started with this notoriously tough synthesis method. Hopefully after reading it, FM won't be so alien. Get it here!



All content on this page is (c) 2005 Louis Gorenfeld and may not be reproduced without explicit written permission.