# Topic: Humanizing playback.

1. ## Humanizing playback.

Is there by any chance a Gaussian probability distribution function available for the K2 scripting language?

2. ## Re: Humanizing playback.

I didn't know Gauss was a musician

3. ## Re: Humanizing playback.

The problem with doing it by script is that the playback will never be early. Certainly you could keep track of the lateness of each hit and deviate only slightly from the previous one, keeping within certain boundaries and tending towards the center more when higher latency are reached, but then again, you'll never be early. What you could do is make your host play early always and center your probability around a lateness equal to the host's earliness.

There is a random function in the script. All you need to do is to keep track of the last hit's latency and deviate (or not depending on what random returns) from that slightly on the next hit, with a higher probability of tending towards the center as you get further from the center.

fizbin

4. ## Re: Humanizing playback.

The easiest way to emulate random numbers with Gaussian distribution is to pre-calculate them and put them into an array. Than pick random numbers (this time using the built-in random() function) from that array.

5. ## Re: Humanizing playback.

NOTE: I am a relatively uninformed person about Gaussian ANYTHING, so take what I say in the gentle spirit it is offered...

Could one delay every note by default by the same (configurable?) amount (which then is considered "on time" playing) and then some are delayed less (appearing to be played early) and some are delayed more (appearing to be played late)?

Mark

6. ## Re: Humanizing playback.

Originally Posted by Coriolan
The easiest way to emulate random numbers with Gaussian distribution is to pre-calculate them and put them into an array. Than pick random numbers (this time using the built-in random() function) from that array.
Unless I am misunderstanding, I don't think this is the way to do it. I think that if the playback is tending late then you want other notes to also tend late (to slightly random degrees) and then if playback starts to tend toward the center or even early then you want other notes in that timeframe to do the same. Also, with the script it will be possible to make the snare play a little late while all the other drums are basically on the beat or other similar "human-like" tricks.

fizbin

7. ## Re: Humanizing playback.

I just did a cursory examination of the Script for "Humanizer". That one allows the user to manually specify the Timing variance, Velocity variance, Tuning variance and Volume variance within a user-settable group of ranges. Apparently it only randomizes within the range specified, so I don't see any other function use.

(By the way, the Script Language manual is in both PDF and TXT format, apparently so you can easily copy/paste some of the examples as starting points. It is also possible to copy any/all of a particular script when you load one up in K2 and use any of those are a starting point, also! Cool.)

KevinKauai

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•