News for hackers. Stuff that matters.
Re:Beep.js – toolkit for building browser-based synthesizers by jtheory on Tuesday April 07, 2015 @06:33AM (#9332965)
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.

Re:Beep.js – toolkit for building browser-based synthesizers by feverdream on Tuesday April 07, 2015 @09:08AM (#9333675)
Beep.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. 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.

Re:Beep.js – toolkit for building browser-based synthesizers by frik on Tuesday April 07, 2015 @11:34AM (#9334764)
Impressive. Though your demo works (for me) only in Chrome (no error and no audio in FF & IE11).
Re:Beep.js – toolkit for building browser-based synthesizers by feverdream on Tuesday April 07, 2015 @11:49AM (#9334877)
Certain 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.
Re:Beep.js – toolkit for building browser-based synthesizers by jtheory on Tuesday April 07, 2015 @04:56PM (#9337097)
This 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".

Re:Beep.js – toolkit for building browser-based synthesizers by mbrock on Tuesday April 07, 2015 @07:44AM (#9333237)
Failing 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. :)
Re:Beep.js – toolkit for building browser-based synthesizers by amelius on Tuesday April 07, 2015 @05:59AM (#9332855)
Nice, but there are two essential things missing: keyboard expression [1] and polyphony [2].

[1] http://en.wikipedia.org/wiki/Keyboard_expression

[2] http://en.wikipedia.org/wiki/Polyphony_and_monophony_in_inst...

Re:Beep.js – toolkit for building browser-based synthesizers by jtheory on Tuesday April 07, 2015 @06:41AM (#9332988)
It seems to support 4 simultaneous notes at a time, using the computer keyboard (e.g., press down zxcv together), but if you hit a 5th key it's ignored.

For key velocity (is that what you mean by instrument expression?) -- there's maybe not much point attempting to tackle that when it's not emulating instrument voices yet anyway, or supporting MIDI input. You can't exactly capture key velocity from a computer keyboard.

There's some mention of gain in the code snippets, at any rate -- I think each voice may have its own "volume knob", in effect -- but I haven't dug into it at all.

Re:Beep.js – toolkit for building browser-based synthesizers by moreati on Tuesday April 07, 2015 @08:33AM (#9333461)
> It seems to support 4 simultaneous notes at a time, using the computer keyboard (e.g., press down zxcv together), but if you hit a 5th key it's ignored.

I think that's a limitation of your keyboard. Here I can play zxcvbn, but I can't add a seventh note.

Re:Beep.js – toolkit for building browser-based synthesizers by monitron on Tuesday April 07, 2015 @09:22AM (#9333801)
I can play six with my keyboard too! But I got a seventh to sound by hovering over it with my mouse pointer. So it seems like many simultaneous notes are supported. I only wish there were controls for the timbre of the sound.
Re:Beep.js – toolkit for building browser-based synthesizers by rockdoe on Tuesday April 07, 2015 @11:53AM (#9334906)
I can play six with my keyboard too!

USB keyboards are limited to 6-key rollover. Using a PS/2 connector will fix that.

http://www.reddit.com/r/hardware/comments/nydvp/why_does_usb...

Re:Beep.js – toolkit for building browser-based synthesizers by ptk on Tuesday April 07, 2015 @12:04PM (#9334968)
I was having a lot of trouble with some simple chord shapes but then I remembered the concept of "keyboard ghosting" and it all made sense.

http://www.microsoft.com/appliedsciences/antighostingexplain...

Re:Beep.js – toolkit for building browser-based synthesizers by 95014_refugee on Tuesday April 07, 2015 @12:05PM (#9334974)
No multitouch 8(
Re:Beep.js – toolkit for building browser-based synthesizers by UUMMUU on Tuesday April 07, 2015 @10:49AM (#9334420)
Nit picking but it would probably be better to have the white keys be a-s-d-f-etc. just because they're the home keys and where my fingers felt more natural. Awesome idea though and I love that browsers are capable of this.

Edit: If there's a reason for not having this be this way, I apologize; I'm a drummer and not privy to computer based synth.

Re:Beep.js – toolkit for building browser-based synthesizers by diydsp on Tuesday April 07, 2015 @11:19AM (#9334637)
Your idea is interesting feedback. There is a legacy associated with this pattern, though: Going back to at least 1989 (Amiga Protracker family), people have been using this layout because it allows two simultaneous octaves, one at qwertyuipo and one at zxcvbnm,./
Re:Beep.js – toolkit for building browser-based synthesizers by UUMMUU on Tuesday April 07, 2015 @02:22PM (#9335972)
That's what I'd figured because it was just so interestingly laid out but I was just thinking about finding the home keys and knowing where to begin. Once again, entirely speaking as someone coming from zero keys playing experience.
Re:Beep.js – toolkit for building browser-based synthesizers by izietto on Tuesday April 07, 2015 @01:36PM (#9335667)
Cool! I was trying to play Radiohead's The national anthem [1], but it feels a bit laggy, especially X key repetitions; anyway it's impressive

[1] https://www.youtube.com/watch?v=YLQ9S5D_mxw

Re:Beep.js – toolkit for building browser-based synthesizers by diydsp on Tuesday April 07, 2015 @11:24AM (#9334675)
Congratulations! Beep.js works well enough to be added to my list of Great Online Music Tools:

http://www.diydsp.com/index.php?title=Great_online_music_thi...

Re:Beep.js – toolkit for building browser-based synthesizers by kranner on Tuesday April 07, 2015 @06:17AM (#9332917)
I'm getting a Malwarebytes IP blocking warning for http://beepjs.com.
Re:Beep.js – toolkit for building browser-based synthesizers by brackcurly on Tuesday April 07, 2015 @06:50AM (#9333020)
Can you please change the github links to not open in a new popup.
Re:Beep.js – toolkit for building browser-based synthesizers by dheera on Tuesday April 07, 2015 @11:42AM (#9334824)
Any other Dvorak users here disappointed?
Re:Beep.js – toolkit for building browser-based synthesizers by feverdream on Tuesday April 07, 2015 @11:51AM (#9334892)
I use Colemak, so I feel your pain.
Re:Beep.js – toolkit for building browser-based synthesizers by dxoapv on Tuesday April 07, 2015 @06:24AM (#9332936)
Can it handle MIDI playback?
Re:Beep.js – toolkit for building browser-based synthesizers by feverdream on Tuesday April 07, 2015 @09:24AM (#9333807)
Are you asking if it can play a song recorded in a midi file, or if it can play sounds based on input from a midi keyboard? Either way, I think the answer is no.
Re:Beep.js – toolkit for building browser-based synthesizers by dxoapv on Tuesday April 07, 2015 @09:28AM (#9333835)
Song recorded in a midi file.