https://contrapunk.com/ 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) Contrapunk GETTING STARTED CLOUD LAUNCH APP Contrapunk CONTRAPUNK Real-time MIDI harmony generator and guitar-to-MIDI converter. Proper counterpoint rules. Sub-10ms latency. Built in Rust. TRY IN BROWSER DOWNLOAD FOR MAC GET STARTED Free. No login. Browser works in Chrome with any MIDI controller. CONTRAPUNK WITH A GUITAR 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. [ ] GET EARLY ACCESS You're in! Download the Mac DMG here or see install instructions. No spam. Just a heads up when Cloud launches. HARMONY ENGINE 8 harmony modes with real counterpoint rules. Palestrina, Bach, Jazz, Free. 28 scale modes. Deterministic voicing. GUITAR INPUT Plug in your guitar. Real-time pitch detection, onset tracking, auto-calibration. Play guitar, hear counterpoint. [?] SUB-10MS LATENCY Single-cycle detection, 2-frame voting, 128-sample buffers. Fast enough for live performance. RUNS EVERYWHERE Native desktop via Tauri. Browser via WebAssembly. Server mode for studios. Same Rust core everywhere. VOICE LEADING Parallel fifths rejection. Voice crossing prevention. Spacing rules. Centuries of music theory, in code. OPEN SOURCE MIT licensed. Counterpoint rules are centuries of human knowledge. They should be accessible to every musician. FUN FACT 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. [logo] CONTRAPUNK AUDIO BUILT WITH RUST, SVELTEKIT, TAURI, AND A DEEP LOVE FOR MUSIC. GITHUB