X

Hey! We highly recommend you launch this experiment in Google Chrome. It may run slower, or not at all, in other browsers.

Okay, I'll download Google Chrome I'm willing to risk it
X

Report This Experiment

X

Share with a friend

An e-mail has been sent. Thank you for sharing this Experiment!

Close

Back to All

3D Waveform

November 16, 2009
Author:

Mr.doob

http://mrdoob.com
Location:
London, England
Rate Experiment (189 ratings):
1 2 3 4 5  
From the Author:

3D representation of the music playing. A blue box determine the position of the signal being sent to your speakers.

Technology:

javascript, <audio>, <svg>

Comments

By xP1v0tX on August 26, 2010

as soon as i loaded this up, my pc crashed with a bluescreen.....

Reply to this comment
By vania on June 10, 2010

Music under the name slumber.I would like to download his PC.Good music!

Reply to this comment
By chrelad on June 02, 2010

This is awesome! The music is pretty cool too :) Thanks for making this.

Reply to this comment
By me on May 30, 2010

The music should loop. It just stops at the end.

Reply to this comment
By leef on March 30, 2010

whoa, uses way too much CPU

Reply to this comment
By Souless on March 26, 2010

Great effing experiment, I'm incorporating a similar implementation into my portfolio - creds and props to Mr doob.

Reply to this comment
By Lightning Girl on March 06, 2010

Is it supposed to be the voltage variation represented as a visual change on the screen?

Reply to this comment
By cole on February 14, 2010

what program do you use to make things like this

Reply to this comment
By ROBOT on February 18, 2010

text editor

Reply to this comment
By AsianSpark on February 14, 2010

Awesomeness, the array is huge... well, still awesome.

Nice work! ;)

Reply to this comment
By Vipin on February 15, 2010

Nice work :-))

Reply to this comment
By ramesh aravindhan on February 11, 2010

good

Reply to this comment
By adder on January 24, 2010

art.

Reply to this comment
By Coolzrock on January 04, 2010

Pure awesomeness... Tested it with Safari 4 on Mac, and it works perfectly!

Reply to this comment
By XU on January 01, 2010

Love this conceptual thing, Can wait to start interacting with these experiments more in the future, I'm off to download processing..

Reply to this comment
By Mr.doob on January 14, 2010

Why do you need processing?

Reply to this comment
By Mr.Russell on December 23, 2009

Another great tool to help music learners. Let users turn on a beat meter and/or key detector in the UI?

Reply to this comment
By doggitydogs on December 21, 2009

No audio, waveform, or blue line. Just a black line that follows your cursor a little. Chrome 3.0.195.38, Windows 7.

Reply to this comment
By Delan Azabani on January 08, 2010

@Mr.Russell, the waveform data is hard-coded into the script as an array, so no code was there to actually parse the audio stream.

Reply to this comment
By emmanuel on December 14, 2009

yeah baby

Reply to this comment
By mattg on December 09, 2009

if you could totally generalize this type of visualization to any music that would be awesome-sauce!

I think there may be a good starting point in looking at the Discrete Fourier Transform of the audio signal =)

Reply to this comment
By Javier Jaramillo on December 09, 2009

this is freaking cool.

Where does your inspiration comes from?

Not only for this one, i mean, all your experiments. lmao.

nice work.

Reply to this comment
By Mr.doob on December 09, 2009

Where DOESN'T my inspiration come from. ;)

Reply to this comment
By Joren on December 08, 2009

Doesn't do anything in Chrome 4.0.249.25, you only see a black 'stick' that moves a little when you move your mouse over the screen but that's all, no movement of itself, no music, no blue. Does work in firefox

Reply to this comment
By Mr.doob on December 09, 2009

It works fine here with 4.0.249.30 (Ubuntu 9.10).

Reply to this comment
By asphaltdragon on December 08, 2009

Do you think you could get this to work as a visualization to whatever music is coming through the speakers? And possibly invert the colors (black instead of white, white instead of black)?

Reply to this comment
By Mr.doob on December 08, 2009

1. Visualise whatever music is coming through the speakers.

No.

2. Invert the colors (black instead of white, white instead of black).

Why?

Reply to this comment
By dubt2 on December 09, 2009

make the colors change the music. and maybe make the wave color change more than just blue

Reply to this comment
By jabonz on December 01, 2009

What about the new File API? Couldn't you use that??

Reply to this comment
By mr.doob on December 01, 2009

You could, in a few months, but you couldn't access the sound spectrum anyway.

Reply to this comment
By vbnv on November 26, 2009

i have NNNNNNNNOOOOOOOOO audio.Why dont I??????????????????

Reply to this comment
By mr.doob on December 01, 2009

No idea... specifying which browser and version would help.

Reply to this comment
By joel on December 08, 2009

I have no audio in Chrome 4.0.249.25, but it works fine in Safari 4.0.3 (531.9.1)

Reply to this comment
By Mr.doob on December 09, 2009

It works fine here with 4.0.249.30 (Ubuntu 9.10).

Reply to this comment
By alex on November 23, 2009

wow, cool. I like your experiments.

Reply to this comment
By ernest on November 21, 2009

there is no audio for me

Reply to this comment
By Anonymous on November 16, 2009

Can it be made to play other tracks, or is it hardcoded to the current one? I tried to hack together on my own little test with another track, but it only plays different audio; the wave form doesn't change.

Reply to this comment
By Mr.doob on November 16, 2009

As you will see on the source code, the waveform data is hardcoded.

Reply to this comment
By Anonymous on November 17, 2009

Then, yes, I saw that, I just didn't know enough to recognize it as such. Given that, though, how difficult would the process be to incorporate other tracks into this? My knowledge of JavaScript / SVGs doesn't quite extend this far.

Regardless, I really like this (hence my curiosity).

Reply to this comment
By mr.doob on December 01, 2009

It is not hard. You can find the python code I used on my blog:

http://mrdoob.com/blog/post/677

It just won't be automatic as this is a process that you need to execute at least once per track. Whether it's locally or on your server.

Reply to this comment
By Mr. JSNerd on November 17, 2009

it would be hard, if posible, you would have to either use a java applet to read the file, which might be impossible, and not 100% javascript

Reply to this comment

Add a comment

All fields are required to prevent spam.