Second this comment, the real time feedback that you get and the realization that you aren't making something that doesn't completely sound like crap makes this surprisingly more fun than I thought it would be.
To me it sounds as if the reason for the music not sounding like total crap is, that the author uses pentatonic scales, which are also used in improvisations. (http://en.wikipedia.org/wiki/Pentatonic_scale)
Am I the only person this isn't working for right now? It loads, I enter a username and then it tells me I've been idle too long. I guess the servers may be overloaded due to HN?
It felt out of sync. I could move up and down, and clicking made the circles solid, and there were some other players, and some sounds. I suppose moving up and down and clicking changes the sound, but I'm not sure how.
This is amazing, and not only as a demo of the API. I was waiting for a uniform raw audio standard to be implemented by all browsers, but after this I'm motivated to start playing around now. There are so many interesting possibilities for musical improvisation interfaces.
I wonder whether, if there were all 12 tones on the Western 12-tone scale, it be more cacophonous. Somehow, with two octaves of only white notes, as it were, and the tendency of users to move about constantly (because it looks pretty and you get the exciting perceptual feedback of changing the sounds), most of it doesn't sound bad. Great idea.
Pretty sure this the pentatonic scale actually - so all black notes. It almost certainly woule be more cacophonous even if it was just all white notes, never mind the full scale.
Very cool. This reminds me a lot of playing around on a korg kaossilator, a very nifty toy with an xy pad where you can pick a scale, bpm and an "instrument" and jam away without worrying about hitting wrong notes.
And maybe keyboard support for 'notes' - every letter on the keyboard assigned to ABCDEFG and the black notes in between. Then you could, say, plug in a written text and see what happens.
Meanwhile, Adobe just announced that the Unreal Engine runs in Flash Player 11. That's AAA quality 3d gaming in the browser (and not just Chrome). I am so bored with "HTML 5" game (that aren't even HTML 5 official spec) announcements getting such a ridiculous amount of play.
Imagine if someone went out to E3 in 2011 and announced that they just came up with this crazy TV game concept called Pong, but it only works on Magnavox TVs. Absolutely no one would care.
The Quake Engine has been running inside browsers for ages.
Also if you speak about portability. Flash really isn't very portable when you compare it with the platforms supported by Webkit. Flash has always been a huge mess when it comes to this. Webkit and Gecko are pretty much up to date, but many people hardcode browser checks instead of just asking whether the browser supports certain stuff. I think that's the biggest problem - well, besides the market share of outdated IE versions of course.
What portability. I mean, Web Audio API is supported by only Chrome and Safari (so that's not "webkit". Sure Flash ain't better.
But hey! None of this is standardized.
And why should Gecko support Web Audio API? You see, they got Web Audio Data instead. Not compatible of course. None are standard.
So flash does beat them and HTML5 on that very topic.
The Gecko API is very basic, it just gives you access to sample buffers in Javascript, so everything must be processed in Javascript.
The Web Audio API is a much more fleshed out API, built on the higher level audio APIs used in professional sound apps. You can use it to process raw buffers, but you can also use it sequence and compose many effects on audio buffers with very low latency timing requirements without having to write time critical javascript DSP code and hope for the best that no delays or scheduling skew creep in.
in the main JS file, you can see an error thrown creating the main audio-context object triggers that message:
audioContext = new webkitAudioContext();
IIRC, Firefox has their own mozXxx versions of these audio APIs. I guess both will be updated to standard names (ex: AudioContext) once everyone is on board.
Is the adobe demo playable by the public? I was under the impression that they showed a video but I can't find a way to actually try it.
Until then Adobe still has to fix all the issues that the browser vendors are working on. We will have to see but I'm going to wait until it's released and usable, right now it's just a tech demo.
In fact, just yesterday someone had code up to display TF2 levels and he also built a demo capable of displaying the Rage IOS levels in WebGL a few months ago. So there your example of AAA games.
I am hooked! Who was i playing with? Need keyboard shortcuts. Sometimes there are too many guys playing (sorry guys, some of you suck :P), have separate rooms.
Pretty cool. A time-quantised version would probably have the potential to sound better though, as the latency makes it difficult to get any kind of rhythm going in this version.
Hey, I'm a pianist and I have a few ideas you might consider.
1. Let me pick the colour with the numbers 1-9.
2. Let me play notes with the keyboard. (I'm not sure the best way to assign the keys, but I'm sure you can come up with something).
3. Let me play chords.
Well now that you mention it... Haha! :) Actually I was thinking, and perhaps adding to many features would make it harder to be musical without any previous experience.
I can't stress #2 enough: it's extremely difficult to do any complex playing without keyboard mapping. Try doing a disco hihat, a tom roll, or a repeating bassline pattern.
74 comments
[ 3.5 ms ] story [ 134 ms ] threadThe greatest part about is the music created isn't terrible.
It's still a very cool demo, though.
Very cool demo though. Feels smooth.
Firefox also has an implemented proposal. Not sure if one or the other has any particular advantages?
https://wiki.mozilla.org/Audio_Data_API
Meanwhile, Adobe just announced that the Unreal Engine runs in Flash Player 11. That's AAA quality 3d gaming in the browser (and not just Chrome). I am so bored with "HTML 5" game (that aren't even HTML 5 official spec) announcements getting such a ridiculous amount of play.
Imagine if someone went out to E3 in 2011 and announced that they just came up with this crazy TV game concept called Pong, but it only works on Magnavox TVs. Absolutely no one would care.
Also if you speak about portability. Flash really isn't very portable when you compare it with the platforms supported by Webkit. Flash has always been a huge mess when it comes to this. Webkit and Gecko are pretty much up to date, but many people hardcode browser checks instead of just asking whether the browser supports certain stuff. I think that's the biggest problem - well, besides the market share of outdated IE versions of course.
And why should Gecko support Web Audio API? You see, they got Web Audio Data instead. Not compatible of course. None are standard.
So flash does beat them and HTML5 on that very topic.
The Web Audio API is a much more fleshed out API, built on the higher level audio APIs used in professional sound apps. You can use it to process raw buffers, but you can also use it sequence and compose many effects on audio buffers with very low latency timing requirements without having to write time critical javascript DSP code and hope for the best that no delays or scheduling skew creep in.
Until then Adobe still has to fix all the issues that the browser vendors are working on. We will have to see but I'm going to wait until it's released and usable, right now it's just a tech demo.
In fact, just yesterday someone had code up to display TF2 levels and he also built a demo capable of displaying the Rage IOS levels in WebGL a few months ago. So there your example of AAA games.
Mozilla's Audio Data API is available since FF4.
Web Audio API has been enabled in Chrome 13 or 14, before it was off by default. Probably appeared shortly after FF4 (?)
Such non-standardization sucks balls if you ask me.
These guys should make HTML5 standards and stick to it. Not make the standard evolve every NEXT day saying "oh look its what HTML5 is now!"
That's absolutely non-standard and annoying as hell.
1. Let me pick the colour with the numbers 1-9. 2. Let me play notes with the keyboard. (I'm not sure the best way to assign the keys, but I'm sure you can come up with something). 3. Let me play chords.
That would be awesome. Great work so far!