_dodger opened this issue on Jan 21, 2003 ยท 14 posts
_dodger posted Tue, 21 January 2003 at 11:07 AM
I actually came up with this thought yesterday, but I just decided I'd throw it out there to see what people think of such a concept, and to see if there's anyone with the necessary skills to help with it, too, possibly... A set of musical instruments, perhaps starting with a piano for simplicity's sake, that are fully posable with affectors removed and hard limits set that comes packaged with a program to... get this... convert MIDI tracks to pose files. I could do this in Perl, but you'd either need perl to use it or 'd have to put it up through a web interface (and that would get to be a lot of bandwidth). I was thinking if there'sa windows programmer out there or even a Java programmer who'd be up for such a task, I'd be delighted to work with you in building such a project. There are midi-to-sheet-music converters, midi-to-fruityloops concverters, midi-to-MOD converters, and so on, why not a combination prop and MIDI-to-pose converter that actually makes the piano or whatever play? As to other instruments, msot of them would be possible. A guitar would be problematic because there are so many multiple places to play the same note (and it would all have to be done off of morph dials, where a keyboard could be posable keys). The multiple-places-to-play-a-note thing, however, causes problems with easy automatic conversion because when you play a real guitar you kind of play the note in the place most convenient from your prior and to your next note or chord. Chords would be easy though. Theoretically any system like this could even be made to create pose files for a standard or millenium figure to play, too. At least anything with fingers (and in the case of horns, with a blow morph)
CyberStretch posted Tue, 21 January 2003 at 11:16 AM
IIRC, ockham has/had a player piano along that concept not that long ago using Python.
_dodger posted Tue, 21 January 2003 at 11:24 AM
Yeah, wouldn't want it to be Python though. It should be a full-interface app to ceate the Pose files.
CyberStretch posted Tue, 21 January 2003 at 11:29 AM
Why not Python, since Poser supports it and it is a free scripting language? Python would seem to be the ideal choice considering the animation potential.
lhiannan posted Tue, 21 January 2003 at 11:34 AM
Aren't Python scripts used by Pro Pack (and I'll assume P5), and not plain old Poser 4? I think a stand alone program (ala Mimic) would be fantastic for Midi-to-Pose. I'd buy it!
pdxjims posted Tue, 21 January 2003 at 11:51 AM
A Visual Basic app would be what you'd want, or C++. Both can be done as stand-alones with a full interface. It could be completely modularized, passing only the parameters needed to identify the type of instrument. Input: Midi file location, instrument, user parameters, location of output. Output: Pose file for the instrument. I think we could even do hand/arm poses for basic figures. Of course, the more posing of figures you add to this, the more complex the coding. This is assuming a static pose for the rest of the body on generation of the pose. Rules could be come up with to handle multiple option notes, and could be modified with user parameters on the build. The biggest problem I see is the upward limit to the effective size of the pose file. You'd probably have to generate multiple poses based on breaks identified in the MIDI piece. The full score of Chicago would be a mouthful for Poser to handle in a single pose file. Dodger, I'm sitting here with time on my hands and LOTS of VB experience. I have no experience in MIDI though, so I'd need a simple explanation on the file formats.
EricTorstenson posted Tue, 21 January 2003 at 11:57 AM
Python has GUI controls by default, which is probably how the ProPack stuff can display input boxes and selection boxes. It's basic GUI tools are certainly lame, but they would do in this situation (assuming you are simply talking about file selection type stuff) IM me your email address, Dodger, if you are still looking for someone. If midi is an open spec (which I think it is), you are correct that it should be doable. I do this kinda stuff for a living (mostly C++ but I've done more than I care to admit using various windows only stuff...VB, VCC, you name it) Heck, it could even be a php script on a web site! eric
geoffg posted Tue, 21 January 2003 at 11:58 AM
Attached Link: http://www.matrix-werbestudio.de/cinema/ATI-9700-animusic-Movie-v1.0.mpeg
34 Meg dowlnload, I'm afraid but worth it converts a midi file into a *stunning* animation showcases this (I believe) plug-in more inf @ animusic.comdaverj posted Tue, 21 January 2003 at 2:31 PM
That is an incredible animation!!
EsnRedshirt posted Tue, 21 January 2003 at 2:57 PM
That? No, that's just a DirectX 9.0 demo from Microsoft. The actual demo calculates and renders that whole sequence in real-time. Pretty amazing though- I wish Poser could render that fast...
praxis22 posted Tue, 21 January 2003 at 3:15 PM
Yeah, that is definately the best demo, it's just so wierd, I love it. Thought the "Rendering with real light" one is very flash and has good music. It's amazing to think that my 'puter is doing that in realtime, just a shame it'll take two years to actually see it in a game... later jb
_dodger posted Tue, 21 January 2003 at 4:18 PM
Eric: Bite you tongue. We perl programmers do not put PHP scripts on websites! (besides, the bandwidth drain for regular use would be terrible) I'd not want it to be limited to PPP/P5, so no Python. Sorry, that's not what I have in mind. MusicMimic is more what I'm thinking. Jim, VB sounds like it would be the easiest to build this in, and since you have time, that sounds good. MIDI is an open standard and specs exist friggin everywhere online. Windows has built-in DLLs for it, too. Java might also be a good option becuse it would then not need porting to Mac, whereas a PC developed app would -- but I don't like Java so I'm not going to endorse it, really.
SamTherapy posted Tue, 21 January 2003 at 4:50 PM
_dodger, for the guitar parts (if you decide to do 'em) why not base hand positions on the common finger positions for playing scales? That way, you'd cut down on a lot of work and be pretty much technically correct.
Coppula eam se non posit acceptera jocularum.
bikermouse posted Tue, 21 January 2003 at 10:31 PM
_dodger, Midi is a rather large specification. There's a lot more to it than most people realize. c++ might be the best language to work in although I prefer c myself. "a guide to sound" by Tim Kientzieisbn (addison-wesley) ISBN 0-201-41972-6 uses c/c++ to describe the specification in some detail - it is less than complete. the standard is available for a fee from one of the MIDI organizations(sorry I don't have URLS handy but a google of 'MIDI' should turn them up) I slso think that directx might be of some use here. DX8 also supports VB. The poser end of it has been discussed lightly in this forum so all the pieces are there it seems - putting it together would be time consuming and monotonous(no pun intended) but probably well worth it. good luck, - TJ