TonicMIDI

This page is a personal project demonstrating how to build generative music with chord swells, evolving drums, melodic phrases, syncopated bass, and step-based “chance” arpeggiation. It reacts to an external MIDI clock, so press play on a hardware or software sequencer that sends clock, and the patterns will sync up automatically.

LiveLoop Connector

Use this connector to add new LiveLoops or remove them from the system. You can select a pattern type, device, MIDI channel, then create the loop on-the-fly. Removing a loop stops it immediately.

LiveLoop Mixer

A compact view of all current LiveLoops. You can adjust octaves, Mute, Solo, Volume, Pan, Delay, and Reverb sends here. If a pattern has a configuration UI, you can click its name to open it.

Energy Manager Controls

These quick switches alter “hype” (how busy/loud everything is) and “tension” (how dissonant or stable chord/melody structures become).

Real-Time LFOs

Add continuous LFO modulation to any MIDI channel, layered on top of your existing patterns.

Active LFOs:

Arrangement Sweeps / One-Shots

Schedule a single, multi-step sweep (e.g., slowly opening a filter) that starts at the next bar boundary, runs once, then finishes.

Queued Sweeps:

Try changing flavors, chord complexities, or hype/tension levels at any time. I'm continuing to build out new pattern ideas and ways of chaining them together. The goal is a simple browser-based setup that hooks to your hardware via Web MIDI, letting you spontaneously jam evolving tracks without a DAW.

Support TonicMIDI

By donating through PayPal, you can help support this project and keep it thriving. I've invested several hundred dollars to create and host TonicMIDI, and I hope to continue adding new features and improvements. Your donation will directly contribute to the project's growth and ensure its continued availability.

Also, I encourage anyone who programs JavaScript to contribute to the repository. It's easy to add devices and patterns that extend the capabilities. You can also use this as a JS library and skin with your own UI. It's a very useful library to built on top of for automating MIDI devices. The repo is at https://github.com/kmorrill/TonicMIDI?tab=readme-ov-file#readme