First mcjMidiLoad Beta Available - Midi File loader script for Daz Studio

1456810

Comments

  • mCasualmCasual Posts: 4,604
    edited May 2015

    something you inevitably spotted

    the first 2 versions of mcjMidiLoad were Applying using the 'Target Property' value
    currently selected in the assignment list editor's drop-down list

    instead of the item in the assignment list

    i just wanted you to know i spotted the faulty line of code

    and the next release wont have that problem

    ofcourse.jpg
    1280 x 720 - 184K
    Post edited by mCasual on
  • mCasualmCasual Posts: 4,604
    edited December 1969

    good news the code for any-and-all material properties seems to be in place
    so tomorrow, i'll do DS4.X tests and very possibly but almost certain, i hope so, the new version of mcjMidiLoad will come out

    then i'll tend to other end-of-May scripts ... probably in June :) )

    phunny.gif
    300 x 300 - 740K
  • KeironKeiron Posts: 413
    edited May 2015

    Hi Casual

    Rudolph's nose is looking cool
    Red nose day here we come LOL

    The Sax is coming along

    I've a couple of parts that are foxing me as yet, but i'll leave them seperated at the mo
    most of it is now animatable

    Post edited by Keiron on
  • mCasualmCasual Posts: 4,604
    edited December 1969

    keiron said:
    Hi Casual

    Rudolph's nose is looking cool
    Red nose day here we come LOL

    The Sax is coming along

    I've a couple of parts that are foxing me as yet, but i'll leave them seperated at the mo
    most of it is now animatable

    99% sure i'll post the new version today
    and it fixes the problem wherein the Target property is taken from the drop-down-list of target properties instead of the item column in the assignment list

    shown here, color animations

    blop.gif
    320 x 240 - 154K
  • mCasualmCasual Posts: 4,604
    edited December 1969

    well .... it wont be today i guess
    but i did make progress
    and the changes were made with the future in mind

    soonah.jpg
    1600 x 800 - 267K
  • KeironKeiron Posts: 413
    edited December 1969

    Hi Casual

    That's looking terrific

    Thank you for all your hard work

    Kindest Wishes

    Keiron

  • mCasualmCasual Posts: 4,604
    edited December 1969

    keiron said:
    Hi Casual

    That's looking terrific

    Thank you for all your hard work

    Kindest Wishes

    Keiron

    doing final tests and fixes in DS 4.7x today ( moving away from the calm DS3 seas )

  • mCasualmCasual Posts: 4,604
    edited December 1969

    Ambient Color midi-music animation on SkinShin material, in Daz Studio 4.5+

    hioo.gif
    480 x 270 - 1M
  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    LOL totally brill, luv it

    Keep up the great work

    looks like her she is pain with her arms?

    I've just put all the Sax pieces together . I've got most of the keys etc opening and closing when using xrotate,
    some need y rotate and that's causing a bit of a wobbly LOL still working on that bit.

    Post edited by Keiron on
  • GuidotoriusGuidotorius Posts: 11
    edited June 2015

    keiron said:
    Hi Casual

    well ive got the Wurzell Keyboard to animate to a midi file LOL
    just brill well done

    I have a couple of questions

    I noticed you can add different actions tranlate x, tranlate y etc. How do I delete that action, if I have made a mistake?
    I also noticed if I reselect the object in the case of the keyboard say note c and change again it adds this on top of the one i did before

    It would be nice to see an editable table of the animations etc so you can check for mistakes and correct them

    Now having spent a long time setting up the keyboard to animate with all the notes, is there a way to leave the settings and just change the midi file so it plays a new one with the same settings

    I managed to get dragon 3 to move it's face around to music need to play more with that

    This is great fun thank you


    Hello, mCasual and Keiron. I love the creative vibe between the two of you. Both of you seem to be using the scripts that you, mCasual, made to animate keyboard instruments. I have a question about how this works. Do the scripts animate a keyboard instrument automatically, or do you have to do a lot of "programming" to achieve these results? As a newbie, I'd like to do this, but I don't know how to begin. Is there a step-by-step tutorial to follow on how to animate a keyboard using these scripts? Or even a simple set of directions? On the site where I downloaded the Wurzkeil 88, there was a tutorial on how to animated a cylinder; however, I wasn't sure how to apply this tutorial to animating the keyboard using the scripts. Help!
    Post edited by Guidotorius on
  • KeironKeiron Posts: 413
    edited June 2015

    Hi augustchamplin

    Casual is writing the scripts, I'm just anoying him LOL

    Casual has released MIDIload v3 and is available here

    https://sites.google.com/site/mcasualsdazscripts5/mcjmidikit

    He is currently working on ver 4 which is looking very cool, and I look forward to it's release

    You need a keyboard and Casual has very kindly released two versions a 61 key and a 88 key +keyboard +stand

    https://sites.google.com/site/mcasualsdazscripts5/mcjwurzkeil

    You can't save the instrument config with ver 3, but you can save what you have done in a daz scene file

    You need mf2t to convert a midi file to text availble here

    http://sourceforge.net/projects/mf2t-win32/
    Once you have installed the script you need to point it to where you have put the mf2t folder
    If this is unsuccessfull Casual has posted a DOS solution for this in the forum

    You will need a midi file type1
    I created one using a Keyboard and Magix Samplitude Recording Studio, I used channel 1 for the right hand and channel 2 for the left or you could us just channel1 for both left and right hands
    I then Exported the MIDI file and the WAVE file, then added the wave file to Daz Studio "EDIT Audio"
    The MIDI is converted in the Script or in a DOS script

    Each keyboard model can have it's own note naming convention, so you may need a different Instument config for each

    Once you have loaded the keyboard model select a key say note 88 then open the script

    Please have a play and see how you get on

    Casual has posted answers to a number of questions in this forum post

    Kindest wishes

    Keiron

    Post edited by Keiron on
  • GuidotoriusGuidotorius Posts: 11
    edited December 1969

    keiron said:
    Hi augustchamplin

    Casual is writing the scripts, I'm just anoying him LOL

    Casual has released MIDIload v3 and is available here

    https://sites.google.com/site/mcasualsdazscripts5/mcjmidikit

    He is currently working on ver 4 which is looking very cool, and I look forward to it's release

    You need a keyboard and Casual has very kindly released two versions a 61 key and a 88 key +keyboard +stand

    https://sites.google.com/site/mcasualsdazscripts5/mcjwurzkeil

    You can't save the instrument config with ver 3, but you can save what you have done in a daz scene file

    You need mf2t to convert a midi file to text availble here

    http://sourceforge.net/projects/mf2t-win32/
    Once you have installed the script you need to point it to where you have put the mf2t folder
    If this is unsuccessfull Casual has posted a DOS solution for this in the forum

    You will need a midi file type1
    I created one using a Keyboard and Magix Samplitude Recording Studio, I used channel 1 for the right hand and channel 2 for the left or you could us just channel1 for both left and right hands
    I then Exported the MIDI file and the WAVE file, then added the wave file to Daz Studio "EDIT Audio"
    The MIDI is converted in the Script or in a DOS script

    Each keyboard model can have it's own note naming convention, so you may need a different Instument config for each

    Once you have loaded the keyboard model select a key say note 88 then open the script

    Please have a play and see how you get on

    Casual has posted answers to a number of questions in this forum post

    Kindest wishes

    Keiron

    Thanks, Keiron! That's helpful. I'll try to give it a try.

    Best wishes,

    August

  • mCasualmCasual Posts: 4,604
    edited June 2015

    its a well kept secret but theres another version on my site
    and it's not working with morphs anymore

    i do get the error message about the propIsMorph variable not being present

    so lets find the bug ...

    i forgot to write it !, it's a function that answers the question

    " If i show you a property named "morph | note69", is that a morph, a material name or a node property? )

    ....

    and since in this new version the morphs are known internally as "morph | somename"

    it's an easy question to answer

    so the missing ingredient was

    function propIsMorphProp( propName )
    { 
     return( propName.indexOf( morphPrefix ) == 0 )
    }

    since the script was crashing at that point, it never got to the point where the normal node properties like XRotate get applied
    so even if you were not targeting a morph, the script didnt work

    to make it work for morphs the line

      var modifier = obj.findModifier( propName );

    also needed to be replaced with

      var modifier = obj.findModifier( propName.replace( morphPrefix, "" ) );

    now i'll test the XRotate animations ...

    works ... not !, the keyboard rotates instead of the one key

    correcting ...

    ok the problem is in the function that identifies the target node, based on its "long name"

    the "long name" for children of the keyboard (the keys!) is something like "mcjWurzkweil88 | note69"

    ah HA! i found it

    when the script starts, it inspects what you selected, if it's something like the mcjWurzkweil88
    which owns child nodes, the script adds them to your list of potential targets
    and it memorizes their phone numbers
    but instead of storing the child's phone number i was storing the parent's phone number !

    fixing this ...

    line 1152 which did read


    selectednodes.push( [ longNodeName,  node ] ); 

    becomes

    selectednodes.push( [ longNodeName, cnodes[j] ] ); 

    Fig 1 . - TaDa! note 069 gets midi channel 69's notes
    ( which musically speaking, is possibly not correct since the leftmost key of the mcjWurzkeil88 is not 0 )


    uploading ... now

    the name will be

    mcjMidiLoad - SuperSecretBetaJune0500h11.dsa

    tada.jpg
    596 x 706 - 209K
    Post edited by mCasual on
  • mCasualmCasual Posts: 4,604
    edited June 2015

    direct link to the super secret very still beta version

    SuperSecretBetaJune0500h11

    http://tinyurl.com/pqndoey

    ---------

    we're close to the release of a mildly final ( :) ) version

    other than making sure everything works : Morphs / Materials / Node animations
    i want to add a way to apply any complex animation imaginable for each noteOn-Note-Off event

    - complex as in ...

    - drummer-arm animation
    - color-fade-in/fade-out ramps
    - pianist wrist positioning
    - pianist fingers pianotting
    - fireworks
    - balls being catapulted

    those complex animations will in fact be short scripts or pose-animations
    which will be supplied by the user, or created using, something resembling
    when you do a File / Save As / Deprecated / Pose Preset

    the difference is that my Pose-animations will be able to start before the NoteOn events

    that's how Amy had time to lift and bring down the drum stick before hitting the drums

    beatit.gif
    400 x 300 - 352K
    Post edited by mCasual on
  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    Cool it's loaded the Piano config and applied assignments OK
    With Expand set to false, I get the piano keys going down different levels
    and with Expand set to True works great, keys fully down, well done

    First observations

    1. Notes at begining of sequence

    2. Some of the channel timeline keys don't match the keyboard

    3. I created 16 configs with the same info but with the channel changed. added second keyboard, loaded config for channel 15
    This time it placed the config onto the first keyboard not the one selected. I had selected note 87 from the drop down list before applying assignments

    On a different note when you observe the data in the Keymate timeline, you don't see the MIDI side of things this however can be fixed
    there is a dropdown box with three options TRSV,TRS AND TR just change it to TRSV and all is displayed

    cleanboot_to_dazstudio_opening_2_x_keyboards.jpg
    1923 x 1080 - 240K
    Loaded_config_for_channel_1_applied_assignments.jpg
    1918 x 1080 - 237K
    TRSv_selected.jpg
    1912 x 1080 - 223K
    MIDI_file_loaded_nothing_showing_in_Keymate.jpg
    1918 x 1080 - 224K
    Channel_1_not_matching_notes.jpg
    1921 x 1080 - 306K
    Post edited by Keiron on
  • KeironKeiron Posts: 413
    edited June 2015

    Below image 1 Notes at start of sequence
    image 2,3,4 showing although kyb 2 is selected data is placed on kyb1
    Keyboard Config

    I made a keyboard config file using just from 96 to 96, I had selected note 87 from the model, 96 is top note of keyboard C
    using notepad I added all the other notes and saved the file being carefull to check that the tabs were still there "Expand" was not selected

    Using notepad I did a replaced channel01 to channel02. I also changed the Expand funcion from false to true
    I saved this new config and did the same for the remaining channels

    Why did I do this you ask?
    I have made a 16 channel MIDI file type 1 type 0 puts all channels on the same track so it's impossible to seperate out
    Channel 1 and 2 are the 88 key Keyboard left and right
    3,4,6,7,8 and 16 not used yet
    Channel 5 is a SAX
    Channel 9 and 10 are drums
    Channel 11 is Bass
    Channel 12,13,14 are Pads
    Channel 15 is a second Keyboard

    Off to see if I can make a config for the Sax LOL

    Load_Midi_file_on_kyb_2_channel15after.jpg
    1905 x 1080 - 220K
    Load_Midi_file_on_kyb_2_channel15before_apply.jpg
    1912 x 1080 - 221K
    Load_Midi_file_on_kyb_1_channel1.jpg
    1910 x 1080 - 225K
    Notes_at_the_beginning_of_timeline.jpg
    1918 x 1080 - 371K
    Post edited by Keiron on
  • mCasualmCasual Posts: 4,604
    edited June 2015

    keiron said:
    1, 2, 3

    1. The keyboard notes are playing at the beginning of timeline, not where MIDI song starts

    some midi-to-wav converters, for example "Timidity" remove the silence at the beginning of the midi files
    so i often had to add the silence in the wav file, using Audacity
    ( kind of odd that the freeware/shareware names are related )
    or specifying in Daz that the Wav file should be inserted at, frame 100 for example ... if the first note to move is at frame 100

    2. I can see a number of notes on the time line very close to the start, is that a note reset?

    yes there's a zero-key at the beginning and for a good reason
    in non-layered mode, there's 1 keyframe for the noteOn and 1 keyframe for the Note-Off
    the interpolation mode is "Constant", meaning the key stays at the level it's at until a new keyframe is encountered
    The other modes Linear/Splined would have the keyframe values ramp/spline between notes.
    if i did not insert a NoteOff Keyframe at frame 0, then, the minute i keyframe a NoteOn 100% at frame 100, all the values from frame 0 to frame 100 would shift to NoteOn100%

    3. Some of the channel timeline keys don’t match the keyboard

    maybe it's related to the Quantizing checkbox

    Post edited by mCasual on
  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    Programs removing silence from midi file, That explaines it i'll watch out for that next time, I was going to remove the silence from the wave file.

    I'm pleased to see they are resets that's great

    LOL just noticed Quantatize is on by Default, ill try it without, I realise it's needed for drums. here a screen shot with Quantize off

    Did you see the problem about using two piano's where it's placing the data on the first one? I'll try it again today.

    PS Just loaded the same config ie channel1 into the 2nd piano and it's not going to the time line it looks like its going to the 1st piano time line.

    Just tried to do the same with the sax loaded it won't place anything on the time line is it not seeing the Instrument name?

    LOL just renamed Saxophone to mcjWurzwell88 and it works OK

    Like the load bar on loading the MIDI text file cool

    Quantize_off_notes_in_line.jpg
    1918 x 1080 - 278K
    Post edited by Keiron on
  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    I've added a couple of extra screen shots re two pianos

    I selected piano1 and loaded it into the selected timeline np
    it doesn't matter if the second is renamed this time, you can only see this if you choose another channel with different notes
    if you put the same channel no down as the first piano it all looks OK
    if you put channel 15 down it overlays channel 15 onto channel1 on the ist piano's timeline

    After_with_channel15_added.jpg
    1924 x 1080 - 245K
    before.jpg
    1910 x 1080 - 245K
    Post edited by Keiron on
  • mCasualmCasual Posts: 4,604
    edited December 1969

    keiron said:
    ... two pianos ...

    i'll see if the script can differenciate the pianos
    normally mcjMidiLoader looks for objects based on their label ( as seen in the Scene" panel )
    and not on the name which is known only to Daz Studio

    so you need to manually re-label each piano with a different label if Daz studio didnt do it for you

    but maybe mcjMidiLoader mistakenly bases the assignment target on the internal prop name
    and if Daz Studio didnt ( as it should ) rename the second piano with a different internal name
    then there may be a mixup

  • LimunLimun Posts: 182
    edited December 1969

    what a great script ...
    thanks Casual

  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    Hope you had a great weekend
    Apologies for bringing you hassle

    re
    "i’ll see if the script can differenciate the pianos
    normally mcjMidiLoader looks for objects based on their label ( as seen in the Scene” panel )
    and not on the name which is known only to Daz Studio

    so you need to manually re-label each piano with a different label if Daz studio didnt do it for you

    but maybe mcjMidiLoader mistakenly bases the assignment target on the internal prop name
    and if Daz Studio didnt ( as it should ) rename the second piano with a different internal name
    then there may be a mixup"

    I'm not sure what's changed it worked OK in ver. 3 Daz Studio has just added a (2) onto the name for the second piano, as the main name is the same ie mcjWurzkwell88, mcjWurzkwell88 (2)

    There seems to be two issues

    1. I couldn't get the model named "Sax" to post data to the timeline, until I renamed it mcjWurzkwell88

    2. The script looks like its posting the second piano data to the 1st piano timeline

    I have Expand as true and Effect as none

    I have just tried renaming mcjWurzkwell88 to mcjWurzkwell88 (2) and it won't post to the timeline

    I haven't successfully got the "Effect to" work as yet

    On an important note I'm using the new release Daz Studio 4.8, shall I deinstall and try 4.7?

    update 08062015 13:17

    With one keyboard loaded all OK and if i rename it it's OK

    with two pianos loaded
    If I select mcjWurzkwell88 it posts to timeline mcjWurzkwell88
    if I select mcjWurzkwell88 (2) it posts to mcjWurzkwell88

    update 08062015 13:38
    With a Sax model loaded Expand=true, key selected notes 60- 61 applied with out Effect applied it sends data to the timeline
    With Effect applied it send's data to the time line and an error comes up only when you select the item in the dropdown list
    see attached jpeg
    It looks like there is data on every keyframe this time

    Thank you for you help

    Script_error.jpg
    1912 x 1080 - 284K
    Post edited by Keiron on
  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    Thought i was going nuts as one minute it would post and another not

    Problems found are as follows

    One keyboard loaded all is well you can also renane OK

    1. When two piano's are loaded and you save config and reload, set channel 1 for first piano, piano 1 is OK
    now load config for second piano set for same channel 1 but it's on piano1 timeline so you don't see it
    now load config for second piano set for channel 15 ie has different notes it adds to piano 1 time line

    2 Script error when selecting something from the drop down list only when "Effect" is applied

    3. Data not displaying in time line? somehow this time only data loaded upto the pointer? there is a script error so that might give you an indication to whats happening

    loaded_as_far_as_keyframe_pointer.jpg
    1921 x 1080 - 309K
    Post edited by Keiron on
  • KeironKeiron Posts: 413
    edited December 1969

    Hi

    New Beta version Testing

    Here is the 88 key mcjWurkweil88 with the Expand function set

    The Keyboard keys are now fully traveling down

    Works great, well done Casual

    http://youtu.be/9Uhx_FEokXs

  • KeironKeiron Posts: 413
    edited June 2015

    Hi

    As my Nan used to say, where there's a will ther's a way

    This is the Beta Version of MIDIload ver 4 made by Casual showing the new Keyboard Config setting "Expand" this allows the keyboard keys to go fully down regardless of velocity setting. This time I have used two pianos on different MIDI channels, note:- the Pianos were renamed. In Daz Studio. I have also deleted all lights and default camera's and just made a single camera and light. I have used Merge to Import the two different piano scenes works great

    https://youtu.be/kviE5Aut9D8

    Post edited by Keiron on
  • mCasualmCasual Posts: 4,604
    edited June 2015

    keiron said:

    Hi

    New Beta version Testing

    Here is the 88 key mcjWurkweil88 with the Expand function set

    The Keyboard keys are now fully traveling down

    Works great, well done Casual

    http://youtu.be/9Uhx_FEokXs

    thanks, dont worry i'll get back to it ! :)

    and it will be improved

    been doing other things, like google-streetview-skyspheres

    and very soon i'll complete this bass guitar prop

    indashere.jpg
    1920 x 1080 - 1M
    itsthebestinthewoarldnot.jpg
    1920 x 1080 - 1M
    soon.jpg
    1920 x 1080 - 1M
    Post edited by mCasual on
  • KeironKeiron Posts: 413
    edited December 1969

    Hi Casual

    Nice looking bass love the shape and colours

    Best wishes

    Keiron

  • KeironKeiron Posts: 413
    edited December 1969

    Hi Everyone

    Grand Piano from Truform at Renderosity is now working OK

    https://youtu.be/7Y1MCSjfEz0

  • KeironKeiron Posts: 413
    edited June 2015

    Hi Casual

    It's in Sync even at 5 min +

    BoogieStride by Keiron Westguard

    Hi I was playing some Boogie, so I have recorded nine tracks using Magix Samplitude tracks 1 and 5 are me playing two off the cuff versions, then the whole is exported as a 16 track MIDI sequence and a single Wave File
    Using Daz Studio 4.8, I have loaded Casual's totally brill 88 Key Keyboard. I have then loaded the Wave file and using his MIDIload script. I have created an Initial piano config, I then added all the Keyboard keys using notepad. Again using Notepad I have created 16 configs each has it's own channel from 1 to 16. Importing the MIDIfile I have then used config channel 1 with the first Keyboard and saved this as a scene. using the same method I have saved a second piano scene .I have then used Merge to combine scene 1 and 2. I have then rendered 8400 images to a folder at a resolution of 1980 x 1080 images. I then used Virtual Dub 64 bit to created an AVI Yes this was huge 4.89 Gig. from here I used Magix Movie Edit Pro 2015 to sync the AVI to the Wave file

    https://youtu.be/CD9eKW2cc-g

    Best at 1080

    Post edited by Keiron on
  • KeironKeiron Posts: 413
    edited December 1969

    Hi Casual

    i thought i'd try to get a bit of Brass and Grand piano's Playing some Boogie LOL

    https://youtu.be/nVFIT5LQBBY

Sign In or Register to comment.