RUST · WASM · VST3 · CLAP · AU
ENGINE ARCHITECTURE
One Rust harmony engine is shared by the desktop, browser, VST3, CLAP, and Audio Unit builds. The implementation is available in /src/harmony.
◆ ◇ ◆ ◇ ◆VOICE-LEADING SOLVER
FOUR STYLE PRESETS · STRUCT-LEVEL WEIGHTS
VOICE-LEADING SCORING
The solver enumerates legal voice combinations, removes candidates that violate hard rules, and ranks the rest with configurable weights.
PALESTRINA
16th-century strict species
| Motion | Mostly stepwise |
| Voicing | Tight |
| Common tones | Held when possible |
| Contrary motion | Encouraged |
LIVE · CLICK A FRET
—
◆ ◇ ◆ ◇ ◆VOICE REGISTERS
SATB · FIXED MIDI RANGES
VOICE REGISTER CONSTRAINTS
Candidate notes are constrained to each voice's register before scoring. A centering weight selects the initial placement.
SOPRANOC4–C6
ALTOG3–E5
TENORC3–A4
BASSE2–E4
MIDI 36 — 84 · CENTER MARK = FIRST-CHORD PREFERENCE
◆ ◇ ◆ ◇ ◆PLUGIN HOST
CLAP · clack-host
CLAP INSTRUMENT HOST
The standalone app can load a CLAP instrument, route generated MIDI to it, and mix its audio output.
CLAP PLUGIN HOST · clack-host
SLOT 01 · INSTRUMENT
VITAL.clap
HARMONY
→ MIDI →
PLUGIN
→ AUDIO →
OUT
CLAP ABI · SAFE WRAPPER · GUI, LOG, AUDIO-PORTS, NOTE-PORTSROUTING HARMONY → INSTRUMENT
◆ ◇ ◆ ◇ ◆THE STACK
CORE
Rust · no_std-friendly
/src/harmony, /src/dsp
DESKTOP
Tauri v2
native window · plugin host
BROWSER
WASM · Web Audio API
same core · no install
MIDI
midir · virtual ports
route into any DAW
AUDIO
cpal · CoreAudio/ASIO
lock-free ring buffers
PLUGINS
clack-host · CLAP
GUI, log, audio + note ports
AVAILABLE FORMATS
BROWSER, DESKTOP,
OR SOURCE.
Browser at app.contrapunk.com. macOS DMG from GitHub Releases. Build from source with cargo tauri dev.