Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: A singing synthesizer for the browser with algorithmic 3-part harmony (pbat.ch)
3 points by zebproj 34 days ago | hide | past | favorite | 2 comments
Hello HN!

This is a demo I built during my batch at the Recurse Center. It's built using WebAudio, WebAssembly (via Rust), and the Canvas API. The source code for this demo, along with my other vocal synthesis related RC demos[0], can be found at a monorepo[1] where I've been dumping all my RC work and logs.

The sound is generated using a physical model of the human singing voice, using a work-in-progress project called VoxBox [2].

The harmonization is done using something that kind of resembles a markov chain. Only, instead of using weighted probabilities and randomness, I use a selection heuristic that chooses a chord based on how often it has been used and how much voice movement is required.

Thanks for reading! Happy to answer any other questions.

0: https://pbat.ch/recurse/demos/

1: https://github.com/PaulBatchelor/Recurse/tree/main/scratch/t...

2: https://github.com/paulBatchelor/voxbox




Wow this is awesome. I've been wanting to do some rust WASM. Can you share a little bit about your experience? To me the workflow always felt a little clunky having to run custom scripts to generate the WASM. Hopefully the developer experience has improved since those days?


Sounds great!

I wish there was a little more ring out when releasing the mouse.

But otherwise, very nice harmonies!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: