Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.
Comments
to address this problem
in the thread here
http://www.daz3d.com/forums/discussion/46023/
or on my site here
https://sites.google.com/site/mcasualsdazscripts4/mcjanimatsave
i posted a special script to save/load the material animations using Daz 1,2,3 and 4
in fact if someone animates materials using midi/music they'll need to use it too
---
in the image below, by animating the vertical offset of a filmstrim image
while i'm at it i'll add fingering helpers
side-side
lift ( section 1 of the finger only
curl ( all 3 segments of the finger)
curl tip ( sections 2 and 3 of the finger )
...
there it is, almost ready for the rollout
- - -
since i often spend time selecting fingers 1,2,3,4 and Bending all 12 knuckles
i include a Tab , to do it faster!
-- unfortunately DS4.7 shrinks my cute little hand icons
the hand pose script can be found here
http://www.daz3d.com/forums/discussion/54267/
and/or here
https://sites.google.com/site/mcasualsdazscripts5/mcjhands
if you have trouble downloading the installation zip package
here's a link
https://sites.google.com/site/mcasualsdazscripts5/mcjhands/mcjHands.zip?attredirects=0&d=1
even available for DS 1.8 !
I can't wait to try the complete kit!
I think it can be extremely useful for many different purposes!
Keep the good work!
Hi Casual
I've just installed the Hand Script and it works great
Thats a dificult problem sorted, very well done
Thank you for all of your hard work much appreciated
Kind wishes
Keiron
I paid good money for a plug-in to do this in DS2 & 3 (HandGrip), and it wasn't updated, either. Now you're giving it all to us for free?
I salute you! Thank you!
I tried the script and it's very useful.
But I think there are an error on some label: Twist wrist seems to bend it and Bend wrist seems to twist it... I'm worng?
it's something i said i'd do yesterday but i'll do today
this script was designed for piano hand poses
so the rotations are aligned with the shoulders ( chest ) of the figure
When playing the piano the hands point in front of the figure
so the wrists bend perpendicular to that
One advantage of that is that the fingers don't go sideways and off-keys
( as could happen with the usual wrist bend )
so today i'll add a mode where the wrist bend is a wrist bend
note that the shoulders movementsare also designed
for cases where the shoulders are bent almost 90 degrees
here you can see, in pianist mode, the arms twist around a perfectly vertical axis
so the pianist hands move horizontally
in non-pianist mode, the arms will twist around the shoulder segment
and the new version
coming up this afternoon
with have an "other hand" button !
you could stay all day in the script ! hours of fun
I have to wait a few more hours, don't I? :(
;)
i'd say, less than 35 minutes from now.
gotta test it in DS4.7 and/or ds4.8 and ds1.8 and 2.3
DS4.8 test conclusive
but pushing the publishing deadline ... 40 minutes from now
so i can add saving/reloading your two settings, the step angle and the piano checkbox
1:37 - the script will also save/restore the settings in the "fingers" tabs
i reviewed and corrected the rotation directions so they match the arrow in the little thumbnail images
i still have to check DS1 and DS2 compatibility.
1:54 - gotta fix the fingers rotation too for Left/Right rotation inversion issues
last issue to fix is the wrist bend icons
( DS 1.8 doesn't seem to allow text+icon on buttons )
my DS2.3 was recently sort of uninstalled and i have to wait for the content scan to end !!!
while we wait, enjoy this on-hold classic https://www.youtube.com/watch?v=xRqI5R6L7ow
....
DS2.3 check, check
oops we were not even on the right thread !!
anyway, the new mcjHands is ready !!
https://sites.google.com/site/mcasualsdazscripts5/mcjhands
direct link to the download ( it's the little blue down-arrow you know )
https://sites.google.com/site/mcasualsdazscripts5/mcjhands/mcjHands.zip?attredirects=0&d=1
re new mcjHands
Hi Casual
This is superb
Very easy to use
Very well done
Many Thank's
Your a Star
CEGC Chord Left and Right
PS She can Boogie with this LOL
Left hand Pinki c1 then Thumb c2, move Pinki e1 then Thumb e2, move Pinki g1 then Thumb g2, move Pinki a1 Thumb a2, move Pinki a1# then Thumb a2# move Pinki g1 then Thumb g2 return to begining
or just c1 move e1 move g1 move a1 move a1# move g1 return to begining
Keiron
Amazing work as always!
With this new script, posing hands is matter of second! I never reached this speed in my workflow posing hands!
Thanks very much!
well i'm back from the usual digression mcjWindowWall, mcjWallDoor, mcjIsoSurface3 ....
the next objective is to post the Midi-Loader tool
this loads the midi music data into a "midi" node in the Daz Studio scene
i just have to make sure i understand the midi tempo/timebase messages correctly
objective 1 : mcjMidiLoader ( today?)
the second objective is to post the script specifically tailored to the mcjWurzkeil keys animation
objective 2 : mcjWurzkeilPlaysMidi
third objective is to post the script which helps animate the wrist positions of a figure while playing keyboard
objective 3 : mcjPianist
fourth objective is to post the script which lets you animate everything else, for example, the drum playing demos,
color organs, laser harps, bouncing balls etc etc etc etc
objective 4 : mcjMidiAnim
i also plan to make a more universal keyboard animator
objective 5 : mcjKeyboardPlaysMidi
-------
figure 1 - new assistant Zoé at the Wurzkeil
Hi Casual
Welcome back
Found this
MIDI Time Signature and BPM
In this guide I'm going to explain how MIDI files keep time. There's quite a lot of information about MIDI time keeping on the internet but I found that usually the sources said the same thing as each other and didn't provide much context. Here I've tried to provide some context of how each of the following numbers would be used in practice.
MIDI Time Signature:
Type: Meta Message value: 255 (0xFF)
Sub Type: Time Signature Message value: 88 (0x58)
Message Format: FF 58 nn dd cc bb
The time signature is important for several reasons. Firstly it's vital to properly notate a piece of music. For MIDI editing software like Finale it's important to be able to retrieve the standard sheet music time signature. The software would need to know the time signature numerator and denominator to lay the music how the author intended i.e. where to put the bar ends.
[nn] Numerator The numerator represents the numerator of the time signature that you would find on traditional sheet music. The numerator counts the number of beats in a measure. For example a numerator of 4 means that each bar contains four beats. This is important to know because usually the first beat of each bar has extra emphasis.
[dd] Denominator The denominator represents the denominator of the time signature that you would find on traditional sheet music. The denominator specifies the number of quarter notes in a beat. A time signature of 4,4 means: 4 beats in the bar and each beat is a quarter note (i.e. a crotchet). In MIDI the denominator value is stored in a special format. i.e. the real denominator = 2^[dd].
[cc] MIDI ticks per metronome click The standard MIDI clock ticks every 24 times every quarter note (crotchet) so a [cc] value of 24 would mean that the metronome clicks once every quarter note. A [cc] value of 6 would mean that the metronome clicks once every 1/8th of a note (quaver). Be warned, this midi clock is different from the clock who's pulses determine the start time and duration of the notes (see PPQN below). This MIDI clock ticks 24 times a second and seems to be used only to specify the rate of the metronome - which I can only assume is a real metronome i.e. a device which makes a tick noise at a steady rate... tick, tick tick...
[bb] 32nd notes per MIDI quarter note This value specifies the number of 1/32nds of a note happen every MIDI quarter note. It is usually 8 which means that a quarter note happens every quarter note - which is logical. By choosing different values it's possible to vary the rate of the music artificially. By putting a value of 16 it means that the music plays two quarter notes for each quarter note metered out by the midi clock. This means the music plays at double speed.
MIDI Tempo:
Type: Meta Message value: 255 (0xFF)
Sub Type: Set Tempo Message value: 81 (0x51)
Message Format: FF 51 tt tt tt
This meta message signifies a change in the tempo of the music. This is given by a change in the number of beats per minute (BPM) of the piece.
[tt tt tt] Micro seconds per quarter note The tempo is given in micro seconds per quarter beat. To convert this to BPM we needs to use the following equation:
BPM = 60,000,000/[tt tt tt]
Pulses Per Quarter Note (PPQN):
In MIDI notes are measured in pulses rather than in time. The note start time and duration will be a discrete number of pulses. Pulses per quarter note can be found in the header part of the MIDI file and specifies how many midi pulses make up one quarter note. This is useful for determining note values - if the current PPQN is 96 and a note's duration is 48 we know that it's a quaver. It's also vital for determining the rate at which the MIDI file should be played. The tempo tells us how long each pulse should last. The BPM measures how many quarter notes happen in a minute. To work out the length of each pulse we can use the following formula: Pulse Length = 60/(BPM * PPQN)
thanks, now i'm more confident the midi-loader will work on any midi file, even on ''Take 5''
oops wait wait ... getting doubts ... i picked 96 as the PPQN .... but they say the "header" so maybe the PPQN is the number 384 in the MFILE statement
yes indeed
also the midi pulse is 460.8 Hz in this case
---------------
. o O( i think i should never let a midi rendition of a Spice Girls song play in loop more than 10 times )
instead let's be done with it and play the real thing https://www.youtube.com/watch?v=FA5jsa1lR9c
the MV is 1996 btw
Hi Casual
Keep up the great work
OK so I like the Spice Girls to LOL
Keiron
well actually 2become1 i like because i find it comedic, but i like Viva Forever, plus i see they've got animations in the MV! https://www.youtube.com/watch?v=3wkuqRFXNvI
unfortunately color properties animation keys are integer based and don't seem to have interpolation control
so the script has to create 1 key per keyframe
plus the fact that DS4 doesn't save materials animations
so the color animation option will be there but necessitate more care
( there's also ERC-like solutions and UV tricks )
what i will call "transfer tables" This table define which animation is triggered by which midi note
for my tests i used a text file which i edited in Excel
but you'll have a viewer-editor right in Daz Studio
in this case all the 61 keys of the wurzkeil keyboard get X-Rotated by
0 degrees when the note is off
and
7 degrees when the note is On at full volume
i'll add an option where a note is Off when the volume is 0 and On when the volume is non-zero
---
Fig 2 shows the table i used to animate the Ambient Strength of the notes
the property name "0/ Ambient Strength" is a typo!
but anyway, it shows that you'll be able to animate any "strength" type of material-property or the UV tiling/offset
Fig 3 shows the table i used to animate the diffuse color of the notes
you can see color codes for black, white and red
---
you know, it would be possible to actually activate a midi synth instead of animating things in the scene
but i wont get in that !!! stop me
( soft synth, real synth, speech synth, vst plugin synth , kinect, theremin, etc etc etc )
Hi Casual
"you know, it would be possible to actually activate a midi synth instead of animating things in the scene
but i wont get in that !!! stop me", no go for it
How about using a colourful suit on Victoria or Micheal to control your MIDI Keyboard LOL
Ah just thought "you could make a new shaped instrument like a number of multi legged spiders" each could play an octave range
"Your making a program with endless fun"
Just think of all the Keyboards up to 88 keys you could animate by rotating the keys or up and down
Piano's, Keyboards, Organ's, Handheld Keyboards, Accordians, Sax, Trumpets, Drums, Strings it's endless
Changing the colours, great fun you could animate the Daz Suit to Music LOL very cool
Great job
Keiron
mcjStorePose : one of the midi tools will let you save animation snippets as a script file ( similar to a pose preset )
Last time, we saw you can animate
-named properties ( ex: XRotate )
-material colors ( ex: Diffuse Color" )
-material strengths ( ex: "Ambient Strength" (
there will also be
- (name/label) morphs ( ex: Blink Right" )
and there will be
-scripts
In the animated gif example below, the script to run upon a note being played
is the Hi.dsa script, which happens to be an animation snippet recorded earlier
using mcjStorePose
Hi Casual
Great Idea linking MIDI to an Animation Sequence
Since were gifted with two thumbs and eight fingers you would possibly have no more that 10 occurences at one time, unless you can also use your toes LOL
I did wonder if I should have used 24 FPS or 48 FPS instead of 30 FPS, as I though that may be easier to sync the MIDI clocks to the VIDEO together
You can usually Quantatise the played notes to force them to play exactly to the exact notes in a Bar, this looses some of the way someone plays but for animation it may not need to be so precise
This may be worthy of a read
re MIDI timing and Song Pointer Info
http://recording.songstuff.com/article/MIDI_sync/
Kind wishes
Keiron
in fact in my most recent test i was noting that if someone plays note very fast
( used https://code.google.com/p/virtualpiano/ )
then, the way my script is set up, i can lose keyframes , because my test animations
start 5 frames before the note sound arrives ( she hits the keyboard on the 5th frame
Animation clips are clashing
so that's one issue i'll address somehow
about quantization, i'm not sure yet if i'll force notes to happen on exact movie frames
daz studio allows keyframes to happen between movie frames
note that one could render movies at 120 frames per second, and add motion blur
the result would be a 24, 25 or 30 fps video where we could perceive what happens between frames
--------
maybe i'll make the note-hit happen on exact frames
or have this as an option
----
just now realised the v in the midi messages is velocity not volume
i was counting on the fact that so far v was always 0 for the midi-off events
but i see a midi file here with
there will be an 88 keys version of the Wurzkeil ... soonishingly
Hi Casual
Now thats a cool, 88 key keyboard thank you
"just now realised the v in the midi messages is velocity not volume
i was counting on the fact that so far v was always 0 for the midi-off events
but i see a midi file here with "
Note off can be 0 or 64 or on other models 0 to 127
It looks like there are 3 bytes
Byte 1
starts with a 1
sss= type Note off= 8n, Note on = 9n
nnnn=channel
1sssnnnn
Byte 2
starts with a 0
leaving 0 to 127 for Notes
0nnnnnnn
Byte 3
Starts with a 0
Leaving 0 to 127 for Velocity
0nnnnnnn
or maybe in text you could use if text = "on" then y=1
if text = "ON" then y =1
if text = "off" then y = 0
if text = "OFF" then y=0
then use y for up and down or rotate
For safety it's wise to send a note OFF to all channels just in case a midi data gets lost and a note gets stuck
in Animation case for the Instrument maybe all keys etc should be set to there start position at the end of play
MIDI Note-on Message
The MIDI note-on message is used for turning on MIDI notes. The note-on message is a channel message and is consequently restricted to one of 16 pre-defined MIDI channels (i.e., numbers 0 through 15). The basic format of the MIDI note-on message is shown below:
Most-significant Nibble Least-significant Nibble Byte 1 Byte 2
1001 MIDI channel [0 - 15] Key Number [0 - 127] Velocity [0 - 127]
MIDI Note-off Message
The MIDI note-on message is used for turning a currently playing MIDI note off. When the note is turned off, it is just like an instrumentalist releasing a note. Hence, when the note is released, its sound should start decaying according to the timbre of the currently sounding instrument. One thing to keep in mind is that you need to know the key-number and the MIDI channel that were used when turning the note on. Turing a note-off that isn't currently registered with the MIDI synthesizer as being on will have no effect.
Most-significant Nibble Least-significant Nibble Byte 1 Byte 2
1000 MIDI channel [0 - 15] Key Number [0 - 127] Velocity [0 - 127]
MIDI Channel: In the General MIDI specificiation, MIDI channel 9 is reserved for the use with percussion instruments. In this context, a percussion instrument means an instrument that has no note-setting or pitch setting. For instance, a Low Floor Tom is a percussion instrument in this context, while a Timpani is NOT a percussion instrument. The Timpani is not considered to be a General MIDI percusion instrument because you can specify a pitch. All of the remaining channels (0 through 8, 10 through 15) are reserved for use with pitched or non-percussion instruments.
Key Number: For pitched instruments (i.e., non-percussion instruments), the key-number specifies the piano-key number. The General MIDI specification assigns the number 69 to A440 (i.e., the international standard that assigns a pitch of 440 Hertz for Middle-A on the standard piano keyboard). Before General MIDI, different mappings were supported by different manufacturers. For percussion instruments the MIDI key value is used for specifying the instrument number. Again, General MIDI specifies a list of standard percussion instrument table. That table assigns a specific instrument number for each MIDI key value.
Velocity: The velocity specifies the volume or force, with which the note is played. The concept here comes from a keyboard. The faster that one strikes a piano keys, the louder the note will sound. Additionally, the timbre or instrument quality will change along with the velocity. More expensive MIDI synthesizers will change the timbre of the played note as the velocity in the note-on message changes. In my experience, only the most feature-rich computer-based MIDI synthesizers/sound-drivers will vary the timbre with the velocity. Notice the primary limitation! Once a note is played, there is no way of chaning the velocity. As I'll discuss is a future article, there are ways of modifying the channel-volume, but there is no way of changing the volume of an individual note.