KONTRAST (2025) - DAWESOME
KONTRAST is the first of its kind; it is both a wavetable and wave terrain synthesizer. Traditional wavetable synthesis is fully viable by ignoring the SCAN variables, all except 'X'. This means that the timbre may be modulated by changing the scan location within the wavetable, as is true for traditional wavetable synthesizers.
However, KONTRAST goes much further. Instead of a simple repition of a static waveform, the SCAN section offers a multitude of varying scanning techniques. These include traditional audio synthesis techniques applied to two dimensions, like pulse width modulation, noise, bit reduction, and phase modulation, along with novel techniques for scanline generation such as rose formations, BIO, circle formations, square formations, etc.
However, KONTRAST goes much further. Instead of a simple repition of a static waveform, the SCAN section offers a multitude of varying scanning techniques. These include traditional audio synthesis techniques applied to two dimensions, like pulse width modulation, noise, bit reduction, and phase modulation, along with novel techniques for scanline generation such as rose formations, BIO, circle formations, square formations, etc.
KONTRAST was my second project with DAWESOME. My responsiblities included OpenGL Rendering of the scanline/wavetable visualizations, DSP and UI/UIX for the FILTER section, improvements to the OTT compressor module, logic for PATH recording and playback, and the new 'Cut Filter': a 3-band EQ providing 12/24/48dB modes as well as a dry/wet blend, and sound design for factory presets.
|
|
HATE (2025) - DAWESOMEHATE is a wavetable distortion/multi-effect plugin. Instead of a traditional transfer function, many transfer functions are placed in a stack and may be freely interpolated. This allows the sound quality of distortion to be finely tuned and/or modulated in real time.
HATE is a Dawesome effect and was the first project for which I was on the team. I was responsible for the wavetable generation from audio file, table-read algorithm, scanline modulation, and visual render. Additionally, I create the Limiter and Compressor modules that exist as post-processing for this plugin. |
Terrain (2024)
|
|
Terrain is a Wave Terrain Synthesis plugin and the natural evolution of my prototype from 2016. This new product was created using JUCE, and features several drastic improvements over the prototype. Both Terrains and Trajectories can be modified and automated at the audio rate. Trajectories feature a two-dimensional recursive feedback loop to create musically useful time-modulated shapes. This version is also an Instrument Plugin, making control of plugin parameters and its usefulness as instrument greatly improved. Terrain is a free and open source project.
Source Code Tools used: JUCE 7, C++, OpenGL, GLM, CMake |
Orioto (2024) - In Development
|
Orioto ("Ori" - fold, "oto" - sound) is a waveshaper distortion plugin. The transfer function is editable via cubic bezier curve with control points. The effect this transfer function has on a normalized sinusoid is updated in real-time as the transfer function is edited. Standard input and output effects are present and automatable. Orioto is a free and open source project.
Source Code Tools used: JUCE 8, C++, CMake |
Freelance Audio Software (March 2020 - November 2024)
Development for various companies; projects ranging from Digital Audio Workstations, Audio Plugins, and audio applications for mobile devices.
Pedal (2019-2022)
Pedal is a C++ audio library created in collaboration with Keehong Youn. This open-source library has a long and growing list of audio unit classes. The defining feature of pedal is that these audio units are written with the intent that a user will look at the source code to learn how things work. Our code style was designed to prioritize clarity in the inner mechanics. The ambition is that pedal will be a source not only of new sounds to the world, but new sound makers as well.
Source Code
Source Code
|
|
Particle Accelerator (2020)Particle Accelerator is a real time audio synthesizer that harnesses the power of a Graphics Processing Unit (GPU). Common DSP tasks had to be reimagined to comply with the abilities of these massively parallel processing units. This labor and inventiveness was fruitful! This video was rendered on a decade-old laptop with a dedicated GPU, but still could render thousands of voices simultaneously.
Tools used: JUCE 6, C++, Cuda, CMake |
Wave Terrain Synthesizer (2016)
|
Wave Terrain Synthesis works by a two-dimensional trajectory scanning a three-dimensional terrain to produce a time-varying signal. The timbre of the signal is determined in conjunction by the topography of the terrain, and the shape of the scan. If a scan is periodic, then the fundamental frequency will be the perceived tone making this synthesis method an easy fit for keyboard instruments.
Tools used: C++, openFrameworks, ofxATK |
|
Ambisonic Grain Spatializer (Fall 2015)A system for discrete grain spatialization in a three-dimensional environment. Click for more information
|
Dipole Particle Generator (Fall 2015)The principle purpose of Dipole Particle Generator (DPG) is to develop the technique of glisson synthesis. The largest deviation from traditional glisson synthesis is the ability to use sampled sounds as opposed to solely synthetic waveforms. Immediately, the inclusion of sampled sounds in a particle synthesis system tempts the integration of classic granular synthesis techniques (time-stretching, pitch-shifting, etc.). DPG weaves characteristics of many particle and granular synthesis techniques into a single streamlined application. Click for more information
|