Show HN: Contrapunk – Real-time counterpoint harmony from guitar input, in Rust

Guitar in, instant choir out — fans cheer, skeptics want demos

TLDR: Open-source app Contrapunk turns a single guitar into real-time, multi-voice harmony that follows classic music rules with ultra-low lag. The crowd is excited but pushes for proof: share audio demos, add automatic key detection, and explain note dynamics—enthusiasm meets a show-us-what-it-sounds-like challenge.

Hacker News is buzzing over Contrapunk, a tool that turns your guitar into instant harmonies in real time using centuries‑old counterpoint rules (think Bach choir logic). Creator waveywaves claims sub‑10ms lag and support on desktop, browser, and studio rigs. It listens to your playing and adds smart, rule‑based voices across modes from Palestrina to Jazz. It’s open source, and the maker’s vibe is simple: these musical rules belong to everyone.

The crowd reaction is equal parts hype and homework. Enthusiasts are cheering, but the loudest chorus: post sample recordings now. Next demand: stop asking players to set the key and auto‑detect it. One commenter also asks about velocity, plain‑speak for how loud each harmony note is, and how dynamics are chosen. Rust fans are fist‑bumping, while players wonder if it will track sloppy bends and fast runs. Jokes fly about summoning ghost Bach for a duet, then flipping to smoky‑club Jazz the next bar. The mini‑drama is classic HN: bold latency claims versus pics‑or‑it‑didn’t‑happen energy. Verdict so far: huge promise, but the room wants to actually hear it sing.

Key Points

  • Contrapunk is a real-time MIDI harmony generator and guitar-to-MIDI converter built in Rust.
  • It targets sub-10ms latency and applies formal counterpoint rules to generate harmonies.
  • The system offers 8 harmony modes (e.g., Palestrina, Bach, Jazz, Free) and 28 scale modes with deterministic voicing.
  • It supports real-time pitch detection, onset tracking, and auto-calibration for accurate input tracking.
  • Available on desktop (Tauri), browser (WebAssembly), and server modes, and released under the MIT license.

Hottest takes

"I built Contrapunk because I wanted to play guitar and hear counterpoint harmonies generated in real-time." — waveywaves
"post some sample recordings," — marssaxman
"Wow that's is really cool!" — r2ob
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.