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)
COMING SOON

CONTRAPUNK CLOUD

AI is not going to kill music as long as people keep playing music together. So let's jam!

Low-latency audio meets real-time counterpoint harmony across players. Not just an audio pipe. A musically intelligent network.

GET CONTRAPUNK

Enter your email to download the Mac app and join the Contrapunk Cloud waitlist.

WHAT WE'RE BUILDING

LOW-LATENCY JAMMING

Real-time audio networking built on the same Rust DSP core that gives Contrapunk sub-10ms local latency. Optimized for music, not just voice.

HARMONY ACROSS PLAYERS

Play a melody. Your bandmate plays another. Contrapunk generates counterpoint harmony across both inputs in real-time. Musical intelligence, not just audio relay.

SHARED SESSIONS

Create a room, share a link, start playing. Key detection, chord analysis, and voice leading happen automatically across the session.

RECORD AND LAYER

Not online at the same time? Record your part, share it, let others layer on top with Contrapunk generating harmony across all voices.

TRY CONTRAPUNK NOW

Contrapunk is already free and open source. Try it while you wait.