beatboxer

Creative

drum machine

SHOW HN2016

134points
48comments
#268of 2,264 in 2016
Top 12%of 2016 by points

How HN took it

DebatedReal support and real criticism

16 positive, 8 neutral or asking, 0 mixed, 11 critical, out of 35 comments about the project. Thread score +0.07.

Idea: 12 for, 0 againstPerformance: 2 for, 7 againstExecution: 1 for, 3 againstDesign: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Fun and cool for 100 lines of code

    From 4 comments
    • The last 2 sequence boxes for each type of hit wrap around to a new line (firefox). Pretty cool for 100 lines of HTML and JS.
      jonwot on HN
    • hehe.. I was just a few squares short of recreating drop it like it's hot :D
      sakri on HN
    • Super fun.
      scriptnull on HN
    • This is really fun, FYI. Social features would be fun.
      nichochar on HN
  • Works well on desktop; sound plays fine

    From 1 comment
    • Tried it on my desktop computer now - works just fine, nicely done. Needs more cowbell, though.
      sandebert on HN

Objections

  • Timing is unreliable because it uses setInterval

    From 4 comments
    • Never use setInterval for audio based applications. It's just totally unreliable. WebAudio has nice built in features for high precision timing.
      kowdermeister on HN
    • First, it's an enourmous waste of computing resources. Second, it doesn't even work, since the 'setinterval' is unusable for audio timing. Third, what's there to show off? So…
      iammyIP on HN
    • Unenjoyable, even as a gimmick, since the timing is all over the place. Either get timing right, or don't do a drum machine. Also this wastes resources like mad. What's the point…
      iammyIP on HN
    • Nice work! Although from my experience with audio programming in the browser, setInterval() is always fraught with timing danger and inconsistencies. Have you considered using…
      cyberferret on HN
  • Doesn't play or misbehaves in some browsers such as Safari and Android Chrome

    From 3 comments
    • Not sure why this is down voted — the demo literally does not work in my browser (Safari 10) because of the (mis)use of setInterval.
      aroman on HN
    • I can change color of the boxes. Something animates from left to right. But I can't hear anything. (Android 7, latest Chrome.)
      sandebert on HN
    • Me too - android 6,latest chrome. Works fine on Firefox on the same phone...
      djaychela on HN
  • Rhythm slows or misbehaves when the tab is backgrounded

    From 3 comments
    • Cool! when tab is not active, the rhythm slows down in Chrome/win7.
      GoToRO on HN
    • it behaves weirdly when you change the tabs, must be because of setInterval?
      scottydelta on HN
    • This is due to a step taken by the browser to improve performance, namely, timers in Chrome are limited to 'ticking' at most once a second when a tab is backgrounded. The drum…
      nprescott on HN

Requests

  • Encode the pattern in the URL for sharing

    From 3 comments
    • Very cool! It'd be great if you could also serialize the notes to the url, so people can share these.
      prashnts on HN
    • Nice! A little feature suggestion -- it would be really cool if the current pattern were encoded in a URL so you could link it to friends. :)
      sdrothrock on HN
    • An implementation: http://www.bambax.com/beatboxer/index.html#x||||x||||x||||x||||||x||x||x||||||||||||||||||||x|x|||x||||||||||||||x|||| Edit: now also saves bpm value:…
      bambax on HN
  • More instruments such as hi-hat and cowbell

    From 2 comments
    • Very nice. Could you add a hi-hat?
      paublyrne on HN
    • Cool! It would be cool to have more instruments to create little loops to share with friends.
      jfornear on HN
  • Tempo (BPM) slider

    From 1 comment
    • With a slider to change bpm: http://www.bambax.com/beatboxer/
      bambax on HN

Questions

  • Why use setInterval instead of Web Audio timing

    From 2 comments
    • When the goal is showing off what you can do with 100 lines of code, what's wrong with it? I doubt high precision timing can be done with the same amount of code.
      yAnonymous on HN
    • How peculiar you didn't use the webaudio API for this. I'm working on something similar right now for sun, but with a bank of generated sounds through the oscillator.
      deanclatworthy on HN

Alternatives named

  • Web Audio API based drum machines such as the Boss DR-110 clone

    From 2 comments
    • I can't give you 'realistic' drum sounds, but I was working on an approximate recreation of a Roland analog drum machine using only Javascript. I got the sound engine down more…
      leviathant on HN
    • These appear to be the synthesized versions: https://github.com/leviathant/BossDR110/blob/feature/synthesized-sounds/dr110_synth.js To the parent, what did you use as the…
      heuermh on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/12477296)