6 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
- andai 1mo 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 1mo 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 1mo agoDo you have a hint on how to find that video?
- telotortium 1mo agoIt’s “The Physics of Dissonance”: https://youtube.com/watch?v=tCsl6ZcY9ag https://youtube.com/watch?v=tCsl6ZcY9ag
- olelele 1mo 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.
- Myzura 1mo agoCan it remain stable at a certain MHz?
- deleted 1mo ago[deleted]
- Jeff_Brown 1mo agoI love it. I wish I could select materials.
- tanderson92 1mo 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 1mo 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 1mo 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 1mo agohttps://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum https://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum
- BaselAshraf81 1mo agohttps://www.jstor.org/stable/2313748 https://www.jstor.org/stable/2313748
- gspr 1mo 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 1mo 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 1mo agoI didn’t get any sound on an iPhone either
- wickedsight 1mo agoYou need to disable mute.
- latexr 1mo ago> Does it work on safari mobile for anyone else? It does for me. But I do use an ad blocker (Wipr 2).
- phoghed 1mo 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 1mo 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 1mo 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 1mo agoThis is very cool stuff, indeed!
- stdatomic 1mo agoI just entertained myself with this for 30 minutes.
- discordance 1mo agoThose ads are nasty and really take away from the cool stuff you build!
- slhck 1mo ago[flagged]
- fragmede 1mo agoDo you drive a friend to the airport or does your car do most of the work?
- phoghed 1mo agoYou mean the shitty comment your keyboard typed?
- epiccoleman 1mo 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 1mo 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 1mo agoHad no idea it had ads. Thank you ublock origin <3
- nxc18 1mo agoThanks, ChatGPT.
- jmole 1mo 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 1mo 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 1mo 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 1mo 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 1mo 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 1mo agoPerhaps the "hits like an x on a y" family is larger than any of us thought?
- vanderZwan 1mo agoCould be a regional thing. I've heard the pliers-on-a-pig version too, might be more common.
- shit_game 1mo ago
- uwagar 1mo agoamazing stuff, congrats!
- brcmthrowaway 1mo agoCan you do this for a didgeridoo?
- valleyer 1mo 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 1mo agoI'm not sure if I'm learning a lot. All of the shapes and click locations basically sound the same to me.
- mh- 1mo agoMake sure your SoundBlaster16 drivers are loading properly, because I don't think I heard two clicks that sounded the same.
- ttul 1mo agoTry `1 + 0.16cos(4t) + 0.08cos(12t + pi/6) + 0.04cos(36t + pi/3) + 0.02cos(108t + pi/2)`
- bowsamic 1mo agoVery cool, reminds me of some of Aphex Twin’s percussive elements
- _flux 1mo agoThis would be quite nice as a VST/CLAP for music production!
- stavros 1mo 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 1mo 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 1mo 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 1mo agoMuch appreciated, and it is indeed very interesting!
- letier 1mo agoNot a fan of the cookie dialog. Had to close the page as there was no easy way to reject the ad cookies.
- andrelaszlo 1mo 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 1mo 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 1mo agoSame. I no longer tolerate this bullshit
- cindyllm 1mo ago[dead]
- Ycros 1mo agowhat has the world come to when people beg for stars on github
- fragmede 1mo agoMerely asking is begging?
- srean 1mo agoMore conversations here. https://news.ycombinator.com/item?id=49305250 https://news.ycombinator.com/item?id=49305250
- karloproducer 1mo agoshould be a vst intrument
- Y_Y 1mo 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 1mo agoGreat! I vote for a skin tension control.
- metalman 1mo 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 1mo agoContemptible cookie dialog.
- serial_dev 1mo agoWhat, didn’t you want hundreds of companies track you while you try to get the audio work on a drum simulator?
- BaselAshraf81 1mo 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 1mo ago[flagged]
- abcd_f 1mo agoMake it possible to reject all cookies in one click. What you have now is ridiculous.
- rpastuszak 1mo 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 1mo agoFun concept. Absolutely carcinogenic approach to monetization.
- BaselAshraf81 1mo 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 1mo agoAudio doesn’t seem to work in mobile safari.
- isubkhankulov 1mo agoIt worked for me by unmuting my ringer and raising my volume. Agree UX isnt great.
- bromuro 1mo 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 1mo 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.
- squigz 1mo ago> If you find it interesting, a star on the GitHub repo helps a lot. I am genuinely curious, how?
- abcd_f 1mo agoProbably looks good on the resume?
- BaselAshraf81 1mo 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 1mo agoThe question wasn't mine.
- BaselAshraf81 1mo agoOh, I misclicked, my bad.
- jLaForest 1mo agoWhy does the submitted link redirect? Is that allowed on HN
- BaselAshraf81 1mo agoIt was hosted on github pages before buying a domain, you can directly visit eigendrum.com, sorry for the confusion!
- OgsyedIE 1mo 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 1mo 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 1mo ago[dead]
- willf 1mo agoThis is so dang cool. I’m sorry that all people can do is complain!
- codedokode 1mo agoIt seems to simulate only the membrane, and not the body of the drum, so no bass drum, no snare and no hi-hats?
- tonetheman 1mo ago[dead]
- prabhanjana_c 1mo agoactually too cool. very addictive, while changing different parameters and playing.
- fl4regun 1mo 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 1mo 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 1mo agothis is pretty cool
- hn_submit 1mo agoCould something like this be used to design speakers?
- BaselAshraf81 1mo 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 1mo agoSomething like this is used to design speakers (and countless other things).
- peter_d_sherman 1mo 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 1mo ago[flagged]
- lucb1e 1mo 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 1mo agosame for me
- Hacker_Yogi 1mo agoWebsite is offline.
- BaselAshraf81 1mo 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 1mo agoI approve.
- BaselAshraf81 1mo agoI thank.
- ahmetson 1mo agoIt doesn’t work on the mobile phones yet. Could you look at it? I use iPhone 14