Skip to content(if available)orjump to list(if available)

Show HN: I built a website for sharing drum patterns

Show HN: I built a website for sharing drum patterns

179 comments

·March 23, 2025

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.

sarreph

This kinda reminds me of Funklet[0] that Jack Stratton (Vulfpeck) + Rob Stenson made a long time ago... A true gem if you're into funk + like midi drums.

[0] - https://goodhertz.com/funklet/

wesz

Woah, thank you for this! It's pure gold:)

metalman

thats all right messing with the back beat, and drum sounds, and whatever the reverse signal thing is vera extra funky

flakes

Please allow triplets! You're missing out big without a basic shuffle! I also second the other comments about ordering. Cymbals on top, snare and toms in middle, bass and other pedals on the bottom. e.g.

   hh |x-x-x-x-x-x-x-x-|
   S  |----o-------o---|
   B  |o-------o-o-----|

wesz

Is order CH, OH, CY, CB, MA, CL, HC, MC, LC, SD, BD, AC fine or need any other adjustments?

There will be support for triples, soooon.

flakes

Some other ideas:

- 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...

wesz

Could you provide some kind of mockups of different bar patterns you would like to see implemented?

unnamed76ri

I’ve never seen a drum pattern setup where the kick and snare are at the top.

Usually from bottom to top it is something like: Kick, Snare, hihat, toms, various cymbals

wesz

Just reversed it. Check it out.

nxpnsv

I guess you could make a 3x16 pattern but interpret it as a 4x12, so each beat is three steps...

badmintonbaseba

They don't roll over to the next 16 on playback automatically, which makes this very awkward.

chaosprint

I would be happy to port some patterns to Glicol (https://glicol.org/)

only suggestion: support https...

phyzix5761

Honest question. What is the current obsession with https for things that don't need to be secure like looking at drum patterns?

lemax

ISPs / other middlemen can monitor and modify unencrypted traffic. In Egypt, Syria and Turkey for example ISP’s injected malware into unencrypted sites that led people to install spyware when attempting to download legitimate programs (link). Other state actors have changed the content of news media, etc. Without HTTPS you lose the ability to trust the integrity of a given webpage.

https://www.bitdefender.com/en-us/blog/hotforsecurity/turkis...

ctxc

I would rather everyone use HTTPS than have them individually decide if it "needs to be secure".

phyzix5761

Why is that?

jtafurth

I worked for an authority that issued digital certificates for SSL and digital signatures. It's not only about providing encryption but also about trust, when a top level entity issues a SSL certificate, a number of identity validations are carried out, adding an extra layer or confidence on that website.

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.

sergiotapia

you didn't answer the _why do we need all that for a drum beat making website_?

whstl

For me: wi-fi and mobile providers injecting ads. Rarer these days but still happens.

webprofusion

Chrome labelled sites as Not Secure if they didn't user https since 2018. Most people didn't like that label showing on their website address, so it was a clever way to shift everyone.

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.

pbreit

That ship has sailed. http has been retired.

bigstrat2003

It hasn't been retired. Using HTTPS everywhere is cargo cult nonsense. Most sites do not benefit from it, and the push to have it everywhere is obnoxious as hell.

pacifika

Interest based advertising.

CPLX

Browsers seem to lose their mind when presented with not HTTPS content these days right?

hirako2000

Perhaps they shouldn't but that forced the hands of many who would have otherwise dragged their feet for another century.

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.

phyzix5761

Exactly

dr_kiszonka

Hi! I was very confused about Glycol until I discovered that the desktop version of your site shows way more information than the mobile one. At least in Chrome for Android, you can only select demos to play and click the GitHub link. And GitHub recommends visiting glicol.org, so why do so many people rave about Glycol? Now I know :)

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!)

chaosprint

dr_kiszonka

You are not an IDE person, are you? : ) Sonic's default one has a few very useful features. Although, I personally don't like its keyboard shortcuts and they don't seem to be editable.

wesz

Woah, nice work dude.

I had to regenerate ssl certificate, ovh says it's done but it will probably take some time to take effect.

null

[deleted]

0_-_0

[flagged]

michaelmior

Very cool! Reminds me a bit of this visualizer I built a few years ago.

