Philippe Hezaine a écrit :
You are a Sir, Gabriel.
Yes, I'm trying to "humanize" drums patterns.
Hi Gabriel,
Ha! Ha! May be you are fallen into a trap.
My previous snippet was not complete!
If you want to become a SuperSir (the ultimate step being SuperMan) you
have to overcome at least two issues. :)
Well! Seriously all is working OK. For those who are interested in the
first ten tries I join an archive. It's rather indigestible, a bit like
a numeric rapport on the moving of stars. :)
I have deliberately chosen an example with almost uniform velocities.
So far my two main issues are:
- Some filters for all the lines with text ie. Meta, TimeSig, Tempo,
TrkEnd, MTrk... You'll see the things in the archive.
- Some filter for not taken in account Note Off or else only Note On.
Otherwise the script doesn't work with these files, of course.
Some others issues:
- Protect all 000:00:000 for not being written with negative values.
- This one is terrifying: Absolutely no overlap between a value of Meta
TrkEnd and the previous note Off.
I was correcting by hand this two issues.
But what a tricky and subtle problem! And now it also sounds I can also
randomize volume values with some filter. Why not?
To be honest, I didn't think of a so quickly answer. So far I haven't
still entirely finished the polymetric section of my project.
Randomization is the ultimate step in my plans. (I'll reach Superman
with that!) ;)
In terms of "optimization" of my project (-You know! this "nastugly"
hack done with gvim by a tiny musician who is coming to play in the
schoolyard of the older ones...) and given the previous issues may be a
solution in gvim is wiser. I don't know, I'm not a dev. And I don't find
randomization in gvim. I have only some commands like:
:g/loc\|On/s/:00\d/\=submatch(0)+3/
for increment numbers by +3 on Note On lines only for instance.
I'm sure you understand my thoughts. Advices are welcome.
Anyway whatever happens all these tries and the next ones are beneficial
to understand this tricky area.
Cheers.
--
Phil.