Skip to main content
let harmony = Engine.new(Palestrina);
fn detect_pitch(buf) -> Note
const MAX_VOICES: usize = 4;
voice_leading.reject_parallels()
struct GuitarInput { onset }
engine.harmonize(note, scale)
fn detect_pitch(
  buf: &[f32]
) -> Option<Note>
let voices =
  counterpoint::
    generate(line, mode);
if interval == Fifth
  && motion == Parallel
  { reject() }
#[inline(always)]
fn onset(
  frame: &Frame
) -> bool
block_size: 128
sample_rate: 48_000
latency_ms: 7.2
// Palestrina
// counterpoint
// rules.rs

HARMONY AND
COUNTERPOINT

Generate and route additional MIDI voices while you play. Works with MIDI keyboards and monophonic guitar input.

<10ms PLUCK→MIDI 4 COUNTERPOINT SPECIES 7 MODES 57 SCALES OPEN SOURCE
◆ ◇ ◆ ◇ ◆COUNTERPOINT DEMO

COUNTERPOINT DEMO

◆ ◇ ◆ ◇ ◆VERSION 1.3 DEMO
MIDI + DAW WORKFLOW

ARRANGEMENT DEMO

A live Logic session using generated harmony, canon, counterpoint, and arrangement controls.

release archive · 5 release stories · 3 reels
UPDATED JUL 22, 2026v1.3 — Holdsworth HAL

Production workspace, 13 arrangements, faster guitar tracking, DAW plug-ins, and the latest Windows plug-in reliability fixes.

VIEW RELEASE →
MAY 12, 2026v1.2.0 — Palestrina Proteus

Dedicated counterpoint lanes, named voice presets, and a rebuilt Companion workspace.

RELEASE NOTES ↗
NO DEDICATED REELThe complete release record remains available below.
MAY 10, 2026v1.1.1 — Kondo KITT Patch

Counterpoint species fixes and the first universal macOS installer.

RELEASE NOTES ↗
NO DEDICATED REELThe complete release record remains available below.
MAY 4, 2026v1.1.0 — Kondo KITT

Performance controls, notation history, MIDI Learn, internal synthesis, and CLAP hosting.

RELEASE NOTES ↗
APR 4, 2026v1.0.0 — First Release

The original desktop, browser, harmony, and guitar-to-MIDI release.

RELEASE NOTES ↗
◆ ◇ ◆ ◇ ◆HARMONY MODES

DIATONIC FOURTHS

+3 scale degrees above melody
Chromatic fallback when out of key
Open / quartal sound
Stateless
LIVE · CLICK A FRET
E2A2D3G3B3E43579121517192124
◆ ◇ ◆ ◇ ◆VOICE LEADING

PALESTRINA

16th-century strict species

MotionMostly stepwise
VoicingTight
Common tonesHeld when possible
Contrary motionEncouraged
LIVE · CLICK A FRET
E2A2D3G3B3E43579121517192124
◆ ◇ ◆ ◇ ◆PLUGIN HOST
CLAP · HOSTED IN-APP

CLAP INSTRUMENT HOST

Load a CLAP instrument in the standalone app and route generated MIDI directly to it.

CLAP PLUGIN HOST · clack-host
SLOT 01 · INSTRUMENT
VITAL.clap
wavetable · 2 in · 2 out
HARMONY
→ MIDI →
PLUGIN
→ AUDIO →
OUT
CLAP ABI · SAFE WRAPPER · GUI, LOG, AUDIO-PORTS, NOTE-PORTSROUTING HARMONY → INSTRUMENT
◆ ◇ ◆ ◇ ◆AVAILABLE FORMATS
BROWSER · DESKTOP · SOURCE

RUN CONTRAPUNK

DESKTOP
NATIVE APP
TAURI V2 · NATIVE · OFFLINE
  • ✓ Full engine · 7 harmony modes · 57 scales
  • ✓ Hosts CLAP plugins inside the app
  • ✓ macOS DMG, Windows, Linux
  • ✓ Your audio never leaves your machine
BROWSER
WEB APP
APP.CONTRAPUNK.COM · WASM
  • ✓ Same Rust core, compiled to WebAssembly
  • ✓ WebMIDI out to DAWs and hardware
  • ✓ Computer-keyboard, MIDI, and microphone input
OPEN IN BROWSER →
SOURCE
MIT LICENSE
BUILD FROM SOURCE WITH CARGO TAURI
  • ✓ Build the desktop, browser, and plug-in surfaces
  • ✓ Use the harmony engine in other projects
  • ✓ Read, modify, and redistribute the source
  • ✓ Rust + Tauri + WASM on one repo
CLONE THE REPO →
◆ ◇ ◆ ◇ ◆OPEN PROJECT
SOURCE · DISCUSSION · CONTRIBUTION

JOIN THE PROJECT

Contrapunk is developed in public. Verify the work, ask a question, or contribute a focused change.

01 · SOURCE

Inspect the engine

Read the Rust harmony engine, open issues, and review every merged change in public.

Browse the repository ↗
02 · DISCUSS

Join the conversation

Ask setup questions, compare musical workflows, and share reproducible feedback with other users.

Join Discord ↗
03 · CONTRIBUTE

Change the project

Report a bug or propose a focused pull request. The contribution guide explains the review path.

Read the guide ↗
◆ ◇ ◆ ◇ ◆FUN FACT
1970s INDONESIAN PROG ROCK

There was a 1970s Indonesian progressive rock band also called Contrapunk that released an album called"Putri Mohon Diri". They blended traditional Indonesian instruments, intense guitar work, and classical influences.Listen on YouTube.

AVAILABLE FORMATS

BROWSER, DESKTOP,
OR SOURCE.

Browser at app.contrapunk.com. macOS DMG from GitHub Releases. Build from source with cargo tauri dev.