Hacker News new | past | comments | ask | show | jobs | submit login
Moog Google Doodle open sourced (code.google.com)
104 points by anigbrowl on July 30, 2012 | hide | past | favorite | 12 comments



Had a look at low_pass_filter.js hoping to see the source for the filter written out, apparently that stuff is all built into the web audio api. It has oscillators, it has Highpass, Bandpass, Lowshelf, Highshelf, Peaking, Notch, Allpass as well as Lowpass filters. It does compression, delay, waveshaping, wavetables, even convolution! I had no idea it was that high level! I wonder what the square wave sounds like? Mmmmmm... square waves...

Here's the list: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specifica...

Don't know how much of that spec is implemented, but with all that you should be able to make some pretty crazy noises. The google moog code looks very easy to hack as well.

Once someone samples some of those old SID chips and the like into those wavetables we're going to see an explosion of html5 games with awesome 8-bit sounds.


It's kind of sad that modern browsers have 3d rendering and sound synthesis capabilities, but don't have a working built-in date picker, a tree control or a built-in download widget that doesn't suck. The number of real-life, useful projects that could utilize those things are in hundreds of thousands. Thus, we end up with hundreds of badly designed and non-semantic widgets developed from scratch, plus a new wave of websites that look annoyingly like Flash and behave not much different.


Apparently there is at least <input type="date" /> (http://www.quirksmode.org/html5/inputs.html) but support is indeed pathetic (http://www.quirksmode.org/html5/inputs.html). It's fascinating these other APIs receive higher priority than something immediately useful to the user experience.


These things aren't zero-sum, there is no Central Soviet dictating that time be spent on WebGL rather than a date picker standard.


If the browser vendors get to code up their own filter algorithms I guess that means we will get endless discussions about which browser sounds best :)

EDT for clarification


Hear the square wave: http://en.wikiaudio.org/Web_Audio_API:_How_to_connect_nodes

DAW's will be browser based. You will see an explosion of alot more than 8 bit sounds.


Yay! Phase Cancellation FTW! Let's all post our noises.

http://jsfiddle.net/DJZLS/1/

Square waves are the best waves. Even-numbered harmonics are for losers.

It'll be a long time before we can run a DAW in the browser. We can barely run a DAW properly when it's written in C and asm. The javascript garbage collector will cause unsolvable latency problems as soon as you want to do anything interesting.

EDIT: Supersaw! http://jsfiddle.net/DJZLS/2/ Not actually very super, I didn't see the fine-detuning option. Unfortunately I have work to do...


You could make the same argument for video games. It doesn't have to be the console equivalent of a video game. It just has to be convincing enough that people use it and want to keep pushing it. As long as it's not the Farmville of audio I think interesting things will take shape and people will gradually deal with the problems that arise.


For audio synthesis one wants sample-accurate timing. At CD quality, a single sample is ~0.022 milliseconds. This is far beyond what's needed for games. However, looking at the API, the timing of events seems to be handled in native code, one simply schedules them in javascript. There are much cleverer people than me working on this, I should probably reserve judgement.


With conventional javascript the timing is complete nonsense. With the audio API you're right, timing is different and doesn't deal with the same millisecond convention as regular Javascript. Below is a really good talk I found and the gentleman speaking explains much of this better than I should attempt to: http://www.youtube.com/watch?v=hFsCG7v9Y4c


The Turing logo is also on Google Code: https://code.google.com/p/turing-doodle/


More cool stuffs from google




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: