Implementing a Finite Difference-Based Real-time Sound Synthesizer using GPUs

The Finite Difference Synthesizer (FDS) is a real time sound synthesizer that utilizes the GPU to perform calculations for a physical model (the 2-D wave equation) from which audio is generated.

A paper about this system has been submitted to NIME 2011: sosnick-hsu-nime2011.pdf

FDS Software

The FDS is currently in a prerelease state, and is currently provided in as source code, and currently only works with MacOS 10.6 and greater. The NVIDIA CUDA Development Kit, Liblo, and PortAudio must be installed. See README.

Download FDS Software: [please contact Marc Sosnick or Bill Hsu]

TouchOSC Controller

A sample TouchOSC controller layout has been created for testing purposes.

Download TouchOSC controller layout: fds.touchosc

Sound Samples

The following are sounds generated from FDS. The constants indicated control aspects of the physical model, and therefore the timbre of the sound. The membane is excited by simulating striking (or plucking) with a gaussian impulse to the membrane. The settings below were initially selected from Bruce Land's matlab file.

Each of these constant configurations has two demo sounds. The single-strike sound is a single strike in the center of the membrane. The multiple-strike sound is created by striking repeatedly from one corner of the membrane to the opposite corner of the membrane.

description  rho  eta  alpha  boundary 
gain
Single-Strike
Sound
Multiple-Strike
Sound
initial (0) 16 0.05 0.002 0.1 0 play play
initial (1) 16 0.05 0.0002 0.1 0 play play
chime 12 0.5 0.0001 1.0 0 play play

SMC2010 Paper: Efficient Finite Difference-based Sound Synthesis using GPUs