Drop or tap to upload audio. KAOSBRK runs onset detection and classifies each slice (kick, loud snare, ghost, closed hat, open hat). The waveform shows slice boundaries colored by class.
0.50× to 2.00×. Above 1.00× raises pitch (faster, brighter), below lowers it.Sixty-nine scales across eight traditions feed the lead, pitched snare, sub bass, and pad. The synth engine renders fractional intervals as true quarter tones, so the Arabic maqamat are not approximations.
major (ionian) through locrian.bhairav, yaman, todi, marwa, malkauns, and hamsadhwani.rast, bayati, saba, sikah, and huzam use half-flat degrees that render at the correct frequency.hirajoshi, in-sen, iwato, yo, akebono, miyako-bushi, ryukyu, plus pelog and slendro.bebop dominant (mixolydian with added natural 7), bebop major (major with added ♭6), bebop dorian (dorian with added natural 3), and bebop melodic minor (melodic minor with added ♭6). This chromatic-passing convention is the genuine bebop invention, codified later by Barry Harris.major 6 diminished and minor 6 diminished share pitch content with bebop major and bebop melodic minor but serve as Harris's scale-of-chords system, alternating tonic 6th harmony with diminished 7th harmony on adjacent scale degrees. augmented is the six-note Slonimsky / Coltrane cycle scale (two augmented triads a semitone apart) that maps cleanly onto the "Giant Steps" major-third key centers. symmetric diminished is the whole-half octatonic used over dim7 chords. lateef synthetic is the tritone-symmetric eight-note collection from Yusef Lateef's Repository of Scales and Melodic Patterns, useful over dominant-seven harmony. The altered scale jazz musicians call the "diminished whole-tone" is already in this catalog as super locrian (same pitches, same function).Generation uses phrase-aware contour shaping, weighted step/leap motion (65/25/10), and meaningful prime-label transformations (octave peak, scale-step transpose, neighbor embellishment, climax leap, melodic inversion). The pad voicing derives its third and fifth from the active scale, so maqam pads get quarter-tone triads automatically. MIDI export rounds microtonal pitches to the nearest semitone since MIDI 1.0 has no quarter-tone byte.
Four melody-motion controls sit directly under the scale picker. They reshape what the lead actually does without touching the underlying scale or rhythm.
0 is C4-centered (current default). +1 or +2 lifts the lead into a piercing register; -1 or -2 drops it into a brooding one. The sub bass stays locked to C2 to B2 regardless, so it never drifts out of bass range when the lead climbs.1 keeps the lead in roughly one octave (the original behavior). 2 doubles the available range; 3 triples it. Step/leap distribution adapts: wider spread permits occasional five- and seven-degree leaps so the contour actually traverses the larger space rather than crawling. The first note recenters to the middle of the extended range, giving the contour room on both sides.↑ climbs, ↓ falls, ↕ goes up then back down, oct jumps the same pitch class through octaves, and rnd walks randomly through the scale window. The window width follows SPREAD: spread 2 climbs through two octaves, spread 3 through three. Arp pitches snap to the active scale, so maqam arpeggios are quarter-tone accurate. Velocity alternates strong/weak inside each burst for groove rather than a robotic stream.1/8 is one note per two steps, 1/12 is quarter triplets (twelve per bar, J Dilla / halftime swing), 1/16 is one per step, 1/24 is eighth triplets (drill / footwork feel), 1/32 doubles up to two notes per step, and rnd picks a fresh random rate for each arp burst (per melody note). The actual note count of each burst is rate times span length, so longer gaps in the melody fill with more arp notes automatically. With rnd active, the rate stays consistent within a burst and only changes between bursts, so each melody note triggers a rhythmically coherent run at a different subdivision; the seeded RNG keeps this reproducible per seed. This pairs especially well with rnd direction: each burst gets a fresh pitch sequence at a fresh tempo, ideal for breakcore and glitch contexts.All four controls feed live MIDI out and the .mid export. Microtonal arp pitches round to the nearest semitone for MIDI, same convention as the rest of the file. Defaults (OCT 0, SPREAD 1, ARP off) reproduce the prior generator behavior bit-for-bit on the same seed.
A reference preset loads a complete recipe (style, time sig, BPM, scale, faders, FX). custom keeps your current settings untouched.
AABA repeats with a bridge, ABAC' climaxes at the end, and so on.Three vertical faders shape generation behavior. Each runs 0 to 1.
0 is the bare skeleton, 1 is maxed-out fill.0.5 the break starts eating itself.Pitch labels: lead cells show the absolute note name (with a `~` suffix for quarter tones). Pad cells show the chord-root note name in the upper left. Sub cells show the note name only when pitched away from the default C2, keeping generated patterns visually clean. The pitched-snare cell shows a semitone offset since the snare is tuned to a base frequency rather than a specific MIDI note.
wet mixes it in, delay sets the period from 2 to 80 ms, feedback sets resonance (up to 0.92).bits reduces bit depth from 14 down to 2 for stair-stepped quantization noise. rate divides the sample rate by an integer factor from 1 to 20, producing the aliased shimmer that defines real bitcrushers. Use bits alone for crude digital quantization, rate alone for telephone or vintage-sampler character, both together for full early-1990s digital squalor.wet mixes it in, amount sets curve hardness (tanh-shaped, 4× oversampled to suppress aliasing in the saturator itself). tone is a post-saturation lowpass from 200 Hz (dark, muffled) to 16 kHz (open, transparent). Pull tone down to soften the harsh upper harmonics that saturation creates without losing the body of the distortion.Each voice has a vertical fader, pan knob, and S/M (solo/mute). Fader range is −∞ to +3 dB with unity at 0. The MAST strip on the right is the master output, with meter and master mute.
Note: the LD (lead) channel is muted by default. Unmute it if you want the melodic lead in your output.
init opens Web MIDI and lists outputs. Choose a port and KAOSBRK sends notes as the pattern plays. Routing is fixed and GM-compatible:
| voice | ch | note |
|---|---|---|
| KK kick | 10 | 36 |
| SN snare | 10 | 38 |
| CL clap | 10 | 39 |
| CH closed hat | 10 | 42 |
| OH open hat | 10 | 46 |
| RM rim | 10 | 37 |
| TM tom | 10 | 41 |
| PC perc | 10 | 56 |
| LD lead | 1 | melody |
| PD pad | 2 | chord |
| SB sub | 3 | bass |
panic sends all-notes-off across every channel. mute audio silences local Web Audio output while still sending MIDI, so you can drive Logic or a hardware synth without doubling.
Exports always reflect what you're currently hearing. Drag BPM or swing before rendering and the .wav, .mid, and live MIDI output all match.