PROGRAMMING / TECH
Masters Final Project: Universal Digital Instrument Controller - Frequency, orientation, and gesture detectors, to use any instrument or voice as a MIDI controller:
Standalone application programmed in C++/JUCE/Arduino:
Low latency efficient frequency detection without use of FFT analysis
Attach Arduino with gyroscope and accelerometer to instrument to capture musical movements
Arduino IMU values sent to JUCE app via WiFi/UDP; Converted to mappable MIDI CC values.
Center Space sidechain compressor: Sidechain compression that only ducks the center of the stereo field.
https://github.com/RFullum/Center-Space-Compressor
Written in C++/JUCE.
Mac only. Installer has VST3 and AU. Download Installer
Dirty Little Bass Synth: https://github.com/RFullum/DirtyLittleBassSynth
Wavetable synth programmed in C++/JUCE:
Main oscillator morphs between Sine, Spike, and Sawtooth wave shapes
Sub oscillator morphs between Sine, Square, and Sawtooth wave shapes with selectable octave
Main Osc foldback distortion
Modifiers: Ring Modulation, Frequency Shifter, and Sample & Hold distortion
Selectable resonant12dB/24dB/48dB LPF, or resonant Notch filter
Main Amp ADSR, Filter Frequency & Resonance ADSR, and Filter Frequency LFO with morphing shape
Interactive Twitch Live-code Music Production
MaxMSP patch with several devices, sequencers, and effects that Twitch stream viewers can control by typing commands into the stream’s chat. Click here for command list, cheat sheet, and tutorial.
Menschmaschine: https://www.menschmaschine.io/
Built a Music Production Suite & Algorithmic NFT Song Generator in MaxMSP, consisting of a drum machine, sample player, FM synth, analog style subtractive synth, step sequencers, and effects banks. Each device has 8 scene-save slots. Once the human music producer creates sequence patterns for all the devices, they seed the algorithm, give it some music-structural details, and let the computer create audio clips. Different batches of music clips with a variety of characteristics creating levels of uniqueness. Finally, NFTs of the clips were created and sold out within a half-hour of release.
The project was founded by Bart Decrem and Federico Chiesa (Oora Music).
The Clock: https://github.com/RFullum/The-Clock
The Clock: A simple VST3/AU plugin that displays the Beats:Bars, Minutes:Seconds, BPM, Total Beats elapsed, Loop On/Off, and Time Signature so you can see it from across the room. That's it. It doesn't do anything. It just displays that info REALLY BIG. Works on any channel. Audio will pass through.
Mac installer: https://www.dropbox.com/s/zd6z5bq302tslyf/The%20Clock.dmg?dl=0
Win VST3 file: https://www.dropbox.com/s/877pdjid90asrhg/The%20Clock%20VST3%20Win.zip?dl=0
FFT Reactive 3D Flocking Animation: https://github.com/RFullum/AudioVisualizerExperiment3D
There's a different flock of darts for each FFT band with a unique color. Darts of like-kinds will flock together, grouping but avoiding each other. Each dart has a thrust jet particle system. FFT band amplitude allows for faster acceleration for that flock and intensifies its outline color and weight. As darts of a like-kind flock, their nearby numbers increase the size and color of their "propulsion glow circle". Original song.
Oldschool 3D FFT Spectrum Analyzer with Flying Camera: github.com/RFullum/moving3DSpectrum
Classic 3D animated spectrum analyzer. Each line shows the amplitude of FFT bands through height offset. Colors also change from low to high frequencies, and again from low to high amplitude. Camera flies to random positions, always looking at center of 3D field.
Raspberry Pi Touchscreen Groove Box: https://github.com/RFullum/GrooveBox
Pure Data patch on Raspberry Pi 3a+ with 7” Touchscreen. 16x16 step sequencer + Transport + synth with Oscillator Morph, ADSR, LPF/BPF, and Output Gain. Syncs to Ableton Link via WiFi. You can transpose the sequencer up or down by semitones. Base note displayed on screen. 1/4 note, 1/8 note, or 1/16 note resolution. Tap reset button to sync up downbeats.
MIDI Note to Color-Octave Converter: https://gist.github.com/RFullum/a71bae563783326b29d8f4020936fb6a
Python script that takes MIDI input, converts MIDI note to its corresponding frequency, finds the octaves of that frequency up through the visible light spectrum, converts the frequency to RGB, and displays the color of the note on the screen.
MaxMSP Instrument Frequency Tracker & Synth Bank
Takes signal from an instrument or mic into MaxMSP. Then splits it into two chains, an Amp Modeler and an FFT Analyzer. The FFT Analyzer determines the pitch of the instrument and uses that to control any of the seven synthesizer subpatches: Saw/Sqaure Morph, Pulse Width Modulation, Vector Phase Shift, Super Saw, Frequency Modulation, and Sine Sub. Then the signal is run through effects: Ring Modulator, Sample & Hold distortion, and Stereo Widener.
The filter cutoff and resonance can be controlled remotely. Using a Raspberry Pi with a 7” touchscreen, I wrote a Processing sketch to use the touchscreen as an XY interface that then sends the coordinates via Bluetooth to my Mac laptop.
Initially I built my own FFT Analyzer, but the external sigmund~ worked better so I used that instead of mine. The Amp Modeler was based on Cycling 74’s tutorial series.
Risset Rhythm in MaxMSP: Implementation of Jean-Claude Risset’s perpetually increasing tempo using a percussive loop I created.
Shepard Tone in MaxMSP: Implementation of Shepard-Risset glissando in MaxMSP, perpetually rising.