Skip to content

Contrapunk v1.1.0 — Kondo KITT

Choose a tag to compare

@waveywaves waveywaves released this 04 May 10:46
· 414 commits to main since this release

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 installer

Windows

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!


📋 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.comApp: app.contrapunk.comSource: github.com/contrapunk-audio/contrapunk