top | item 43873074

Show HN: I built a synthesizer based on 3D physics

512 points| humbledrone | 11 months ago |anukari.com | reply

I've been working on the Anukari 3D Physics Synthesizer for a little over two years now. It's one of the earliest virtual instruments to rely on the GPU for audio processing, which has been incredibly challenging and fun. In the end, predictably, the GUI for manipulating the 3D system actually ended up being a lot more work than the physics simulation.

So far I am only selling it direct on my website, which seems to be working well. I hope to turn it into a sustainable business, and ideally I'd have enough revenue to hire folks to help with it. So far it's been 99% a solo project, with (awesome) contractors brought in for some of the stuff that I'm bad at, like the 3D models and making instrument presets/videos.

The official launch announcement video is here: https://www.youtube.com/watch?v=NYX_eeNVIEU

But if you REALLY want to see what it can do, check out what Mick Cormick did with in on the first day: https://x.com/Mick_Gordon/status/1918146487948919222

I've kept a fairly detailed developer log about my progress on the project since October 2023, which might be of interest to the hardcore technical folks here: https://anukari.com/blog/devlog

I also gave a talk at Audio Developer Conference 2023 (ADC23) that goes deep into a couple of the problems I solved for Anukari: https://www.youtube.com/watch?v=lb8b1SYy73Q

123 comments

order
[+] AaronAPU|11 months ago|reply
Glad I’m not the only audio developer around here.

The landing page needs an immediate audio visual demo. Not an embedded YouTube but a videojs or similar. Low friction get the information of what it sounds and feels like immediately.

My 2 cents

[+] kookamamie|11 months ago|reply
Exactly. Had to scroll for ages to find anything to do with demo audio. A good demo song/track should be the first thing on the page, I think.
[+] senbrow|11 months ago|reply
1000% - I had to be able to find something listenable
[+] jahnu|11 months ago|reply
> Glad I’m not the only audio developer around here

There are a few of us :)

This synth is very cool. Highly original. Kudos.

[+] deng|11 months ago|reply
This looks incredible! But to be honest, it also looks incredibly daunting.

As a programmer and former physicist, I'm fascinated. As a musician, I'm not sure. At the moment, my feeling is that your landing page primarily addresses me as a programmer/physicist, and I'll definitely try it. But if you also want to sell this to musicians, what is really missing are more complex sound examples, like a tour of the existing presets and how you can manipulate them. There is your introduction video, but to be perfectly honest, the sounds you feature there do not really impress me. From what I can hear there, it very much sounds like the already existing physical modeling plugins, for instance AAS Chromaphone, and I already have plenty of those and they are much easier to use (also, their product page is a good example on how to sell a product to musicians). I can see of course that your VST allows me to dive much deeper into the weeds, and as a programmer/physicist I'm interested, but the musician in me is doubtful if the invested work will be worth with.

Again, this looks awesome, and I really hope you can make this into a business, so please see my critique above as encouragement.

[+] deng|11 months ago|reply
OK, I've played around with the demo and insta-bought it, if just to support you. This is incredible work.
[+] nayuki|11 months ago|reply
This reminds me of the reverse, where music drives 3D animations. I remember Animusic from the early decade of 2000.

https://en.wikipedia.org/wiki/Animusic , https://www.animusic.com/ , https://www.youtube.com/results?search_query=animusic , https://www.youtube.com/@julianlachniet9036/videos

[+] humbledrone|11 months ago|reply
I'm a huge fan of Animusic. I remember seeing it for the first time in some big fancy mall in LA and they had it projected on a wall, and I was blown away. It was absolutely an inspiration! Animusic -type ideas are a big part of why I made the 3D graphics fully user-customizable, for anyone who wants to go deep down that rabbit hole.
[+] omneity|11 months ago|reply
This rings such a vague and distant bell...

I'm several videos in and totally hooked, thank you for sharing. This would be an amazing interactive music app in VR, both to perform and to record trippy music videos.

[+] mjcohen|11 months ago|reply
I have the first two Animusic reels (vhs and dvd) and thought they were great. Unfortunately, the creator scammed people by taking money for Animusic 3 and then not making anything.

Most of them are on youtube.

[+] tarentel|11 months ago|reply
Not sure I'll ever use this as it seems like a lot of work but wanted to say thank you for allowing me to download a demo without giving an email.

Also, even though I said I wouldn't use it, something that would be nice is a master volume, maybe I missed it. I often use VSTs standalone and being able to change the volume without messing with the preset would make it a bit easier to use.

Definitely the most interesting synth I've ever seen.

[+] humbledrone|11 months ago|reply
Thanks, yeah, it really should have master volume -- you didn't miss it, it's just not there yet!
[+] airstrike|11 months ago|reply
Really cool stuff! I would suggest putting a 60-second video at the very top of the page that stitches together short clips of the many ways it is awesome.
[+] florilegiumson|11 months ago|reply
Really cool to see GPUs applied to sound synthesis. Didn’t realize that all one needed to do to keep up with the audio thread was to batch computations at the size of the audio thread. I’m fascinated by the idea of doing the same kind of thing for continua in the manner of Stefan Bilbao: https://www.amazon.com/Numerical-Sound-Synthesis-Difference-...

Although I wonder if mathematically it’s the same thing …

[+] sunray2|11 months ago|reply
Thank you for this, it looks very cool!

Remind me of Korg's Berlin branch with their Phase8 instrument: https://korg.berlin/ . Life imitates art imitates life :)

