waveform data to 3D object?

Hello to all,
i originally posted on the modeling forum, but i was told to try here, so maybe you guys can help/ :slight_smile:

I am doing an art project, and i need to create a 3D object out of audio data.
I plan to exported the ascii data (from cooledit).

Is there any way i can do that in blender?

If not directly from data, maybe if i convert the data to a vector line in illustrator, can i make a 3D object in blender with that? (if yes how?)

thank you very much for your time!

Give a mini example of you data and HOW you want it to be 3D…
In principle objects in Blender are (x,y,z) points where three or four (neighbouring points) are connected by a ‘face’ (VISIBLE)
Point a alone can be made visible too by a ‘halo’ material …

Or do want to show a frequency as a curve (time-dependant value?) THAT would be easy I think.

an exmaple of the audio data and give an idea how to intend to convert form audio data to an object would be nice
to see what is involved here !

i’m having problem with the relationship between sound data and object !
i mean are you talking ampltude or frequency components of the audio signal here or something else?

happy 2.6

Thank you for your replies!

the data actually looks like this:

SAMPLES:	99264
0.63942	0.63942
0.395584	0.395584
-0.555573	-0.555573
-0.889633	-0.889633
-0.420013	-0.420013
-0.221298	-0.221298
-0.700623	-0.700623
-0.781631	-0.781631
-0.787537	-0.787537
-1.76285	-1.76285
-1.64688	-1.64688
-0.226578	-0.226578
-0.445892	-0.445892
-1.38515	-1.38515
-1.61948	-1.61948
-1.59358	-1.59358
-0.689529	-0.689529
-1.07967	-1.07967
-2.60733	-2.60733
-0.88591	-0.88591
0.859818	0.859818
-1.06866	-1.06866

and the 3D object that i am trying to build looks like this:

pretty much is amplitude and frequency i am dealing with,

the method i am doing to extract the data is by exporting a .wav file to ASCII text data from cool edit, so i don’t know if it is the best way, but if you can suggest a better way to extract the data please feel free!

thanks again for your time, really appreciated!

Hi, you can work inside Blender: use ‘bake sound to f-curves’ operator to animate some property, it’s under spacebar menu in f-curve editor. Then try this script in radius mode to get the 3d bezier from the baked f-curve… or go the other way, and generate some mesh from your numbers, you will need to write some simple script

quick example here: http://dl.dropbox.com/u/16486113/Blender/archivos/unba.blend

edit: uploaded the up to date script…

Thank you very much liero! that is exactly what i needed, and its even easier doing it the way you described!

This is perfect, thanks again!


You may find this script useful… I noticed this post and made some quick fixes to make it an addon to make it easier to use.
It uses speaker objects and the bake sound to fcurve modifiers to make a one click spectrum.

To get the multichannel representation like you have in the text file you would need to split the original file into two mono tracks L & R or make it mono using something like audacity.

To make the object that is in your post I’d write a script that uses the baked fcurves to edit the control points of a curve object from the sound fcurves. Seeing it’s a waveform its a chunk of time… the waveform curve then be used as a taper on another curve. Shouldn’t be too difficult to script if you need a hand give me a hoy as it would be a good addition to my addon.

I am also having the same problem that I want to convert sound into a 3d curve. I downloaded the above blend file and from the looks of it that is jst what I need.

But I can’t seam to make it work for me. I dont know what I am doing wrong.
I copy/pasted the script into my text editor,
I created a cube and baked a sound to it ( so that it moves to the beat),
and then I pres “run script” and nothing happens :frowning:

can someone give me a more detailed instructions on what I should do what I should press.

I am using blender 2.72

can you give me a more detailed instrucions? because I can’t seam to make it work no mather what I do.

Thanks, liero, for sharing!

@jaka After you run script look for this panel
Edit: Deleted image. See post below for changes in script.

eppo thanks for helping, just moved it to existing Animation tab, and settings are under F6 dialog now

tank you :slight_smile: That was all that I needed. Did not see that panel :slight_smile:

i’m having a trouble, i don’t see the 3D curve that should be generated. I clicked Unbake to 3D in radius mode but nothing happens.

Is the script still “workable” ?

Thanks for any help.

Lollito just checked it and seems to work fine…
script is a bit different from the one on blend -guess I updated it at some time- settings are under F6 dialog

F6 gives nothing.
I look in the toolbar but i see nothing.
I have the Bake to 3D button, Use Radius also, but no curve in the 3 D view.

check your object -with some baked fcurves- is selected
script is pretty simple, should work… pm me the file if you want
recently seen something like this in stackexchange also

here a picture and the script

Hi again, and thanks for helping.
I have to create a bake action before unbake. But i don’t see any unbaked 3D curve in viewport and outliner.
May i miss one step.
Here the blend, i packed all. Tell me if you don’t have the sound.

It’s on the good layer.

it seems you baked to shapekeys and the script does not read shapekeys…
just bake to a transformation channel, like z location; will try to expand script later

Ha yes. Ok.
Thanks again for your help. I will see with other way to deform the mesh.

Happy blends.

I don’t know how you make the empty related to the shape key.
You used a Hook ?