4 ms·
Show HN: Eigendrum - Draw any shape and hear what it sounds like as a drum
Hi HN, I built Eigendrum, a web tool that solves the 2D wave equation for arbitrary shapes so you can hear what they sound like as drums.
How it works:
* Solves -∇²u = λu using finite element analysis (Kφ = λMφ) on a triangle mesh.
* Validated to <0.1% error against closed-form solutions for circles (Bessel zeros) and rectangles.
* Sound model factors in strike location, Rayleigh damping, and mallet width.
* Includes Kac drums I & II to demonstrate identical sound spectra from different geometries.
* No frameworks, build steps, or dependencies.
Repo and tests: https://github.com/BaselAshraf81/eigendrum https://github.com/BaselAshraf81/eigendrum
Happy to answer any questions about the FEM solver or Web Audio setup!
https://eigendrum.com/#p=circle https://eigendrum.com/#p=circle
- discordance 3mo agoThose ads are nasty and really take away from the cool stuff you build!
- slhck 3mo ago[flagged]
- fragmede 3mo agoDo you drive a friend to the airport or does your car do most of the work?
- phoghed 3mo agoYou mean the shitty comment your keyboard typed?
- epiccoleman 3mo agoThis meme is becoming extremely tiresome. This thing is cool, which should be enough. If you don't find it cool you can just click the next thing. As someone who's spent lots of AI time I still find this impressive. Let's see your version, since it's so easy to prompt one up.
- slhck 3mo agoI didn't even know that was a meme. I have vibe coded various projects too, but I find the overzealous monetization very much off-putting. This, paired with the Opus writing all over the place. Seems more like grifting than an actual interest in the topic. https://github.com/BaselAshraf81/eigendrum/commit/733a7a08b2416f6bd5f7f2c24810a38be2580694 https://github.com/BaselAshraf81/eigendrum/commit/733a7a08b2... Edit: Seems the advertising is removed now.
- stdatomic 3mo agoHad no idea it had ads. Thank you ublock origin <3
- codedokode 3mo agoIt seems to simulate only the membrane, and not the body of the drum, so no bass drum, no snare and no hi-hats?
- deleted 3mo ago[deleted]
- nxc18 3mo agoThanks, ChatGPT.
- andai 3mo agoVery cool. Number keys and QWERTYU (or clicking the rows on the right) trigger the "modes" in isolation, which are surprisingly microtonal. Also you can draw your own drums! What! That's so cool
- plaguuuuuu 3mo agothere's an amazing video on youtube about how metal bar/gong instruments (like gamelans) have different overtones, and regular western intervals instead of being consonant (like with vibrating strings) are dissonant - even perfect 5ths - and a totally different set of intervals are consonant (slendro and pelog tunings are a bit different for this reason). thinking about it, each drum here would have totally different ideal scales to the others. this is cool.
- g6taa 3mo agoDo you have a hint on how to find that video?
- telotortium 3mo agoIt’s “The Physics of Dissonance”: https://youtube.com/watch?v=tCsl6ZcY9ag https://youtube.com/watch?v=tCsl6ZcY9ag
- olelele 3mo agoA friend told me that a Dutch university ordered a custom gamelan tuned chromatically. It was a total failure and sounds terrible. The gamelan are made one by one w the oldest member of the group making his first and everyone tuning theirs from his down in turn, IIRC.
- Jeff_Brown 3mo agoI love it. I wish I could select materials.
- tanderson92 3mo agoSelecting different materials would not change much. Call the frequencies \lambda_1, \lambda_2, \lambda_3... You can prove that changing the material has no effect on the relative frequencies: \lambda_2 / \lambda_1, \lambda_3 / \lambda_1, etc. are completely independent of the material. The shape is the determining factor; changing the materials (and hence the wave speed) just dilates the whole spectrum.
- BaselAshraf81 3mo agoThere's actually a "ring-out" slider and a "mallet" width slider under the drum already. Ring out controls how fast the higher modes decay (basically stiff vs soft material), The mallet width controls how many modes a strike can even reach, since a real mallet can't drive the high frequency ones very hard. No labeled presets like "wood" or "metal" though, just raw sliders. Would be a fun addition if someone wants to map a few physically sensible combos to buttons. PRs Welcome!
- BaselAshraf81 3mo agoThanks for reposting this! I'm the developer (BaselAshraf81) - happy to answer questions or hear suggestions here. If you find it interesting, a star on the GitHub repo helps a lot. And don't forget to follow me on github, I build cool stuff!
- esafak 3mo agohttps://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum https://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum
- BaselAshraf81 3mo agohttps://www.jstor.org/stable/2313748 https://www.jstor.org/stable/2313748
- gspr 3mo agoI've read hundreds of papers in my mathematics career, and they – good and bad – almost always blend into eachother and turn into a diffuse fog in my memory, where they're identified by "that good one by Johnson-something-I-think.. no the 90s one I think". There are very few exceptions. Kac's drum paper is one. It's so nicely written!
- Waterluvian 3mo agoI tapped twice and got nothing but sketchy popup ads suggesting I need to install a VPN. Does it work on safari mobile for anyone else?
- totetsu 3mo agoI didn’t get any sound on an iPhone either
- wickedsight 3mo agoYou need to disable mute.
- latexr 3mo ago> Does it work on safari mobile for anyone else? It does for me. But I do use an ad blocker (Wipr 2).
- phoghed 3mo agoYeah, just have to make sure your phone isn’t on silent for sound effects in the browser. Also if you use an ad blocker, which I highly recommend, you wouldn’t have seen any of the ads or other stuff most of the comments can’t seem to figure out how to avoid.
- Waterluvian 3mo agoI have an adblocker. I guess it just missed. It’s sad though that such a non-corporate site has such nasty ads though.
- BaselAshraf81 3mo agoI am sorry for the ads, I disabled it immediately after I have seen your complaints, but I forgot about the consent banner. Hope it didn't affect your experience.
- moralestapia 3mo agoThis is very cool stuff, indeed!
- stdatomic 3mo agoI just entertained myself with this for 30 minutes.
- jmole 3mo agoThis reminds me of a tongue drum I have. Have you thought about building an iterative solver for specific scales? It would be interesting if you could simulate and then print (or laser cut) your own instrument on demand.
- totetsu 3mo ago“Everything’s a Drum!” https://eigendrum.com/#s=__Ap66fz1em9-NXp7_6a6-0AJu1AAiTv6gKT8SMD4vZ3BFH5dwRt-sINgQG4FXgJIxw_CVwceAnNHFoKlBz5FO0ZvhaCE74Wwg1qFVAN-RRQDVESwg0bEKQOxw5QDVYONQw7DToIzApZBV0I6gIJB5cBCQfR_yYGD_zuBd31Bwlu8-kJcPHpCQPtJAjr6QsFz-hGAwjpFP0j6jL8V-7e-on03vrd9U_7UPRP-_3y3vrG8OD4Ou_-9wPtVvXL7HjwA-3r7pDu7uw https://eigendrum.com/#s=__Ap66fz1em9-NXp7_6a6-0AJu1AAiTv6gK...
- vanderZwan 3mo agoSo in Dutch one expression for "that makes no sense" is "dat slaat nergens op", which literally translates to "that doesn't hit (slap, beat) anything". A ruder variation of that is "dat slaat als een … op een drumstel", or "that hits like a … on a drum set". For some reason I felt like sharing this trivia.
- spockz 3mo agoI never heard “op een drumstel”, always “op een varken”. So it would be “Dat slaat als een tang op een varken.” Or “That hits like pliers on a pig.”
- isoprophlex 3mo ago"Als een tang op een varken" is the common one for me as well. Runner up: "Als een lul op een stadsbus" (it makes as much sense as a dick against a city bus)
- vanderZwan 3mo agoPerhaps the "hits like an x on a y" family is larger than any of us thought?
- vanderZwan 3mo agoCould be a regional thing. I've heard the pliers-on-a-pig version too, might be more common.
- shit_game 3mo ago
- uwagar 3mo agoamazing stuff, congrats!
- brcmthrowaway 3mo agoCan you do this for a didgeridoo?
- valleyer 3mo agoIf the author is here, do yourself a favor and rewrite the app's labels from Claudese to English. "what the shape does not decide: Pitch is size and tension; fade is material and air. Neither is in the outline, so both are yours."
- b0ringdeveloper 3mo agoI'm not sure if I'm learning a lot. All of the shapes and click locations basically sound the same to me.
- mh- 3mo agoMake sure your SoundBlaster16 drivers are loading properly, because I don't think I heard two clicks that sounded the same.
- ttul 3mo agoTry `1 + 0.16cos(4t) + 0.08cos(12t + pi/6) + 0.04cos(36t + pi/3) + 0.02cos(108t + pi/2)`
- bowsamic 3mo agoVery cool, reminds me of some of Aphex Twin’s percussive elements
- _flux 3mo agoThis would be quite nice as a VST/CLAP for music production!
- stavros 3mo agoThis website has a list of data vendors 200 pages long, and it forces you to uncheck each one if you don't consent. I decided to close the tab rather than deal with this illegal dark pattern.
- aureate 3mo agoThe title alone sounds like this would be interesting, but I'll never know if it is because it has a trackers popup listing thousands of "partners" and a load of "legitimate interest" boxes ticked by default. This is Daily Mail level stuff, immediate back button for me.
- BaselAshraf81 3mo agoI am sorry about that, I thought I removed the consent banner along with the ads completely this morning, then I came back here and realized Google AdSense still had the consent banner published, I forgot to disable it, it doesn't show up to me as I am not EU I guess. Should be gone now, please let me know if something else still shows up.
- aureate 3mo agoMuch appreciated, and it is indeed very interesting!
- letier 3mo agoNot a fan of the cookie dialog. Had to close the page as there was no easy way to reject the ad cookies.
- andrelaszlo 3mo agoYeah, I'm no GDPR expert but it seems completely unreasonable that the "legitimate interest" numbers add upp to 2825. Even though there's probably some overlap, the biggest category is "Measure advertising performance (695 partners included)". How does this dialogue help me control who gets my data or how it will be used?
- slhck 3mo agoIt's not even unreasonable, it's illegal under GDPR. You have to provide a reject all option (for rejecting all non-necessary cookies).
- efilife 3mo agoSame. I no longer tolerate this bullshit
- cindyllm 3mo ago[dead]
- Ycros 3mo agowhat has the world come to when people beg for stars on github
- fragmede 3mo agoMerely asking is begging?
- srean 3mo agoMore conversations here. https://news.ycombinator.com/item?id=49305250 https://news.ycombinator.com/item?id=49305250
- karloproducer 3mo agoshould be a vst intrument
- Y_Y 3mo agoThe tone is kind of snippy. It refuses to play when there would be numerical artifacts ("there would be numbers, and they would be wrong") and if your drawn shape self-intesects it complaint rather than just giving a reasonable answer with a warning (minimum crossing width, separate bodies). Overall a cool tool, but pretty annoying. I point it out not really to criticize this project, but because I see a trend in software that has a holier-than-thou sort of paternalistic tone. LLMs are obviously rife with this, but I also see interfaces from some humans that give me the vibe of a snooty Parisian waiter.
- chrisjj 3mo agoGreat! I vote for a skin tension control.
- metalman 3mo agovery nice! but having the "this space for rent" , space is the thing that realy says that it's someone doing there thing, everything is cool, no worrys, here play with a drum, and you knid of know that whoever might go in that space will be truely random, and interesting to some further subset of those that jump at an internet drum thing. thanks!
- nmeofthestate 3mo agoContemptible cookie dialog.
- serial_dev 3mo agoWhat, didn’t you want hundreds of companies track you while you try to get the audio work on a drum simulator?
- BaselAshraf81 3mo agoI am sorry about that, I thought I removed the consent banner along with the ads completely this morning, then I came back here and realized Google AdSense still had the consent banner published, I forgot to disable it, it doesn't show up to me as I am not EU I guess. Should be gone now, please let me know if something else still shows up.
- throwaway27448 3mo ago[flagged]
- abcd_f 3mo agoMake it possible to reject all cookies in one click. What you have now is ridiculous.
- rpastuszak 3mo agoThis is brilliant! I wish I had seen this a few years back! Q: Generating higher quality sounds with a specified duration (e.g. within a 300ms margin) -- is it possible with your approach, is it hard, how would you go about that? I'm asking because a few years back I had an idea for a breathwork/meditation app that would allow you to connect / control the breath duration using a gong sound. Example pattern: 4s in, 4s wait, 8-10s out. Next: use a feedback loop with the real user breathing pattern, slowly extend towards the goal. Ended up with scaling it down to a "dot to stare at" + basic gong, because I realised how ridiculously chromatically complex the sound is. (my approach was to synthesise an envelope with a shape determined by time -- pity the fool who thought it was easy or even made sense!) https://untested.sonnet.io/notes/projects-and-apps-i-built-for-my-own-well-being/#h-sit https://untested.sonnet.io/notes/projects-and-apps-i-built-f... I got +100k people visiting it and still a couple dozen daily users running a 5+ min session, so I'm happy with it. But, the itch is still there, so I'd love to revisit my old nemesis so to speak :) Also, if you want to chat about this, hit me up sonnet.io/posts/hi !
- isoprophlex 3mo agoFun concept. Absolutely carcinogenic approach to monetization.
- BaselAshraf81 3mo agoI disabled the ads 1 hours after I seen this but I totally forgot about the consent banner, sorry for that. Hope it didn't affect your experience much.
- dkdbejwi383 3mo agoAudio doesn’t seem to work in mobile safari.
- isubkhankulov 3mo agoIt worked for me by unmuting my ringer and raising my volume. Agree UX isnt great.
- Myzura 3mo agoCan it remain stable at a certain MHz?
- squigz 3mo ago> If you find it interesting, a star on the GitHub repo helps a lot. I am genuinely curious, how?
- abcd_f 3mo agoProbably looks good on the resume?
- BaselAshraf81 3mo agoThat's one thing, and I would also like to be known in the dev world, with my ideas, what I build, and be famous for something I love doing. I don't really care as much about the resume but I have to, I just graduated college. My open source journey is starting and I want my creativity to be heard and seen. Hope I answered your question :)
- abcd_f 3mo agoThe question wasn't mine.
- BaselAshraf81 3mo agoOh, I misclicked, my bad.
- bromuro 3mo agoI wanted to try it but it talks to share my data to the 1192 partners of yours. How do you have so many partners, and what they do?
- BaselAshraf81 3mo agoI am sorry about that, I thought I removed the consent banner along with the ads completely this morning, then I came back here and realized Google AdSense still had the consent banner published, I forgot to disable it, it doesn't show up to me as I am not EU I guess. Should be gone now, please let me know if something else still shows up.
- jLaForest 3mo agoWhy does the submitted link redirect? Is that allowed on HN
- BaselAshraf81 3mo agoIt was hosted on github pages before buying a domain, you can directly visit eigendrum.com, sorry for the confusion!
- OgsyedIE 3mo agoSeparate to the concerns about privacy others have, I found some ear-splitting pitch errors with making very narrow asterisk-shaped drums with a number of spokes not divisible by 2 or 3. Good thing my volume was low.
- thetimewotitis 3mo agoI would love you to get all this in JUCE or w/ever and make a plugin. have you seen https://differentinstruments.com/ https://differentinstruments.com/ ?
- hnlqpx99l9 3mo ago[dead]
- willf 3mo agoThis is so dang cool. I’m sorry that all people can do is complain!
- tonetheman 3mo ago[dead]
- prabhanjana_c 3mo agoactually too cool. very addictive, while changing different parameters and playing.
- fl4regun 3mo agoThis is very fun to play with and design different drums. I was able to make one that had 4 connected but distinct regions giving different pitches, then within each of those regions (which look like 4 lobes of different sizes) where you tap on that region will further change the sound! Then I realized I basically just made a hand pan.
- gwerbin 3mo ago> Pitch here is a reference: the note a circle of this area would sound. Tension and density are yours, and so is fade, which is material and air. Where each shape's own fundamental lands above that reference is not yours, and neither is any overtone ratio. Both are computed. You might want to do a human editing pass on the copy. This reads like it came right out of your Claude Code session.
- joeyoung111 3mo agothis is pretty cool
- hn_submit 3mo agoCould something like this be used to design speakers?
- BaselAshraf81 3mo agoI think the optimal would always be a circular speaker. But I like the way you think. It's like building a car with triangular glass wheels.
- dboreham 3mo agoSomething like this is used to design speakers (and countless other things).
- peter_d_sherman 3mo agoWhat a great visualizer tool! Observation: I never saw the link between Wave Equation Solvers, Finite Element Analysis (Eigenvalues, Eigenvectors, etc.) and Cymatics -- until I visited the above web page! Related: Cymatics: Chladni Plate - Sound, Vibration and Sand: https://www.youtube.com/watch?v=tFAcYruShow https://www.youtube.com/watch?v=tFAcYruShow Cymatics: https://en.wikipedia.org/wiki/Cymatics https://en.wikipedia.org/wiki/Cymatics
- xiaomufelt 3mo ago[flagged]
- lucb1e 3mo agoAnyone else seeing "net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH"? Happens both in Firefox mobile and another browser that's a thin wrapper around Google's Chromium Webview. I'm surprised nobody mentioned it yet if firefox and chromium both struggle with this site. Or do they use a common TLS engine on Android? Sadly http is not supported, it forces https for what I understand (from the title) to be a little web toy Edit: same issue on Firefox desktop on Linux. It gets the redirect from github.io and then a ciphersuite mismatch. I now guess the host got some faulty update and it's not a me issue
- _def 3mo agosame for me
- Hacker_Yogi 3mo agoWebsite is offline.
- BaselAshraf81 3mo agoHi, I was propagating DNS nameservers, sorry for the delay. Let me know if you still face any issues. EDIT: The DNSSEC validation error was caused by a cached TTL mismatch during the nameserver migration. I've temporarily disabled DNSSEC while it clears up and am getting it sorted out.
- eigenblake 3mo agoI approve.
- BaselAshraf81 3mo agoI thank.
- ahmetson 3mo agoIt doesn’t work on the mobile phones yet. Could you look at it? I use iPhone 14