200 points | by zebproj1 day ago
https://artsandculture.google.com/experiment/blob-opera/AAHW...
I thought there was some repo public with C++ code, but I can't find it anymore... (https://github.com/belaPlatform)
EDIT: stupid me, it's linked in the article: https://github.com/giuliomoro/pink-trombone
... not song.-
Some details:
The source code for this project can be found on github [0].
I am using an AudioWorklet node with custom DSP using Rust/WebAssembly. Graphics are just done with the Canvas API. The voice leading is done algorithmically using a state machine with some heuristics.
The underlying DSP algorithm is a physical model of the human voice, similar to the model you'd find in Pink Trombone [1], but with some added improvements. The DSP code for that is a small crate [2] I've been working on just for singing synthesizers based on previous work I've done.
0: https://github.com/paulBatchelor/trio
Apologies for the late comment, but I had a query I wanted to share.
Would it be possible for you to create a tool that allows users to mimic human emotional sounds directly in the browser? I’m thinking of sounds like realistic coughs, sighs, gasps, and other vocal expressions like shouting or crying etc . It would be amazing if the tool could optionally incorporate TTS, but even without it, the functionality would be very valuable for content creators or people who need custom sound effects.
The idea is to let users customize these sounds by adjusting parameters such as intensity, pitch, and duration. It could also include variations for emotional contexts, like a sad sigh, a relieved sigh, a startled gasp, or a soft cough. An intuitive interface with sliders and buttons to tweak and preview sounds in real-time would make it super user-friendly, with options to save or export the generated audio much like the project pinktrombone
I’m quite new to this field and only have basic experience with HTML, CSS, and JavaScript. However, I am very much interested in this area and I was wondering if this is something that could be achieved using tools like CursorAI or similar AI-based solutions? Or better yet, is it possible for you to create something like this for people like me who aren’t very tech-savvy?
Thank you so much
What a beautiful idea. Sadly, I do not think I currently have the skills required to build such a tool.
The underlying algorithms and vocal models I'm using here are just good enough to get some singing vowels working. You'd need a far more complex model to simulate the turbulent airflow required for a cough.
If you suspend disbelief and allow for more abstract sounds, I believe you can craft sounds that have similar emotional impact. A few years ago, I made some non-verbal goblin sounds [0] from very simple synthesizer components and some well-placed control curves. Even though they don't sound realistic, character definitely comes through.
Android Chrome with touch input (Pixel 8 Pro).
Holding down a note and waiting will cause a second, then a third not to appear. When you move your held, note to another pitch, the other pitches will follow, but with a bit of delay. This produces what is known as staggered voice leading, and produces interesting "in-between" chords.
It's written in JavaScript and Rust (compiled to WASM).
A toggle for quickly visualizing notes would also be useful, as well as keyboard shortcuts — perhaps while one clicks the mouse on a given note, pressing the keyboard shortcut for another specific note gradually moves pitch in that direction, with programmable speed.
Can we have multiple voices when using multiple fingers please?
Edit: I can't sing or play music but this is making me feel like I am making someone sing nicely, it's relatively lot easy to play with.
Perhaps some samples you or visitors create?
Then add a little sampler for beat and it’s a fantastic tool
https://www.moogmusic.com/products/etherwave-theremins/there...