Chord Tree (web version) by EZBOT (Patreon)
Content
Chord Tree: https://www.modbang.com/chordtree
Yo crew! I am incredibly hyped to finally share Chord Tree for Web with everyone. It's a bit like Scaler and a bunch of other expensive theory/chordal VST's except it's completely free! This isn't just a music theory tool; it’s a dedicated inspiration machine designed to help smash writer's block and upgrade your harmony game while educating you on music theory at the same time. I designed the interface to be intuitive and also look polished. Chord Tree analyzes your current chord and suggests musically sophisticated moves like Tritone Subs, Secondary Dominants, and lush Neo-Soul voicings, all while breaking down the theory in real-time so you actually learn why it works.
But here is the killer feature for us hardware heads: Full WebMIDI support. You can route Chord Tree directly into you DAW or your or hardware Synthesizers, and audition these progressions with your own sound design. I built in performance controls like Bass Drop, Inversion Cycling, Strum Mode, Chord Centering, and even a simple Sequencer to hear progressions played back in real-time. so you can humanize the playback instantly. No installation, no friction—just open the browser, route the MIDI, and start making music. Let's get it!
This is a substantial upgrade to the console version i built first, I plan to continue to work on that app, maybe implement it into a VST or a Max patch later. This is a work in progress, so please share bugs, suggestions, or theory fails below. I am still learning and must remain teachable like anyone else.System Overview
Chord Tree is an algorithmic harmony engine and MIDI sequencer (to an extent). It utilizes transition probability and music theory logic to generate chord progressions based on a root seed. The engine prioritizes voice leading, automatically voicing chords to minimize finger movement relative to a user-defined center pitch.
Initialization & Input
Seed Chord: Enter a root and quality into the command line (e.g., Cm9, G7, AbMaj7) and press ENTER.
Random Start: Press ENTER on an empty command line to generate a randomized Neo-Soul or Jazz starting point.
Reset: Type 0 or q to clear the history buffer and reset the state.
Sequencing & Navigation
Suggestion Matrix: The system presents up to 12 harmonic options based on the current context. Shift-Click a suggestion or type its index number (1-12) to append it to the progression.
White/Purple Tags: Diatonic/Standard function.
Green Tags: Tonic/Resolution.
Orange/Red/Cyan: Exotic functions (Secondary Dominants, Tritone Subs, Borrowed Chords).
Audition: Click any node in the history chain to re-trigger the chord.
Shift-Click Chord Suggestions: Add a chord to the chord branch directly.
Transport: Press PLAY to sequence through the history buffer.
Voicing Architecture
Center Pitch: Defines the anchor point for the voicing algorithm. Click any key on the visual keyboard or type c [note] (e.g., c C4) to shift the tessitura.
Locking: Shift + Click a history node from the chord branch to "Lock" its specific voicing. Locked chords ignore global parameter changes (Bass/Inv/Center).
Global Modifiers:
BASS: Offsets the root note by 0, -1, or -2 octaves independent of the upper structure.
INV (Inversion): Cycles through Root, 1st, and 2nd inversions.
STRUM: Toggles time-staggering of note onsets (humanization).
MIDI Integration
Activation: Click MIDI or type m to initialize the WebMIDI API.
Routing:
Port: Select output hardware/virtual bus via the MIDI Modal or type mp [index].
Channel: Set output channel (1-16) via Modal or type mc [channel].
Gate: Note duration can be quantized (1/16th to Whole Note) via the MIDI settings menu.
Enjoy,
Matt