Readit News logoReadit News
itcrowd · 3 years ago
Fantastic, had a lot of fun poking around this little machine.

I really love it, here are some minor improvement points:

- when right-clicking, the intended functionality of selecting the appropriate rhythm works only half the time or so. The other half is the browser modal showing normal right-click action. Consider doing long-press to change rhythm?

- volume per channel feels off. Putting the slider halfway already results in nearly inaudible contribution from that sample. Consider changing the "slope" of the volume slider?

- the BPM slider is a bit on the small side. Consider making it wider for finer control?

- the window at default zoom level (100%, 1080p resolution) doesn't fill the screen. Works perfect on 125% setting. Consider filling the entire screen so that the button sizes etc. are maximized?

Amazing to play around with.

enlyth · 3 years ago
>Volume slider

This is a common mistake [0], even popular applications like the Netflix player get it wrong

[0] https://www.dr-lex.be/info-stuff/volumecontrols.html

srcreigh · 3 years ago
Also having tons of fun with this

Some more feedback:

- The blue indicator is 4 ticks behind the playback

- It would be nice to have more options for where the sounds can appear, like bars 3 and 4

- When I enable a track, I expect any notes that have already passed to have been skipped, but some (kick, cymbal) will start playing halfway through the track even after the note has long passed.

berkcebi · 3 years ago
That's awesome to hear, and thanks so much for the detailed feedback. Really appreciate it!
irjustin · 3 years ago
AH! yeah in my chrome it didn't work at all. i was super confused how the example got the little dots and what they meant.
devalnor · 3 years ago
I would also suggest a 'Solo' button
atentaten · 3 years ago
As someone who was into making electronic music back before Fruity Loops and Hammerhead—-a time when one coveted actual hardware, but was always searching and dreaming about software drum machines because they were cheaper or free, I always find it amazing that we can do this in the browser. I always love seeing cool projects like this come about.
fat-chunk · 3 years ago
Have you ever come across https://audiotool.com ?

It's a free, fully fledged DAW in the browser, they emulate the most iconic Roland devices like the 808, 909 and 303

neumann · 3 years ago
How did I never come across this! What an achievement, there goes my evening.
jbjbjbjb · 3 years ago
Hammerhead now that’s a name I haven’t heard in a long time… since my teens. Just googled it and there’s an mobile app! https://ruismaker.com/hammerhead/
tomduncalf · 3 years ago
Yeah Bram Bos is one of the best iOS music app developers out there :)
jimt1234 · 3 years ago
Same. My first drum machine was a broken Roland TR-909 that I bought from a pawn shop around '88. I borrowed a bunch of my mother's old records, and was on my way to hip-hop-producer stardom! LOL
samdafi · 3 years ago
I second this and thank you heartily for reminding me of hammerhead. These dreams are very familiar!
painted-now · 3 years ago
Here is my loop :-) https://peel.fm/e431e31
thrwaway12 · 3 years ago
Added more cowbells as a joke, but it actually worked well

https://peel.fm/65bade0

throwme_123 · 3 years ago
How big are the patterns?

Looks like the author implemented a server-side storage with tiny hash. Why not the data itself as base64? That would make it real serverless!

berkcebi · 3 years ago
That's a good point! I did consider this but decided against it since the share URLs would be pretty long.

Instead I went with a S3 based storage solution — still pretty simple, not managing any servers or databases manually.

bane · 3 years ago
Well, now I know where the funky thread is!

https://peel.fm/a413ced

zepp157 · 3 years ago
created an HN account to contribute to the funk. https://peel.fm/464063a
FpUser · 3 years ago
I dig this one ;)
hoosieree · 3 years ago
Cute and fun! The toe-tapping banana is a nice touch.

A minor suggestion for your export format is to switch from an "array of structs" to a "struct of arrays" layout:

For example, change this:

    "steps": [{"isOn":true, "repeat":"1:2"}, {"isOn":false}, {"isOn":false}, {"isOn":false}, ...]
To this:

    "steps": {"repeat": ["1:2",null,null,null,...], "isOn":[true,false,false,false,...]}

It's not necessarily more compact, but you can iterate over all of the collections with a single index.

s1mon · 3 years ago
I would highly recommend enabling click and drag to "paint" notes. As it is right now, if I want 16 closed hats, I have to move, click, 16 times. I'd rather drag to paint based on whatever state of the note I start on.

The mutes on the left would be better if they mute the notes, not the sounds. Muting and then enabling can end up playing the tail of some of the longer sounds. This isn't typically how you want this to work. You can always use the volume control if you really want to get that effect.

It would be nice to get some of the tone controls of the real 808, and the swing is pretty important too..... At some point though, I wonder what your goal is since there are so many apps and web versions of X0X style drum machines these days.

https://io808.com

https://roland50.studio

https://drumbit.app

https://www.onemotion.com/drum-machine/

https://hiphopmakers.com/best-free-drum-machine-online

berkcebi · 3 years ago
Great suggestions, thanks so much. I definitely want to keep the app simple UI-wise, so it's going to be a challenge!

Deleted Comment

Deleted Comment

vernon99 · 3 years ago
Very cool, here's my loop :) https://peel.fm/f3148e6

Now we need more instruments and collab editing and you have fruity loops online :)

gravitronic · 3 years ago
You should take a look at https://sequencer.party

Collaborative real-time audio/video/midi platform that supports VST-like web plugins (the WebAudio Module 2, or WAM2, standard)

Zar_Rok · 3 years ago
Nice loop!

Just moving the cowbell creates another interesting rhythm: https://peel.fm/bc80cbc

Edit: Correct link

srcreigh · 3 years ago
That’s the same loop
patchorang · 3 years ago
Woah, I made almost the same thing the other week https://beatmaker.adammenz.com/https://github.com/patchorang/drummachine
berkcebi · 3 years ago
Huh! I love how you can switch between instruments on each track, that's a great idea.

Have you tried Tone.js vs Howler? Any thoughts?

patchorang · 3 years ago
Interesting, I didn't come across Tone.js until now. It looks like it handles a few more things than Howler. Most useful for the drum machine would be scheduling. I'm just using setInterval, which isn't guaranteed to be accurate, but seems good enough for my use case.

I want to build some other browser based audio/synth tools. I'll have dig into Tone.js more for one of those, thanks. I'm re-learning to code with these projects, but the goal is to build a multiplayer web-based modular synth.

parabyl · 3 years ago
A little detroit techno vibe? https://peel.fm/15f0762

This is really neat! the kick some sweet distortion when you put an accent on it and have it layered with some other samples.

I've been using the Volca Drum recently and an idea from that which I imagine would be relatively simple to add to this would be a divide step option - allowing for double-time hats and the like. It would make a great addition to this fun little drum machine.

boredemployee · 3 years ago
Nice! Talking about detroit and 808:

https://youtu.be/R6pTNuBSqhw

(the producer is from detroit, the track name is not)

parabyl · 3 years ago
Oof, so very dusty! Lovely track, thanks for the recommendation.

Deleted Comment