Script generator for Blender: convert Midi notes to keyframes
Vložit
- čas přidán 22. 07. 2024
- This nifty little tool converts MIDI notes to keyframes for your Blender composition. It reads out the notes from a MIDI file and converts this to a python script that runs inside Blender. There it will place keyframes at exactly the same position where a MIDI note was triggered.
Think about how much of a time saver this will be! Ever tried keyframing visuals under a breakcore or a jungle track? Well, good luck. With this tool it's just a matter of seconds and it uses the same source as how the audio file was generated in the first place. How much more in sync can it get?!
FREE beta release can be download here: / 0-9-4-release-79494138
Please consider the further development of this tool by liking and subscribing and/or even became a Patreon! It helps a lot!
Timetable:
intro 00:00
what is MIDI? 00:40
midi 2 keyframe tool 01:41
run in Blender: 02:22
what is ADSR? 03:49
how to set up Drivers? 07:27
where to download? 09:10
outro 09:32
Instagram: / daily.typo
Facebook: / factory-sett. .
Have a look at our Patreon website for more tutorials, the workfiles and several other gadgets and tools! / factorysettings - Krátké a kreslené filmy
Literally what Ive been looking for the longest. This is so useful for doing keyframes on emission lighting (or anything really since you can copy the keyframe data to anything else). What took 3+ hours to keyframe can be done in under 10 min. This is amazing thank you so much guys
Exactly! Great that you see the potential of this!
this is insane, i have been looking for this for months now. this video never popped up on youtube, thank you very much
Indeed! Spread the word! ;)
@@FactorySettings btw i have a quick question regarding this topic, is it possible to increment a value using this setup?
Imagine an array modifier that increases its value each time the midi note gets triggered.
@@dannw1286 Yes, just like in the tutorial, you'd use the scaling of the cube to increase the count of the array. It's a normalized value, so you could for instance multiply it with 10 and use a rounding of 'floor' to make sure you get round numbers. Just like I did with driving the intensity of the light, it's almost the same expression, but only in a different place.
@@FactorySettings Maybe I am misunderstanding your comment. The goal is to increase a steady variable using the trigger. When midi gets triggered 5 times, the count of the array should be at 5 aswell, with each trigger incrementing the amount by 1. Afaik the current implementation only allows the array to jump to an amount and then fall back to its base value. Ig its possible to change the value inside the graph editor, but that defeats the purpose of streamlining workflow.
@@dannw1286 Ah I see, well, that would involve an adjustment of the script exporter, currently, not sure how someone would use that information but if the community demands, I could have a look.
Amazing stuff!
Love it a few months ago I modeled an old synth and used the MIDI to drive the sequence LEDs and keys on it, I shared the video and this link
Awesome! Love to see it!
@@FactorySettings i tried to add a link in a comment but it keeps deleting them
@@mikethom2119 email? instagram?
@@FactorySettings On here, dmd you on insta
Congrats guys, really helpful
Great! Good to hear it's helpful!
this is amazing!
AMAZING!
Very good job bro! this combined with AddRoutes addon can already be very beast 🙌
Much appreciated! Thanks for pointing that out, Havn't heard of Addroutes!
thanks!!!
Hey there, thanks for the very well done walk through. Excellent tool, I really need that one now. But I might have run into an issue, the Python script that is beeing exported is empty. Strangely it worked once, but I cant get it to export another file. Any idea, what I did wrong... thanks in advance and best wishes.
I think I know what you mean, I recently fixed an issues where it skipped note_on messages with velocity '0', that's has to be seen as a note_off. You could send me your midifile with the parameters you'd like to be set and I'll export it with the upcoming release 0.9.4.
@@FactorySettings Oh... excellent! Thanks! (Mind=blown ;-)
This is SO cool!! But I'm trying to animate a keyboard, where all the keys rotate from 4 degrees when up and -2 when down.
Can I change something in the script, so these values are set?
And also that Driver thing, OMG I can't have it working to translate your values to 4 to -2 on my keyboard, so I have to copy paste all the values in the graph to each key :(
It should be quite easy to remap the values from the midi velocity to something you'd like. So in your situation that would be 6 * var - 2, to go from 0 to 1 to -2 to 4
@@FactorySettingsChatGPT helped me recode it :D
I now have cubes rotating from 4 to -2 and made a "Copy Rotation" Constraint to all the keys ;)
...I can then generate a new song and only copy the song data your app generated.
But now my problem is, when I generate a new script in the same project, it's empty for Keyframes - I have NO idea why. I will find out some other day :D
Hmmm. The Patreon link appears to be to a tool for After Effects, rather than Blender...
The tool has two buttons, one export for AE and one for Blender. I've uploaded the tutorial for AE first, found it a bit redundant to make a separate post. But thanks for reaching out!
Nice tool. Howerver, im getting the Error: TypeError: Converting py args to operator properties: : keyword "scale" unrecognized. When i run it on blender 3.6
Interesting, could you email me the export script, curious to see if I can replicate the error as well. Thanks for mentioning!
Wow! Can it also transfer velocity values? 😮
Not sure what you mean by that, but the velocity of the midi data, you know like the 0-127 range, gets normalized to a value between 0 and 1. So yes, in this cube scaling example, the higher the velocity, the higher it will scale.
Hi, since I am very interested in this tool, I tried it.
Unfortunately, when I load a .mid file (exported from Reaper), I have an "Error" popup with "Please load MIDI file". The file doesn't seem corrupted, it works fine when imported again in Reaper.
What could be the reason for this issue ?
Thanks by advance for your help and this amazing tool !
Could you send me the midi file, I'm curious what would be the issue....
@@FactorySettings Midi file sent to your mail !
Hello there,
Is there a way to have that work for Autodesk Maya?
i guess somehow you can export from blender to maya using fbx, idk
Cool, albeit ir's been reported as malicious
Yes I know, need to pay microsoft quite some fee in order to not let this earmark as malicious. And renew every year. Perhaps in the future when there is more budget. For now, it’s just based on trust, nothing spooky going on in the app ;)
хаха лучше круто