If you’re clever you probably already know what I’m going to explain from the topic title alone
If you’re impatient or don’t like to read words, here’s a screenshot of what I did:
And now for the explanation!
If you add a new phrase to an instrument that did not have phrases before, you get a phrase with a single C-4 note that is stretched across the entire keyzone of your drumkit/instrument. Play it like this and this one note is transposed with whatever key you hit, meaning your instrument sounds exactly the same as it did before it had any phrases.
This phrase has four columns by default. If you add a C-4 in each of them, your drums will sound four times as loud (assuming no other crazy tricks are going on).
Now, if you add a Y00 in the rightmost effect column, and a Y8 in each of the four volume columns, Renoise will randomly pick just one of these four columns to play. Since each column produces the same sound, again, your drums will sound exactly as they did before, and you may start wondering what’s the use of this exercise. Hold on!
Finally, click the DLY button to enable the delay column, and give the second, third and fourth columns a delay value of, say, 10, 20 and 30 (the first column stays at --, meaning 00, no delay). What happens now? Renoise will pick one of the columns at random, and therefore each and every drum hit will be delayed by 0/16th, 1/16th, 2/16th or 3/16th of a line!!
You can, or maybe should, disable the Loop button on your phrase. Now you can also set the phrase length to a single line (you don’t need more, maybe it saves CPU or something).
Your drums are now humanized, as if played by yours truly (I can’t play drums very well, nor keep a steady rhythm).
You probably want to pick smaller values than 10, 20 and 30. It really sounds like quite shoddy drumming if you randomize the delays that bad. But it serves the purpose of creating a very clearly audible “humanization” of the drum timings.
It’s possible to add more columns to the phrase, to create a finer spread of delay values.
I didn’t try (yet), but I figure you can use the phrase-LPB value to quickly tweak the total amount of humanization, so you don’t have to adjust all the delay values separately (more LPB = quicker lines = smaller delays = less humanization).
Also you can tweak the Y8 values, to adjust the individual relative probabilities of each column. If you do this cleverly you can perhaps approximate a Gaussian distribution in delay values, which is a good model for the actual distribution of a real live drummer’s inaccuracies. On the other hand, tweaking the relative probabilities away from equal odds reduces the entropy of the choice (as some options will be chosen less often than others), and you can also approximate the distribution by cleverly picking the delay values themselves. I might run some quick Python simulations on this and update if I find some nice values. On the other other hand, I kinda doubt if you can actually hear the difference between a uniform and Gaussian distribution anyway.
Last remark, I said above “assuming no other crazy tricks are going on”, one of those crazy tricks is the following cool thing I discovered by accident as I was trying this out: Another “humanization” trick I have running on my drumkit is in the Modulation section of the instrument, I have a very slight random LFO running over the pitch (frequency = 8 beats, amplitude = 0.030, pitch range = 6 st), that way every drum hit is also played at a slightly different pitch, simulating slightly different ways of hitting the drum things. With that setup, in step 2 above, playing the same note in all four columns at once did not just make the instrument four times as loud, I also heard a weird flanging effect. Investigating this, I found that it will also play each column at a slightly different random pitch: BAM! INSTANT CHORUS. I’m not yet entirely sure how useful that is, but as I said, I accidentally came across the effect while building this maybe-delay-phrase-humanization contraption.
Got feedback? Yes please! Try it out, play with it, get creative, I want to hear your thoughts and ideas!
(BTW it can very well be that someone already posted this trick as Renoise3 has been out for a while now. If that’s the case, I apologize, that other person can take the credit, though I hope this post will be useful for some people nonetheless)