MIDI Driver, music-driven animation creator


MIDI Driver script is yet another attempt to create a tool aiding the creation of music-driven animations in Blender. What makes this script different from the previous solutions? The script allows you to use a previously defined IPOs or Actions as an animation of every occurrence of a selected note from a MIDI sequence. Except that, you can:

  • view the structure of the MIDI sequence
  • select notes manually or automatically, according to their properties.
  • enhance the created animation ex. by using the velocity to vary the “expression” of the animation

Here are some examples of the MIDI Driver usage:
http://a.imageshack.us/img411/7885/miditest03.jpg http://a.imageshack.us/img576/5571/miditest06.jpg http://a.imageshack.us/img830/7472/miditest10.jpg
(visit my MIDI-driven animations thread for more)

Do you like it? Well, then go to the MIDI Driver homepage to download the script and the script’s manual.

The current version of the script is 0.72 for Blender 2.49b (Python construction downgrade for Mac Blender <not fully tested>, some corrections in offset-increment selection).
The version for Blender 2.5x is on the way.

Let me know, if you have created something interesting with the help of the MIDI Driver. Share your results here. Do not hesitate to post your suggestions for improvements in future versions of the script.

Still, nothing’s perfect – if you encounter a bug, post the bug info here or contact me directly. A blend file and the utilised MIDI file enclosed to the post may come handy to determine the bug cause. Remember, however, to read the manual first – maybe there is already a solution to your problem.

Have fun!

1 Like

Love the robot designs, very appealing.

Awesome video’s too, I’ll be sure to download the script and give it a try.

Congratulations on the Msc exam pass by the way :slight_smile:

This looks so well-thought out and the results are great! Thank you!! I can’t wait to go into hermit-mode and really dig into this.

Thank you, and congratulations!

You Sir, Are The Bomb!!! Thanks, You are making Blender History.

not sure what I’m doing wrong. I think I’m following the manual properly - I have a object, with scale IPO, I select OB, Name of Object, Name of IPO, select a note, then click sync. (as a basic process), fairly simple midi file loaded.
I get the following error:
Source IPO/Action cannot be overwritten.

What’s the fix in my process?

Pave, I don’t know how could I missed this. Great work, script is fantastic, but I also love your designs and sense of style!


Thank you very much for comments.
dschnell289: You’re trying to overwrite the IPO which is simultaneously defined as a source. Unlink the source IPO from the object. Enable its false user so you won’t lost it after reload. This should help.


aha there it is in the manual. Thanks!

This is really professional work. Great in all means. Hope we can get this Script for 2.5. I do not use 2.49 anymore.

This is, as someone said: Blender History Forever.

Hey man,
thanks for the help :slight_smile:
I created the piano and synchronized the notes with the keys, using the script
here is the result:

I’m thinking of making a piano tutorial with this, something like synthesia
any suggestions, please tell me :smiley:

Me and a friend had a similar script working for controlling animation with midi files.
Our idea was to teach sight reading, ear training, chord inversions, finger exercises, and so on, through a game setting. Something like that typing tutor where you have to type the letters painted on attacking zombies before they get to you.
Imagine doing the same thing by playing chord inversions on a piano.

I would be happy to share my ideas if you’re interested.

Email me if you like [email protected]

An audio-midi editor inside Blender 2.5 ?! :smiley:

A really cool script with a lot of potential… Thanks a million SirGagarin

What I dont seem to understand is how can I attach a tone pitch, say C, to a piano key. When I fill in more than 1 the datablock type name, all the blocks get the same ipo result instead of each pitch its own key.

What did I miss?

Thanks, Twan

I get an error messages on line 525: with open(fileName, ‘rb’) as f:

I’m using a Mac with 2.49. On my Windows its working oke.

Any idea


I’ve been already reported about the problem with script on Macs (thanks to Trevor Fenwick).

The problem is due to the fact, that Blender for Mac utilises older Python which does not support some newer Python abilities (like with … as operator or @static decorator).

I have downgraded the script, however I don’t have a Mac, so I would appreciate it if someone could test it. The script (version 0.71) is available at the usual place:

out-of-date, link dead

Kathman: According to your previous post. The idea with multiple animation entries is that with one note selection (ex. only C note selected) you can synchronise several actions witch take place at the same time, ex. one entry for key being depressed, one entry for character moving his hand to press the key etc. Therefore, you cannot specify different note selection for each entry, all of them are using the current one.

In the evening, I’ll post exemplary blend file which explains how to create a piano animation.


Thanks for your reply. I’ve had a wrong look at it :slight_smile: But your explanation sounds more logical!

I happily wil try the modified script for the Mac but there might have something gone wrong, because when trying to download I get a Polish site with a big questionmark.

I’m looking forward to your exemplary file.

Thanks, Twan


The server was down. It should be back again by now. It’s so faulty I’m going to move the page elsewhere this week.

By the way, here are the promised exemplary blends:

The exercise file: pianoPlain.blend
The result file: pianoFinal.blend
and midi required in the exercise: tune.mid
Exemplary files are now available at the tutorial section of my website.

Have fun!

Thanks for the blendfiles, they make things very clear. I’m of to my first 3d piano concert :slight_smile:

I tried the script modified for the Mac but I get another error on line 1851: ’ Except MidiFormatError as ex: ’
Becuase of the error the script doenst startup, looks like the same sort of problem with the previous one.

Thanks a lot


At the MIDI Driver homepage (see the first post) is available a new version 0.72, which should deal with the problem. However, I haven’t yet received the confirmation about it working correctly, so I cannot guarantee, that this is a final solution for Mac users.

Please note, that the script’s homepage has been moved to the new server. Change your bookmarks and inform me if something does not work.

Hmm, something more… would you fancy a MIDI Driver guitar blend-tutorial?