I highly support and encourage this. Is there a way I could contribute to Anukari at all (I'm a physicist by day)? These kinds of advancements are the stuff I would live for! However I should stay rooted in what's possible or helpful: I'm not sure if this is open-source for example. As long as I could help, I'm game.

[+] humbledrone|11 months ago|reply
For the foreseeable future I'm just going to be working on stability/performance, but eventually I will get back to adding more cool physics stuff. It's not open-source, but certainly I'd enjoy talking to a real physicist (I'm something a couple notches below armchair-level). Hit me up at [email protected] sometime if you like!
[+] akomtu|11 months ago|reply
At a glance, this looks like a bunch of coupled oscillators. A natural extension of this idea is strings: a 1d array of oscillators modelling a wave equation. For example, a piano sound can be modelled by attaching a basic oscillator to one end of a string and a mic to the other end of the string. The string and the oscillator push each other, creating the piano tone. Real pianos use 3 such string with different properties.

Another idea. What if you make a circular string and attach 1 or more oscillators at random points? Same idea as above, but more symmetric. This "sound ring" instrument may produce unreal sounds.

[+] humbledrone|11 months ago|reply
> What if you make a circular string and attach 1 or more oscillators at random points?

If your computer meets the system requirements, you could always install the free demo and build this sound ring instrument to find out! Building these kinds of weird ideas and seeing what happens is my favorite thing to do with it.

[+] imhoguy|11 months ago|reply
This is so cool and has unlimited potential, like you could model real instruments, e.g. guitar to experiment with resonant chamber shapes, materials etc. Can't upvote enough on good old perpetual licensing model!
[+] ssfrr|11 months ago|reply
I’m very curious about your experience doing audio on the GPU. What kind of worst-case latency are you able to get? Does it tend to be pretty deterministic or do you need to keep a lot of headroom for occasional latency spikes? Is the latency substantially different between integrated vs discrete GPUs?
[+] humbledrone|11 months ago|reply
Short answer: it has been a big pain in the butt. The GPU hardware is mostly really great, but the drivers/APIs were not designed for such a low-latency use case. There's (for audio) a large overhead latency in kernel execution scheduling. I've had to do a lot of fun optimization in terms of just reducing the runtime of the kernel itself, and a lot of less-fun evil dark magic optimization to e.g. trick macOS into raising the GPU clock speed.

Long answer: I've written a fair bit about this on my devlog. You might check out these tags:

https://anukari.com/blog/devlog/tags/gpu https://anukari.com/blog/devlog/tags/optimization

[+] modeless|11 months ago|reply
Love physics based audio! Using the GPU is a great idea.

Another physical audio simulation I like is the engine sound simulator made by AngeTheGreat: https://youtu.be/RKT-sKtR970?si=t193nZwh-jaSctQM

[+] humbledrone|11 months ago|reply
His stuff is so incredibly cool. He has a video on physical modeling for trumpets using the GPU and for a second I thought he might be building a competitor! :)
[+] adzm|11 months ago|reply
Note they are referring to Mick Gordon who is notable for the recent DOOM soundtrack. DOOM Eternal has a truly phenomenal score. Mick Cormick is a mistake I believe.

Congratulations!!

[+] humbledrone|11 months ago|reply
Oh goodness, that's truly embarrassing that I typoed "Mick Cormick" instead of Mick Gordon. O_o I wonder if my brain somehow crossed wires with John Carmack. Thanks for the correction!
[+] corytheboyd|11 months ago|reply
Whoa this looks really cool! I love how you made something physically 3D to stand out in a world full of 2D knobs and sliders… but it still has 2D sliders because those work the best for dialing things in with precision.
[+] michaelhoney|11 months ago|reply
So many of us have ideas for something cool and never build them. You did it. I salute you, you madman
[+] 1R053|11 months ago|reply
I think to be useful it needs a mode of playing, that is always musical / in tune.

Not yet sure how to really do it, but one concept I like from NI plugins is that you have multiple keyboard zones: one zone is for notes, others are e.g. for patterns or styles. Imagine a guitar where one zone is for the chord type and tone, another for the striking pattern...

The challenge here is probably the resonance algo for multiple systems based on multiple notes... Maybe the piano concept would be handy here... imagine instead of having 3 strings like on the piano the instrument to be one system for each key... that excite each other via air or direct resonance points... the systems should be automatically tuned based on one reference system (e.g. using automatic string length or tension scaling)

Anyway, amazing work and having it on GPU allows this really to scale.

[+] gregschlom|11 months ago|reply
Absolutely awesome! I know nothing about music production but I want to play with it just for fun. Maybe a very simplified, web-based version for people who just to play a bit? Would be awesome.

Congrats on the hard work and the launch, in any case!

Edit: I see you have a demo mode, that's great! Exactly what I was looking for

[+] ziddoap|11 months ago|reply
I'm not really familiar with audio stuff, but holy do I ever appreciate the write-ups you've done. This is absolutely fascinating stuff. I'm eager to keep reading. The video from Mick Gordon was awesome, too.

Congratulations on the launch, and best of luck!

[+] humbledrone|11 months ago|reply
Glad to hear it. I have fun writing them, often I find it's a great way to clarify my thoughts even just for me. But also I enjoy reading other people's devlogs so am glad to contribute. :)
[+] brookst|11 months ago|reply
I’m so tempted to buy, but some info is missing on the website:

- If I buy once can I run it on both my Windows desktop and MacBook travel computer?

- If so, are files compatible between them?

- What are GPU requirements on Windows? I’m sure it scales, but is a 3080 overkill or not enough?

[+] mutagen|11 months ago|reply
My account shows 3 devices available to install on and I can disable computers on demand. Runs well on my M1 and on my 3060 and even all but the most demanding of assemblies on my little work laptop with onboard Intel graphics.

I assume files are compatible, presets are the same on both MacOS and Windows.