[Patches~]

Polytonal Grains

A custom granular synthesis engine built in Pure Data with unique grain control parameters.

-9 bank granular time-stretching algorithm

-Unique spatial audio capabilities with custom ambisonic panners

-Advanced individual grain-stream control

Download the current build here: PolyTonalGrains-V.3.0(MacOSX)

please contact me for feature requests and bugs. Builds for 4, 5, and 8 channel output, as well as builds for cube speaker-arrays with elevation control available upon request.

This Granular Synthesis Engine is part of the procedural music system programmed and integrated into the Soniferous Garden VR installation. Using open sound control, music is composed on the fly based on the users interaction within the Unity environment. Watch the demonstration below.

Want to use Poly Tonal Grains in your Unity project? Contact me for builds ready for Unity integration!

PureData Externals

[distance]












Download the external here:  distance_Pd(MacOSX)

-.zip includes .pd_darwin file (32 & 64 bit builds), source code & help file

[Ambisonic Panner]















Download the external here: AmbisonicPanner_Pd(MacOSX)

-.zip includes 1-3 order [ambiencoder~] object, [ambidecoder~] object with varying decoding formats, source code, and help file (32 & 64 bit builds).

[Stereo Panner Library]










Download the library here: StereoPanners_Pd(MacOSX)

-.zip includes a linear, square root, and equal power panners, and accompanying help files (32 & 64 bit builds)

[ringmod~]












Download the external here: ringmod~_Pd(MacOSX)

-[ringmod~] allows you to combine two signals and adjust the modulation amount with one simple object. .zip includes .pd_dawin (32 & 64 bit) and help file. 

[Procedural Overtone Sequencer]

This performance systems captures pitch, amplitude and timbral information from live guitar performance to drive a polyphonic and homophonic sequencers. This particular build shown above is spatialized using ambisonics in an 8-speaker cube, allowing for panning along the X,Y, and Z axis. Using timbre identification, the user can control envelop parameters using the pickup switch on their instrument, effectively creating a program control with an analog switch. Please check out the video below to see (and hear most importantly) my performance system in action!