Home Creators Posts Import Register Favorites Logout

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

Files

Comments

Jim Arbon

What a legend! Thanks for this wonderful Xmas gift, Matt! 🙏🏻

Cole

This is cool!

ezbot

Thanks, I hope you get a chance to try it!

ezbot

I'll share the open-source app version soon

Atom

I used ChordTree to for a little jam as I test my setup for Jamuary! I really enjoyed using it. https://www.youtube.com/shorts/GFZDwhfRAXo (This is also my first time using the OT period as well as the Performance Mixer Template which has been a treat.) If you are looking for feedback from that experience, here you go! If not, just ignore this :) • I think it would be useful to make the chord progression not scroll away as you look through the suggestions. • It would be dope if I could delete a single item in the chord progression. (Shift+Alt+Click?) • I found myself trying to click on the MIDI info pill shaped UI in the top right to get to MIDI settings and it took me a moment to find the MIDI button within the second section.

ezbot

Great feedback, I don’t like the auto-scroll either. I keep breaking it when I remove it. Hopefully I’ll find a solution soon

Default Netwerk

Might be harder from a web interface, but drag and drop MIDI would be killer, especially when you're using something without a keyboard, or chiclet keys like the Analog 4/Tonverk etc.

ezbot

What I do is hold a step in the step recorder on my Elektron box and press a chord on chord tree