Show HN: I built a website for sharing drum patterns
495 wesz 189 3/23/2025, 1:05:21 PM drumpatterns.onether.com ↗
Originally started as a project to restore patterns from now defunct website 808.pixll.de just for myself, but eventually i decided to share it with others. I've seen this website mentioned a couple of times on HN:)
Currently it only supports Roland TR-808, but there will be more.
[0] - https://goodhertz.com/funklet/
only suggestion: support https...
https://www.bitdefender.com/en-us/blog/hotforsecurity/turkis...
This may seem inconsequential for static websites without PII, however most browsers consider it important as it reduces the risk for all parties involved when encrypted communication is used and the content providers has taken basic steps for Identity verification.
There are logic flaws with this approach to security imo, but it's the most commonly used technique at the moment.
ISP's are usually serious businesses with reputations and don't hack their own customers.
https://www.simpleanalytics.com/blog/vodafone-deutsche-telek...
In some places and on some networks, MiTMing http traffic for undesirable use-cases is routine.
(It's effectively a "doing business on the Internet" tax. Thankfully not that expensive for small hobby projects now.)
So why bother? Just be secure and move on.
Its purpose is to authenticate financial transaction packets, not to be "secure". (Whatever that means.)
What sort of definition are you using for security? It's obviously not the standard one.
Sending passwords in the clear vs not is covered on the first day of security 101.
Which you don't have, because you're not doing security. Just buzzwords.
"I don't want other people to know my passwords".
Perhaps you don't understand what HTTPS does. Which is totally fine! Lots of people don't really get it (or even need to). But yelling "buzzwords" for the things you don't understand doesn't make the usefulness go away.
For someone so wrong about this, you're very opinionated! It's quite a dangerous mix. Thankfully, not dangerous to me, so I can just have a little chuckle and move on.
It is never worth asking "should I even do https?" The only variation worth considering is "is https enough?" And even then, start with https and then build on top.
> The only variation worth considering is "is https enough?"
Enough for what exactly? Since this charade clearly isn't about security, what exactly is the metric for "enough"?
All for the price of about the same amount of work that it took to read this message.
"Https is only for credit cards" is some serious 1990s bullshit.
Years before that the free certificate authority Let's Encrypt was established (there are now several more), so for most people using https with your website is just configuration, not an extra cost. On top of that some http protocol versions are now https only.
I get bothered by it, Chrome doesn't even allow to confirm and proceed at the boom of the warning page anymore, but there is some flag you may disable if you feel safe about all your visits.
Hopefully Google will start flagging ipv4 servers too. And one day block them by default.
We need https because the modern web browser isn't a trustworthy or secure program. A web browser isn't a sandbox so code can be injected into an insecure http stream to force the browser to compromise the machine it is running on. This is just the state of the internet - there are literal highwaymen in the form of malicious routers and other networking hardware on the internet. https is unfortunately the ony way to ensure the highway for your data is secure and the data arriving to you is trustworthy.
The only way to avoid this is to use a browser like netsurf that eliminates the insecure modernity or dont use the web.
Man in the middle attacks are very real. A good ratio of routers get hacked during manufacture, or have a backdoor that get exploited by other hackers. an http hits make these exploit even easier to execute. Public WiFi are often insecure, https works around that problem (for the most part).
From an attacker perspective, widespread https has become obnoxious, yes.
I was wondering if you would be adding any IDE-like features. I like a few features in Sonic-Pi and noticed a few attempts to make a VS Code plugin for it. (I wish I could contribute myself, but my music production skills are atrocious and I mostly rely on GUI-based software to carry me.)
Congrats on an awesome project! (And you, OP, too!)
https://github.com/glicol/glicol-cli
I had to regenerate ssl certificate, ovh says it's done but it will probably take some time to take effect.
No comments yet
There will be support for triples, soooon.
- 2 bar patterns would also be great. Many patterns repeat over 8 quarters.
- Allowing accents (dynamics). A lot of drum patterns involve just a few drums, where accents are what bring the pattern to life.
With accents and triplets, you can have the Purdie shuffle [1], which is one of my favorite patterns ever :)
:[1] https://tomtommag.com/wp-content/uploads/2011/10/Purdie-Shuf...
Purdie shuffle would look like:
Or something like a basic jazz shuffle:Usually from bottom to top it is something like: Kick, Snare, hihat, toms, various cymbals
Coincidentally someone asked me about this the other day so I put together a minimal demo here in case it's useful to anyone: https://codepen.io/matteason/pen/VYwdzVV
var buffer = dm.audio.createBuffer(1, 1, dm.samplerate); var source = dm.audio.createBufferSource();
source.buffer = buffer; source.connect(dm.audio.destination);
if (source.start) { source.start(0); } else { source.noteOn(0); }
(nice site you created btw! I love seeing audio stuff for the web)
And this web app is indeed very cool. Enviable idea & execution!
https://michaelmior.github.io/rhythm-wheel/
Love it.
https://www.amazon.com/Geometry-Musical-Rhythm-Makes-Second/...
It’s super easy, just a manifest.json file to add which you can generate here [0].
Also are you considering adding more drumkits? Or maybe allow a user to set their own samples (stored locally, just for themselves) like you can change the header color in HN.
0: http://pwabuilder.com/
Regarding the different drum kits, this is actually on the top of todo list, right know i'm working on Yamaha RX5 and Oberhiem DMX. They should be available in a day or two. Any drum machines you recommend?
https://f-droid.org/en/packages/se.tube42.drum.android/
Ohhh yeah baby, this hits!
One bit of feedback I don’t see mentioned. This may be an iPhone thing, but my experience is that the visuals are about a quarter beat ahead of the audio (at 60 BPM, so about 200-250ms off).
Not a big deal, but definitely enough to make it feel a bit off.
Again, could be just the nature of audio in Safari on iPhone.
http://drumpatterns.onether.com/?audio=1 http://drumpatterns.onether.com/?audio=2 http://drumpatterns.onether.com/?audio=3 <- check this one out first
You're out of luck on Safari because it seems that the important APIs aren't implemented yet: https://developer.mozilla.org/en-US/docs/Web/API/AudioContex... (scroll down). This means this cannot be made correct, e.g. there will always be a desynchronization when using high latency audio output devices such as anything wireless. Their handhelds (on which non Safari is not allowed) and their MacBooks, in wired/built-in speaker mode have excellent latency figures and we can get away with not doing anything explicit there, granted the audio is not happening somehow before the visuals, that is jarring for a human. A bit late is a lot more natural if it can't be exact.
lmk if you need further details on tight synchronization of real time audio and visuals, padenot@mozilla.com, happy to help, and congratulations on the delightful websites!
Also, when creating a new variation, a blank pattern is created. It would be cool if I could copy one of previous patterns and modify it instead of recreating it from scratch.
Also, drums seem to not be balanced perfectly - in some patterns, when several sounds are playing simultaneously I cannot hear all of them. Are some drums too loud or is it a problem with me maybe?
i would suggest maybe the instruments vertical order should be reversed. i think it is more usual to have the bass drum at the bottom, thru snare up to hh etc.
i think this maps more like a piano roll with typical midi key/drum assignments.
I'll definitely add the option to reverse the order in user settings. If more people mention it i'll make it the default.
Love this btw, it will be fun to noodle on this when I’m away from the studio
- Fixed another thing with desync between audio and visual
- Hi-Hat choking - when open and closed hat are placed on the same beat, the open hat is ignored and closed one is played on two channels as shorter note
- You can now hold mouse down to paint pattern
- Clicking on instrument label besides changing some instruments should also play a sound
- Fixed cymbal spelling
- Added clear and delete pattern buttons in "Create" mode
- Ability to paste text (CTRL+V) representation in "Create" mode, it doesn't have to be the full list of instruments, but the pasted pattern should have 16 beats, here is the example:
CH X-X-X-XXX-XXX-XX
SD ---X-XX-----XXX-
BD XX------XX------
AC X-XX--X-X-X-X-X-
I've been noodling with a side project for a couple years trying to figure out how to replicate folk drumming patterns by adding LFOs together and doing beats at the zero crossing. My aim is to create drumming patterns that can flow and evolve. Results are so-so. I cant seem to find much info on other doing this sort of thing.
https://youtu.be/yVlgPoTpL94
https://www.youtube.com/watch?v=EK4qctJOMaU
https://github.com/ctford/african-polyphony-and-polyrhythm
I've been enjoying tools like "euclidian rhythms" where you have a variety of sounds that all have a fundamental division of beat that they share but have differing numbers of beats-per-bar. I have a squarp pyramid sequencer that implements that quite well.
You might look in that direction if you haven't already.
My only tip would probably be a way to click (right-click since left-click is used?) the abbreviation for each instrument to hear it play once, or when you place a beat have it play that instrument once. The guide for which abbreviation is which instrument is above the fold when actually placing notes, so it's lots of scroll back/forth checking what's what again.
I think adding playing samples on left click should be fine, added to todo list.
Also, it should be easier to make pattern on play mode, so you have atleast some feedback.
Bar lines and other time signatures are coming soon.
I like the search idea, added to todo.
Quantizing John Bonham is a sacrilege https://m.youtube.com/watch?v=hT4fFolyZYUDl
Audio and visual should sync better now, also fixed small issue pointed out by @badmintonbaseba. Creating new variation no longer creates empty pattern, it copies the previous one.
Do you see this staying as a passion project, or are you considering a business model at some point ?
I'll be working on some procedural stuff for patterns and variations to make exploring ideas even better. It's definitely passion project.
Pretty cool nevertheless.
1.youre missing the 808 clap!? 2.nice to have: beat one of each bar to be slighly darker than the others.
3.And obviously in true feature creep style: pls implement some random feature i use in my daw
(look just under the stylised-R of the Roland logo on: https://en.wikipedia.org/wiki/Roland_TR-808#/media/File:TR-8... for the pair on the original front panel)
I agree with the need for bar separation.
The last one, yeah:))
On both Edge and Chrome on Windows 11 I hear nothing. No "sound" icon in the tab either to indicate that it's muted.
i cant wait for more samples to be added and triplets, had fun doing this on my lunch :) im not really a musician but i live with 2 producers so playing with them rubs off on me
I like the colors and interface for making a beat especially, great ergonomics.
It would help a lot if a track had breaks and fills as well as the main rhythm.
There is so much more to rhythm.
Like, for starters, oh, triplet eighths?
They come up often, and with them, you can have a heavy form of swing (triple 8 swing).
Oh, never mind, I see this is geared toward a piece of drum machine hardware from 1980.
The project cannot take tips in this area because it's geared towards programming vintage hardware. It first has to add hardware models which have more advanced sequencing. See sibling comment.