https://michaelmior.github.io/rhythm-wheel/

adentranter

This is actually really cool way to show it.

Love it.

bqmjjx0kac

Nice work! It might be nice to hint to iOS users that they should disable silent mode via the little side toggle if they want to hear anything. Just a quirk of iOS that took me literally years to figure out -- I assumed it just didn't support the Web Audio API and went on with my life.

donbrae

Or as the developer you can play some silent audio in the background via an `<audio>` element: https://github.com/donbrae/onscreen-piano-keyboard/blob/main.... This will ensure the Web Audio API produces sound even with the ‘silent’ switch active.

matteason

I hit this on https://ambiph.one - my solution ended up being similar (use an <audio> element) but because I also wanted audio to play in the background and when the screen is off there's an extra step of tricking Safari into thinking it's playing a livestream, since apparently that's the only kind of audio Apple thinks should be allowed to play in the background.

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

wesz

Interesting, i already do something similar and never had a chance to check if it really works. Here is my code:

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); }

jaflo

I believe you need to use the audio element specifically. The Web Audio API is subject to different restrictions than the audio element. I used a similar approach on Audjust: https://www.audjust.com/blog/unmute-web-audio-on-ios/

(nice site you created btw! I love seeing audio stuff for the web)

MomsAVoxell

Do you mean the hardware slide toggle? I’m on an iPad on iOS and I can’t get sound working, no matter what. My iPad doesn’t have a mute toggle.

bqmjjx0kac

Yes, exactly. This is on an iPhone, to be clear. Maybe the control center on iPads has an equivalent software toggle? Sorry, that probably isn't very helpful.

moritzwarhier

Thanks, I fiddled with the volume and would have given up without your advice.

And this web app is indeed very cool. Enviable idea & execution!

omneity

This is amazing! Please consider adding PWA support so it can be installed as a mobile app.

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/

wesz

No problem, just added PWA to my todo list.

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?

omneity

Thanks! I’m a fan of 8-bit synthesizers but also classics like the Roland TR series (707, 808, 909, 08, 09)

wesz

New stuff!

- 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-

jader201

Nice site!

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.

wesz

I think i can see it now too. I see a couple of things that can cause this, here are 3 solutions, could you check them out and see if it's any better? My best bet is on the third link.

http://drumpatterns.onether.com/?audio=1 http://drumpatterns.onether.com/?audio=2 http://drumpatterns.onether.com/?audio=3 <- check this one out first

padenot

Hi, https://blog.paul.cx/post/audio-video-synchronization-with-t... (I'm the author) will have some info about what is happenning and what to do.

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!

wesz

Thanks, sent you an email.

ozornin

Yes, I experience the same on desktop Safari.

codedokode

I hate such sites. You open it to play for a minute and hours get lost.

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?

wesz

That makes sense, will fix that. Regarding the balance of the sound i've also experienced that, not sure if it's sample pack i've used or something else, will investigate that.

tttym

Nice enjoyed playing with it. How long did it take you to write it? I have been involved in a couple of simmilar projects and I was surprised how much It took us, (we used TypeScript) on Next.js

wesz

Everything took probably around 3-4 weeks, but it was spread around a couple of months. I wrote custom web crawler for web archived 808.pixll.de, pattern extraction tool from crawled data. Then i worked on the pattern player and finally started working on the website. Originally i planned to write website from the scratch, but in the end i decided to use WordPress. I have too much side projects already:)

dmje

I really, really liked that you use WordPress - in my opinion it's a hugely overlooked platform for making really solid products / software. I've built a bunch of dashboards, SaaS tools and other things - once you understand the templating it's so easy to knock out stuff. Nice work!

_spduchamp

Anyone here doing rhythm work without sequencers?

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

rrherr

Check out "African Polyphony and Polyrhythm", a presentation by Chris Ford at Strange Loop 2016. He uses Clojure to model traditional central African drumming patterns with variations.

https://www.youtube.com/watch?v=EK4qctJOMaU

https://github.com/ctford/african-polyphony-and-polyrhythm

scarecrowbob

I'd think that the problem with LFOs is that they don't make it easy to think about rhythm- they are tied to specific times. So it's a hard tool for that kind of work.

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.