4 ms·
Interesting, and quite responsive. Audio generation in JS that I've tinkered with elsewhere tends to seem responsive until you try to make music out of it, at
by jtheory 12y ago
Interesting, and quite responsive. Audio generation in JS that I've tinkered with elsewhere tends to seem responsive until you try to make music out of it, at which point the poor timing is painfully obvious.
At the moment this seems to just be doing basic tone generation, though -- the options are sawtooth wave vs. sine wave etc..
Things get messy when you dig into MIDI playback type features, working with samples, sound libraries, etc.. But if they can forge a clear path in that direction (but somehow not lose decent timing), that could be quite useful.
- mbrock 12y agoFailing that, it could also be interesting to explore the possibilities of making sounds and music that aren't so dependent on timing. Eventually consistent tunes, if you will. :)
- feverdream 12y agoBeep.js really isn't a synthesizer, it's more of a step-sequencer. You might want to check out WAD.js, which is more concerned with synthesizing sounds than scheduling them (it has filters, LFOs, other effects, etc). https://github.com/rserota/wad https://github.com/rserota/wad. Full disclosure, I wrote WAD.js. and btw it's totally possible to make well-timed music with web-audio. I've got a midi keyboard hooked up to web-audio based looper, and that's what I use as my primary instrument these days for practicing. It works fine for me.
- frik 12y agoImpressive. Though your demo works (for me) only in Chrome (no error and no audio in FF & IE11).
- feverdream 12y agoCertain features that I depend on (particularly midi input) are only available in chrome as of right now, so I honestly only test it in chrome, though most of the basic functionality ought to work in other browsers.
- jtheory 12y agoThis is the point where I stop and say "oh well, wait another year and maybe then..." "Evergreen browsers only" is reasonable to ask for lots of sites; but "This site only works properly in the Chrome browser" gives me unpleasant flashbacks to when this notice was everywhere, but the browser was "IE5".