Contrapunk v1.1.0 — Kondo KITT
Contrapunk v1.1.0 — Kondo KITT
Real-time MIDI harmony generator with classical voice leading rules, built in Rust. Plug in your guitar or MIDI keyboard, hold a chord, and Contrapunk plays counterpoint with you. Native (macOS/Linux/Windows via Tauri) and browser (WASM) — same engine, both targets.
Try it now: app.contrapunk.com
TL;DR
- 🎛️ Performance view — simplified 8-knob layout, knobs auto-bound to your MIDI controller (MPK Mini preset out of the box, MIDI Learn for any controller)
- 🎵 Music notation history — every chord moment you play renders on a live grand staff via VexFlow
- 🔊 Internal synth support — built-in 8-voice polyphonic synth so you hear the harmony engine without configuring an external synth
- 🔌 CLAP plugin support — load third-party CLAP plugins for FX
Highlights
🎛️ Performance view + MIDI Learn (#87, #88)
A simplified 8-knob layout for live performance — the full Advanced view is still there, but the Performance view is what you reach for when you want to play, not configure. Knobs MIDI-Learn-able to any CC; the MPK Mini preset ships as the default, so you plug in and the knobs already work.
🎼 Sheet-music history strip (#52)
Every chord moment renders on a live grand staff (treble + bass) via VexFlow. Color-coded: teal = your input, magenta = generated harmony, violet = modal interchange. 16-moment rolling window, pushes the oldest off the left edge.
🔊 Internal synth support
Built-in 8-voice polyphonic synth with sine/saw/square/triangle waveforms, ADSR, low-pass filter — enough to hear the harmony engine without configuring an external synth. Plus an audio chain framework with reverb + delay FX and dynamic chain mutation via lock-free SPSC commands.
🔌 CLAP plugin support
Load third-party CLAP plugins as audio effects: port-aware audio routing, embedded + floating GUI windows, lock-free chain mutation. The companion architecture work (see "Behind the scenes" below) maps out multi-format support (VST3 / AU / LV2) coming in v1.2.0.
🚀 Try it
Browser
👉 app.contrapunk.com — works on Chrome / Edge / Firefox with Web MIDI
Native (build from source)
git clone https://github.com/contrapunk-audio/contrapunk.git
cd contrapunk
cargo tauri dev # runs in dev mode
# or
cargo tauri build # produces native installerWindows
Download Contrapunk_1.1.0_x64-setup.exe from the assets below — NSIS installer for Windows x86_64. (Standalone contrapunk-tauri.exe also attached for portable / dev use.)
macOS (Apple Silicon)
Download Contrapunk_1.1.0_aarch64.app.zip from the assets below — unzip and drag Contrapunk.app to /Applications. First launch: right-click → Open to bypass Gatekeeper (build is unsigned). Intel macOS not yet packaged; build from source.
Linux
Build from source via cargo tauri build — pre-built installers coming in a later release.
Thanks
Thanks to these contributors who contributed to v1.1.0!
- ❤️ @waveywaves
- ❤️ @app/dependabot
📋 Full changelog
Compare view: v1.0.0...v1.1.0
PRs included (chronological):
#42–#54 (UI typography, fretboard, piano, sheet-music history strip, view modes, voice routing, settings polish)
#59 (per-voice output routing infrastructure)
#60–#67 (UI/outputs voice picker, browser transport, audio synth, MIDI routing UX)
#69 (Enable MIDI permission button)
#71 (CI: website-compat job)
#72 (compact settings + output status dots)
#80 (fix: shared HarmonyEngine across handlers + router)
#83 (guitar pipeline debug window)
#84 (CI: Dockerfile crates copy)
#87 (Performance view scaffold)
#88 (MIDI Learn + MPK Mini preset)
#89 (BPM-clock + pattern programmer — pattern subsequently removed)
#92 (UI polish for jam)
🎵 Built with: Rust • Tauri v2 • SvelteKit • cpal • midir • wmidi • VexFlow • CLAP
🌐 Web: contrapunk.com • App: app.contrapunk.com • Source: github.com/contrapunk-audio/contrapunk