top of page

Ableton Playthrough

Max and bitKlavier Playthrough

AudioArpeggiator
Audio arpeggiator pitch shifts incoming audio through an arpeggiator. The pitch shifting is done in pfft~ with the gizmo abstraction that comes with Max.
The number of frequency bins in pfft~ is set to be 512 so it is decently responsive and has an artifact-rich sound that gives the effect a gritty character.

McGizmo~Harmonizer
McGizmo~Harmonizer is a multi-channel harmonizer built using the gizmo~ abstraction inside mc.pfft~. It processes incoming audio into multiple pitch-shifted voices, each running in parallel, and leans a bit into the gritty side being rich in artifacts.
Additionally, you can feed the harmonized output back into itself, introducing layers of pitch-bending strangeness and evolving textures.  There is an adjustable pan that can also be set to random.

MCGizmo~Harmonizer.png

MCPitchshift~Harmonzer
MCPitchshift~Harmonizer is a harmonizer that uses the mc.pitchshift~ object to process incoming audio with ZTX-based pitch shifting for high-quality results.
You can control the number of harmonizing voices and adjust their amplitude levels using the AmpFading dial. The Smooth parameter enables interpolation between pitch values (when set above zero) it can create rich and dissonant glissando-like transitions across voices.
Compared to my other gizmo~-based harmonizer in pfft~ in Max, this version offers a noticeable cleaner, and arguably better, sound. 

MicrotonalPitchShifter​
MicrotonalPitchshifter is inspired by the concept of microtonal modulations, where you change what the tonic of the song is, not by semitones, but by microtones.
At the heart of this device is a stereo pitchshifter in pfft~, the pitch shift amount of which is being controlled by a simple random number generator that allows you to modulate randomly within a set range. 
You can set the width of the range it can wander about in cents (1/100th of a semitone) and how many steps are within that range (a kind of microtonal EDO system, that is that it divides the interval equally, but not fixed to the size of an octave). You can also interpolate from one position to the next. 
The range goes both up and down, so if you choose 0.5 that means the range is going to be a quarter tone up and down, for a total range of 1 semitone.

VocalHarmonizer
VocalHarmonizer is a 5 voiced pitch and harmonization processor for real-time vocal pitch shifting. It comes with a few different modes of operation, each one offering distinct pitch shifting options, as well as having a built in reverb and a selection of tuning systems and detuning.
Modes of Operation:
- Classic Vocoder Mode: Forces all incoming pitch to a fixed value.
- Pitch Tracking Mode: Follows the incoming vocal melody, allowing it to be offset by an interval while maintaining its melodic contour.
- Notes in Octave Mode: Quantizes pitch to a user-defined set of notes, across all octaves.
- PlayedMIDI: Allows you to harmonize your voice to the pitches of a MIDI keyboard, or MIDI file. 
*NOTE in Ableton you need to add the vocal harmonizer onto an audio track, and send MIDI from a MIDI track to the audio track with the VocalHarmonizer device in Played MIDI mode.
Pitch tracking is handled by the retune~ object that comes with Max. The analysis data is then routed to a second retune~ object that applies the actual harmonization. The input signal can be compressed before analysis for more consistent pitch detection.

Params
Amp1–Amp5 – Controls the output gain for each of the 5 harmonized voices.
AmpRvrbPanTuningDetuningTab – Switches the parameter focus in the UI to Amp, Reverb, Pan, Tuning, or Detuning settings.
AttackTimeMs – Sets an attack envelope for voices when in PlayedMIDI mode
DecayTimeMs – Sets a decay envelope for voices when in PlayedMIDI mode
DetuneCents – Applies micro detuning to voices within ±100 cents.
DryVol – Controls the volume of the original, unprocessed signal.
DryWet – Blends between dry (original) and wet (processed) vocal signal.
Flush1–Flush5 – Clears stuck notes for each individual voice.
FlushAll – Clears all stuck notes for all voices.
FlushPlayedMIDI – Clears all sustained notes in Played MIDI mode.
HarmVol – Controls the volume of the harmonized signal’s overall level.
HarmonizationType – Chooses the harmonization mode: Classic Vocoder, Pitch Tracking, Notes in Octave, or Played MIDI.
Input – Set Input Volume
NotesInOctaveRandomChord – Creates a random chord and sends it to all 5 voices
NotesInOctaveRandomChords – Creates random chords and sends it to all 5 voices
Output – Adjust the output volume
PanWidth – Controls stereo spread of the harmonized voices.
PitchTrackingHarm1–Harm5 – Sets interval offset (in semitones) for each voice in Pitch Tracking mode.
QuantizedOrSmoothPitchTracking – Toggles between smooth pitch tracking or quantized note tracking.
RandDetuneCents – Sets a random range for micro detuning (in cents).
RandomDetuneOnOff – Enables/disables random detuning.

RandomDetuneSmoothing – Smooths how quickly detuning changes over time.
RandomDetuneSpeed – Sets the rate at which random detuning values change.
RandomFloatPTracking – Adds random float offsets to pitch values in Pitch Tracking mode.
RandomFloatVoc – Adds random float offsets to pitch values in Vocoder mode.
RandomIntPTracking – Adds random integer offsets (in semitones) to Pitch Tracking.
RandomIntVoc – Adds random integer offsets (in semitones) to Vocoder mode.
RandomPanOnOff – Enables randomized stereo panning of voices.
ResetDetuning – Resets all detuning parameters to 0.
+
Root1, Root2 – Sets root notes for scales or harmonies (used in tuning systems).
RvrbDamping – Controls the damping of the reverb.
RvrbDiffusion – Adjusts how diffused (blurry) the reverb reflections are.
RvrbDryWet – Mixes between dry input and reverb signal.
RvrbSize – Sets the size of the virtual space for the reverb.
RvrbTime – Sets the decay time of the reverb tail.
Tuning1, Tuning2 – Sets or loads alternate tuning systems or scales for harmonization.
TuningInterpolate – Crossfades between two tuning systems (Tuning1 and Tuning2).
VocPitch1–VocPitch5 – Sets the fixed pitch output (in semitones) for each voice in Classic Vocoder mode.
VocalCompOnOff – Toggles a built-in compressor before pitch detection to improve tracking accuracy.

VocalPitchshifter
VocalPitchshifter is a pitch and harmonization processor for real-time vocal pitch shifting. 
Modes of Operation:
- Classic Vocoder Mode: Forces all incoming pitch to a fixed value.
- Pitch Tracking Mode: Follows the incoming vocal melody, allowing it to be offset by an interval while maintaining its melodic contour.
- Notes in Octave Mode: Quantizes pitch to a user-defined set of notes, across all octaves.
The pitchshift number box allows you to affect the pitch of the incoming signal when in ClassicVocoder and PitchTracking Mode. Detune (Cents) adds microdetuning within ±100 cents on top of that pitchshift amount.
Pitch tracking is handled by the retune~ object. The analysis data is then routed to a second retune~ object that applies the actual harmonization. The input signal can be compressed before analysis for more accurate pitch detection.

bottom of page