googlechromelabs / web-audio-samples Goto Github PK
View Code? Open in Web Editor NEWWeb Audio API samples by Chrome Web Audio Team
Home Page: https://bit.ly/web-audio-samples
License: Apache License 2.0
Web Audio API samples by Chrome Web Audio Team
Home Page: https://bit.ly/web-audio-samples
License: Apache License 2.0
The 2-arg createBuffer prevents FF from working.
Also, it recycles the source.buffer. One AudioBufferSourceNode is created, and as the user selects different sounds, source.buffer is set to the new sound. We'll probably want to change that.
We've developed a multi-track mixer with some basic effects processing using Web Audio API at http://mixhub.mu/.
In Firefox 32.0.2, the wavetable-synth.html
demo plays sound but it's very choppy. On my machine it also maxes out the CPU.
Following demos don't work, but oddly, when you flip to another screen (e.g. press the back button), the audio suddenly starts.
Affects at least:
oscillator.html
oscillator-fm.html
javascript-processing.html
visualizer-gl.html
This just generates a 440 Hz tone using a buffer. If anything we'd use an Oscillator these days.
Just remove this.
samples/audio/simple.html has issues - maybe grabbing offset in non-standard way?
Just need to change webkitAudioContext to OfflineAudioContext. Probably want to keep this because this is probably what was used to generate the timeline graph example in the WebAudio spec.
Although not officially linked, the box2d-3d demo (https://googlechrome.github.io/web-audio-samples/samples/audio/box2d-3d/box2d-3d.html) loads and then says the O3D plugin is needed. The link to the plugin is incorrect.
The starbound and RemiX demos no longer work. It seems that www.tenthcirclesound.com is gone. Perhaps they've moved? We should either update the links or remove them.
Seems incomplete. Probably replaced by simple.html
wavetable-synth2 and wavetable-synth appear to be the same, so we should remove wavetable-synth2.
However, wavetable-synth uses a buffer to generate the tones and synth2 uses an oscillator. We should probably use the oscillator in wavetable-synth instead of buffers, if possible.
Not exactly sure what this is trying to demonstrate and how it relates to webaudio.
Remove this?
These links either don't work or point to things that aren't related to webaudio:
http://www.danedington.co.uk/superThings/HTML5Guitar/index.html
apps.playcanvas.com/dave/tutorials/3d_audio
http://www.technitone.com/
http://phenomnomnominal.github.com/
wavetable-synth Audio sounds really funny.
Looks like most demos still use webkitAudioContext. We need to update these. I thought we had fixed all of them to use AudioContext when available. Newer versions of chrome now print out deprecation messages about using webkitAudioContext.
It's a simple demo to mix three sounds together with differing gain. Probably not worth having. I think html5rocks has similar demos already.
Some of the demos use console.log to print out error messages, like being unable to decode a file. I think some of these should probably be converted to alerts to make it more conspicuous on why a demo isn't working.
Start http://googlechrome.github.io/web-audio-samples/samples/audio/dj.html. This produces audio output as expected. Select break12 for the left and Cool Loop 7 for the right (in that order). Now move the rightFilter slider somewhere near the middle. Audio becomes silent, and the audio icon on the tab disappears.
Happens in M36 and ToT chromium.
According to WebAudio/web-audio-api#288, the buffer attribute for an AudioBufferSource node can only be set once. The following demos set the buffer more than once:
A couple of tweaks makes this run, but I don't know what it's really supposed to show and what the correct audio is.
Perhaps best to remove this?
Doesn't seem very useful.
Could be an interesting demo, but maybe we should just delete this since it's using Javascript to do amplitude modulation. Probably not a good idea to have even more demos of processing in Javascript.
This just uses a bunch of audio tags. Some of the sources are missing.
Since this doesn't seem to be exercising webaudio, it should be removed.
The DJ demo still hangs. I think it's because it uses createBuffer with 2 args. createBuffer takes 3.
dj-test.html is very similar to dj.html. A quick diff shows that the major differences are in how the cross fader works, the addition of a post compressor gain stage in dj.html, and some difference in how the animation is drawn.
Not sure what these were intended to show, but they seem incomplete. The rendering and convolution is done offline, but the results don't go anywhere, so it's basically an expensive no-op.
On many demos the slider text on the right overlaps the actual slider bar. I see this on both Chrome and Firefox. See, for example, https://googlechrome.github.io/web-audio-samples/samples/audio/dj.html
Visit http://googlechrome.github.io/web-audio-samples/samples/audio/index.html and scroll down to the entry for "Oscillators". Click that and you get the panning/reverb demo: http://googlechrome.github.io/web-audio-samples/samples/audio/simple.html
I'm not really sure where this should be pointing or how it's different from the FM synthesis demo.
Maybe just delete this?
Here is a list of demos that don't work with Firefox. I did not investigate why, just whether there was the expected output. Tests were done using Firefox 27.0.1 on Linux. I did not compare the audio with Chrome.
https://googlechrome.github.io/web-audio-samples/samples/audio/dj.html sound terrible on FF 30.
Possibly a CPU issue; top shows FF is using 120% CPU on my Z620.
Using the DJ demo as an example, notice that when loaded the slider label doesn't include any info about the value of the slider. When you move the slider, then the label is updated to include the value.
I find it somewhat annoying that the slider doesn't automatically include the initial value. I didn't investigate if this is an issue with slider itself or with the various demos that show the slider value.
The box2d demo (https://googlechrome.github.io/web-audio-samples/samples/audio/box2d-js/box2d-audio.html) seems to have a pretty big lag from when the block hits an object until you hear the sound. But not always. I remember this working much better than this on Chrome.
Seems to be roughly similar to oscillator-fm2.html, so we should just remove this one in favor oscillator-fm2.html.
This is a list of demos (third party) that doesn't work with unprefixed webaudio.
We should get them fixed or removed or something.
http://static.echonest.com/InfiniteGangnamStyle/
static.echonest.com/BeatDriver/
http://www.tenthcirclesound.com/ksdemo/
http://www.tenthcirclesound.com/kickstarter/#5a
http://labs.dinahmoe.com/plink/
http://labs.dinahmoe.com/ToneCraft/
http://beta.dutchgramophone.com/rocketship/
http://funklet.com/
http://tibersynth.prtcl.cc/
http://matt-diamond.com/drone.html
http://airtightinteractive.com/demos/js/reactive/
http://alteredqualia.com/three/examples/webgl_city.html
http://static.echonest.com/BohemianRhapsichord/index.html
http://audiojedit.herokuapp.com/
http://www.htmlfivewow.com/demos/audio-visualizer/index.html
http://www.htmlfivewow.com/demos/hal/index.html
http://www.storiesinflight.com/jsfft/visualizer_webaudio/
http://www.oampo.co.uk/labs/technocrat/
This appears to differ only very slightly from convolution-effects.html. This demo should probably be removed.
No trumpet samples = not working.
This used to work, especially after Chris made some fixes.
But today, I hear nothing with Chrome M36.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.