Show HN: Beats, a web-based drum machine
Posted by kinduff 5 days ago
Hello all!
I've been an avid fan of Pocket Operators by Teenage Engineering since I found out about them. I even own an EP-133 K.O. II today, which I love.
A couple of months ago, Reddit user andiam03 shared a Google Sheet with some drum patterns [1]. I thought it was a very cool way to share and understand beats.
During the weekend I coded a basic version of this app I am sharing today. I iterated over it in my free time, and yesterday I felt like I had a pretty good version to share with y'all.
It's not meant to be a sequencer but rather a way to experiment with beats and basic sounds, save them, and use them in your songs. It also has a sharing feature with a link.
It was built using Tone.js [2], Stimulus [3] and deployed in Render [4] as a static website. I used an LLM to read the Tone.js documentation and generate sounds, since I have no knowledge about sound production, and modified from there.
Anyway, hope you like it! I had a blast building it.
[0]: https://teenage.engineering
[1]: https://docs.google.com/spreadsheets/d/1GMRWxEqcZGdBzJg52soe...
[3]: https://stimulus.hotwired.dev
[4]: http://render.com
Comments
Comment by turbotim 5 days ago
It's been a really interesting way to understand the elements of putting together music for me. I started off thinking surely it can't be that hard to make a simple way of making music but as I added more and more functionality I found it tricky to keep the UI simple. I'm still plugging away and the challenge of chasing simplicity is what's keeping me going.
Comment by kinduff 5 days ago
Your sounds are very nice too, are you synthesizing them too?
Comment by turbotim 4 days ago
Comment by adrianwaj 5 days ago
To really make it interesting, have a way to switcheroo the drum tracks of some cloud music to layer in one's own version instead.
Comment by Voltage 5 days ago
Fun!
I'd love to be able to add triplets.
Comment by ofrzeta 5 days ago
Comment by kinduff 5 days ago
Comment by Voltage 5 days ago
Squeezing 3 hits (evenly placed) in the time that you'd expect to hit 2 hit.
Comment by bevelwork 5 days ago
Comment by dworks 5 days ago
Comment by lagniappe 5 days ago
Comment by darkwater 5 days ago
Beside this, very cool!
Comment by exodust 5 days ago
Comment by yellowapple 5 days ago
Comment by ofrzeta 5 days ago
Comment by yochem 4 days ago
One small improvement: could you disable the "double tap to zoom" on mobile browsers? This happens often when you press multiple squares closeby. Should be one line of css:
touch-action: manipulationComment by metalman 5 days ago
like the online one here as well, but does have static glitches.
Comment by skupig 5 days ago
Fun stuff! It would be nice to be able to make longer patterns. Maybe by having triggers that play randomly or every nth loop, like a lot of drum machines do.
https://beats.lasagna.pizza/?name=hakkernuse&bpm=141&i0=K100...
Comment by utopiah 5 days ago
PS: didn't check it but being a PWA to work offline would be quite neat, just in case the subway or train goes through a spot without connectivity.
Comment by djmips 5 days ago
Comment by ajxs 5 days ago
Comment by fallinditch 5 days ago
Firefox on Android - seems to work perfectly.
Any plans to develop this further? I'm not sure how doable this is but I'd love to be able to program African polyrhythms on my phone.
I think the main dev challenges would be:
- add swing and humanization
- layering the polyrhythms on separate tracks
- adding different time signatures, e.g. 12/8 is common for African polyrhythms.
- allow independent cycle lengths per track
A good resource for further reading - https://djemberhythms.com/books/
Comment by bracketfocus 5 days ago
Comment by fatherwavelet 5 days ago
I notice right away how I am focused on the specific sound I am looking at compared to the step row that feels more focused on the pattern overall.
You could also make it so it plays samples for the drums instead of synthesizing them directly but I do like the default sounds too.
Comment by oniony 5 days ago
Comment by nilram 5 days ago
Comment by 999900000999 5 days ago
I want a way to add a chiptune piano with different notes, but this is already awesome!
Comment by igleria 5 days ago
Comment by bicepjai 5 days ago
Comment by bicepjai 5 days ago
Comment by chaosprint 5 days ago
Comment by hmokiguess 5 days ago
Comment by kinduff 5 days ago
Comment by ferg-in-japan 5 days ago
Comment by myky22 5 days ago
So easy to use. Would love to see some bass lunes in the future.
I normally use my OP-XY when improvising.
Comment by hmcamp 5 days ago
Comment by TheCraiggers 5 days ago
Comment by brikym 5 days ago
Comment by epiccoleman 5 days ago
Comment by cyrusradfar 5 days ago
Comment by MintyPyro 5 days ago
Comment by ssoydan 4 days ago
Comment by millzlane 5 days ago
Comment by zerr 5 days ago
Comment by kinduff 5 days ago
Comment by Igor_Wiwi 5 days ago
Comment by beratbozkurt0 5 days ago
Comment by kinduff 5 days ago
Comment by juicytip 5 days ago