Sound wave to IPO

Is there a way to convert a sound wave to an IPO curve?

I would also like to be able to do this.

What exactly are you trying to do?

There is this midi importer script.

There are wav-> midi converters on the 'net, google for them. Some work better than others.

If you’re trying to sync up / automaically create a “bouncing ball to the music”, that combination of tools might get you started.

Mike

What exactly are you trying to do?

There is this midi importer script.

There are wav-> midi converters on the 'net, google for them. Some work better than others.

If you’re trying to sync up / automaically create a “bouncing ball to the music”, that combination of tools might get you started.

Mike

Im trying to make some objects follow beats(drum, bass).
eg. On a drum beat, an object expand.

There is an endless uses: VU´s, osciloscopes, VU bars, speakers

I saw this in After Effects.

Giba

http://blenderartists.org/forum/showthread.php?t=55336
http://blenderartists.org/forum/showthread.php?t=63183

%<

It doesnt seem to be quite there yet, but alot of progress is being made! Very exciting. I am unfamiliar with Midi files, but from all the ones I have heard, they mosty sound like organs and stuff. I hope there will soon be somthing that will converst sound files such as mp3 into ipo curves.

Midi files will sound as good as whatever sound card / synthesizer that you play them through.

A midi file does not contain any sound “waves” like a wav, or mp3 file does. Wav/mp3 etc are digital recordings of the actual sound, much like a tape recorder. Using a microphone and a good sound card, you can record anything to a wav or mp3 file, your voice, your cat or dog, or a live band or your stereo playing your favorite CD.

Midi files on the other hand just store musical instrument note information, and other system commands unique to instruments that incoporate a Midi interface (connectors / hardware and associated software).

A Midi file simply says at time XXX, play Note NN for a duration of XX beats and send it to channel ZZ. Whatever instrument or soundcard you have connected to channel ZZ will play the resulting sound. If it’s a 20.00 soundcard with the “organ” sound selected it’s going to sound like … well a $20.00 organ sound :slight_smile: Send that same midi file to a $5,000 or more synthesizer and you’ll get quite a different result !

Mike

Well I am not prepared to spend $5000 dollars on a sound card just to create cool visualizations with Blender :slight_smile: I suppose I will stick with Winamp, it seems to do it for free on my $20 sound card using any format.

I was exaggerating to make a point. Today’s $20-$100 soundcards generally sound great, sometimes better than a $5,000 synthesizer from 10-15 yrs ago.

Even low end soundcards generally have some minimal effects like reverb/chorus/modulation, which can really enhance an otherwise mediocre sounding midi file. Most importantly the final quality of the sound will depend on the skill of the person who created that file

Winamp is just a player / frontend, it’s your soundcard that’s determining the quality you hear.

There are probably millions of MIDI files on the net for just about every popular song ever recorded. The files are also extremely small compared to wav/mp3, typically 100k would be a “big” midi file for maybe 5 minuts of music compared to 5-10meg for an mp3

Mike

Yes, but the MIDI file does not sound like the original version. It is synthisized. They people that create these are very talented, dont get me wrong. But I was refering to somthing that can convert an actual song into an ipo curve, not a synthisized rendition. Do you understand what I mean? At all?

Ob disclaimer: I know next to nothing about Python, but if you can extract discrete values for each point in your sound wave, it sounds like this would be almost trivial to code in Python. You’d want to decimate your sound wave at some stage of the process of course, since you don’t need to animate at 44000 frames/sec.

What you could really do with is something which can grab a simplified wave curve from Audacity (or similar) and convert it to an IPO curve in Blender. Sounds possible but audio curves do have 40,000+ samples per second, while IPOs have 24-30.

What you could really do with is something which can grab a simplified wave curve from Audacity (or similar) and convert it to an IPO curve in Blender

AndyD: Since you run CVS, can you check whether Python drivers are committed? I remember reading somewhere that this was done. It should be in the window you use when you’re setting up an IPO driver. Seems if you had a text file of the digitized waveform you could easily drive an IPO with one line of code.

IPO drivers were comitted early April (around there i think).

Aligorith

And what would that one line of code be ? :smiley:

(“One line of code” … like the obfuscated C contest ? ) :smiley:

Mike

AndyD: Since you run CVS, can you check whether Python drivers are committed?

My CVS is a bit old now. I tend to download them in the hope of fixes to problems I encounter (this version contained specific updates for OSX issues). Hopefully, Aligorith’s reply answers the question.

Quote:
Originally Posted by CD38
. Seems if you had a text file of the digitized waveform you could easily drive an IPO with one line of code.

And what would that one line of code be ? :smiley:

For [text in] write [ipo out]

What else would it be? :slight_smile: *

*disclaimer: please don’t try this code.

AndyD said:

For [text in] write [ipo out]

Hehe, ok I see I spoke too soon :o. Part of the problem here is deciding what aspect of a sound you’d want an animation/IPO to follow - amplitude, beats, frequency, timbre - then extracting those into some useable format. I guess that’s why MIDI is good for this kind of procedural animations.

If anyone codes this feature (I can’t) it would be good to have an option to not just map the sound values directly - but map the absolute value of the samples because then you could map the intensity of the sound which would seem to be more useful for most things.

I’ve played around a bit, strictly on a “user” level with stuff like that, and I’ve done a bit of reading on the tech side, what you’re describing, AFAIK is NOT trivial at all, especially on a complex piece of music. I’m not up on the latest techniques / software though.

3dSMAX has a “beat extractor” type function that “kinda sorta” works on wav files, that have a “strong beat” element present.

Frequency might be the next “easiest” component to extract, and I suspect “timbre”, (seperating actual instruments etc), would be the hardest.

Mike