View Full Version : Getting MIDI data into Maya

04 April 2006, 09:57 PM
Hi, I know this is a big ask considering I've made such a small contribution to this forum - but I'm well and truly stuck with a problem, and my lack of experience with 3D and programming is slowing down.

I want to create a series of animations wherein certain objects around the scene are controlled by data from a MIDI sound file. Things like - pitch of the note determines objects Y position, duration of note effects speed of translation, things like that, timing is important but nothing too complicated.

I've been told on the HighEnd3D forum that I will need to parse the MIDI data before bringing it into Maya - and I was told that to do this I would need to run a MIDI parser module in Python... now I have no idea how to go about any of this - I've never coded or used a language before in my life.

So my questions;

1) Is there a simpler way of extracting the relevant data from the MIDI files? A standalone program for example, or...

2) Does anyone know of a Python module that would do such a thing (which preferably runs on a Mac) and if so - how to use it?

3) What would I then do with this data? Would I have to somehow convert it into a .mel, a .ma or a .mb? How would I go about connecting it to geometry within the scene?

4) Has anyone successfully done this before?

If anyone has any information or help to offer - I really would love to hear it, as I said earlier - I'm pretty stuck here.

Kind regards,

Barry Legg.

04 April 2006, 12:17 PM
I wrote a script to do this , it ran a small Dos program to convert midi data to a text file then the script read the text file and animated objects to this data , all this was done using 3D max but I would think you could do the same thing for maya , so yes I would say this can be done

04 April 2006, 01:47 PM
Hey! That's good news.

Is there any chance that I could see one of the MIDI files that has been converted to a text file? Just so I can see how the animation software likes it to look?

I thought Studio Max had built in MIDI controllers anyway? I was under the understanding that with Max, you could just bring in a MIDI file - and attach this data to the transforms of various objects - like it was real easy?


04 April 2006, 07:59 PM
you should try Side Effects Houdini. It is pretty straight forward to do that kind of animation in it. You'll need to adapt to Houdini's workflow, but I it's worth of try.
And all you need is to connect some nodes:-)

04 April 2006, 02:14 AM
I wrote a script that could read the text file output from a program called MF2T you can find it and read some info from the link below

all I ended up using it for was a piano playing a bit of music , I used the loaded the midi file into a audio program called Reason to output it as a wave file , then loaded up max run opened up my piano model run the script on it and played fine ,, job done , 3Dmax have some midi functions in it but not for what I wanted , anyway the dos program MF2T outputs most of the data you would need so if you can script then you should be able to get it to do anything you want :) I did and I would say Im not great at max script , I did get a lot of help from these fourms :) . look up my posts in the 3dmax forums just look for midi and you will find a few posts
good luck

05 May 2006, 07:53 PM
Hey, that sounds really interesting - very close to what I want to do.

However, there are couple of things

1) I'm a Mac user, so the program you suggest may be out of the question, and Max is definitely out of the question, as it isn't available for Mac (I'm gonna have to get myself a cheap PC someday).

2) I am a complete beginner at scripting - I have no idea where to start.

3) I'm under the understanding that Max has all sorts of built in MIDI controllers anyway, which make this sort of thing super easy, where Maya doesn't. Is that true?

Thanks for the tips anyway though - I'll look into it.



05 May 2006, 10:02 PM
yeah max can deal with some midi data but I needed it to deal with all sorts of data bytes . note on/off , control data , volume data and midi time code , and I worte the script just to see if I could , I was out of work at the time so had a lot of time on my hands lol , sorry I cant help you much more but I dont know Maya . Im sure Maya is a script based program much more than 3d max is anyway so I think you should be able to write a script to get it to do anything you want , I could be wrong ? ..
let me know how you get on :)

CGTalk Moderation
05 May 2006, 10:02 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.