Helpful ReplyNew "SUPER" CAL Script: HUMANIZE PLUS.CAL !

Author
rogeriodec
Max Output Level: -75 dBFS
  • Total Posts : 753
  • Joined: 2004/04/09 13:55:04
  • Location: Brazil
  • Status: offline
2018/09/12 05:01:19 (permalink)

New "SUPER" CAL Script: HUMANIZE PLUS.CAL !

I have been working on this script for several weeks, consuming dozens of hours of work, mainly to adapt a complex logic from POLYNOMIAL BICUBIC INTERPOLATION to all the technical limitations of CAL Script, besides all the time to learn this language.
But now the first version is ready.
The idea behind this script is to give more flexibility and more power to the humanization of MIDI tracks.
Unlike the original "HUMANIZE.CAL", this script does not work with a percentage but mainly based on ticks.
This is because working with percentages generates many distortions. For example: Applying 10% on a long note and a short note creates absurdly different widths on the notes.
Also, one technique I intruded on was the random creation of controls (ModWheel or CC) during a group of notes. This allows small (or large) variations of pitch and expression.
This is also especially useful when you work with several similar instruments in unison. For example, 4 French Horns. If you simply duplicate the same track from 1 horn to 2 or more, this will result in phasing. In this case, a good "humanization" accessible via MIDI is to make small random changes of pitch, expression, note position, note width, etc. Of course, several other aspects will help to avoid phasing, such as handling the timbre of the instrument, position within a virtual stage, impulse response, etc. But that's not the point here.
So let's get down to business.
 
HUMANIZE PLUS.CAL has the following features:
  1. Changes the note velocity, time and/or length, based on an informed random range;
  2. Slides any current CC (1 = modulation, 11 = expression, etc) time and changes its values based on informed parameters;
    ... or ...
  3. Creates a random sequence of ModWheel or CC which are interpolated by an algorithm of POLYNOMIAL BICUBIC INTERPOLATION.
So from this:

 
You can get this:

 
Starting as an example, first, the parameters are dynamic, that is, depending on the value entered in one parameter, other parameters can be requested or not.
Here are all parameters (regardless of the choices between one parameter and another):
  1. The script basically works with two types of events: Notes and Controls. To modify only notes (velocity, width, value), choose 1. To create or modify controls (ModWheel, CC), choose 2. To modify both, choose 3...
  2. If you chose 1 or 3, the following parameters will be displayed:



    If the value zero is entered in any of the parameters, nothing will be changed referring to the corresponding parameter.
  3. If you chose 2 or 3 in the first parameter, the following parameter will be displayed:

    In this case, if you enter -1, the script will generate a random series of ModWheel. For values from 1 to 126, CC will be generated with their corresponding numbers. Ex: 11 will generate (or modify) a CC#11 series. Note: CC#127 is not allowed as this is used internally in the script for logic controls.
  4. If you chose some CC number, the following parameter will be displayed:

    Option 1 will create a random series of the CC previously chosen, within each block of notes found, and will interpolate them with the bicubic algorithm already mentioned. Important: In this option, the existing CCs will be erased, within the selected sequence.
    Option 0 can be used if you want to move a series of CC that already exists and still optionally change its values.
  5. If option 0 (update current CC) is chosen, the following parameters will be requested:

    Here you can enter the number of ticks to move the existing CCs (negative shifts to the left and positive shifts to the right).
    For example, by choosing -1000, ALL the CCs chosen will be shifted 1000 ticks to the left.

    This number will be added (or subtracted, if negative) from the value of each CC found.

    For example, if you already have a passage with multiple CC#11:


    ... entering -1000 in the "Slide Time" parameter and -30 in "Number to Add / Subtract", all CC#11 found within the selected notes will be shifted 1000 ticks to the left and their values will be subtracted by 30:
  6. If option 1 (Create new CC random series) is chosen, the following parameters will be requested:


    This will create a new random series of CCs, bicubically interpolated, within the reported minimum and maximum values.

  7. If you previously chose -1 (ModWheel), the following parameters will be displayed:


    They work in the same way as the last two CC parameters explained above, however, within the minimum and maximum values allowed by ModWheel.
  8. Finally, if you initially opted for -1 (Modwheel) or by the parameter "(1) Create new CC random series", the following parameters will be shown:

    This will determine the space (in ticks) between the random control points within the selected notes.
    For faster variations, enter a smaller value. For slower variations, enter a larger value.

    This will determine how many ModWheel or CC events will be generated as interpolation between one control point and another. 1, it will generate the maximum of possible controls, that is, 1 control per tick. Larger values will generate fewer controls.
You can download both files at once here, or directly from GitHub.
 
There are 2 files, which must be in the same folder:
  • HUMANIZE PLUS.CAL: The main script; <<<----- You should only run this file...
  • HUMANIZE PLUS-inc.CAL: The included script, used internally.
post edited by rogeriodec - 2018/09/13 00:56:34

rogeriodec.com.br


* Cakewalk By Bandlabs (always lastest versions), Window 10 x64
* Focusrite Scarlett Solo Audio Interface
* Intel i7-4790K CPU @ 4.00 GHz / ASROCK EXTREME 4 Z97 Mobo
* 2 SSD Samsung Evo 250 Gb (RAID-0) + 1 Western Digital 2 Tb + 1 Seagate 1 Tb
* Onboard video / 16 Gb RAM HyperX Fury 1600 Mhz
* 3 LCD Monitors
* Axiom 61 MIDI Controller, Tapco S5 Active Studio Monitors
#1
ZincTrumpet
Max Output Level: -73 dBFS
  • Total Posts : 891
  • Joined: 2014/12/02 13:30:11
  • Location: UK
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 07:44:04 (permalink)
Wow! Amazing work and documentation, thanks a lot rogeriodec.

ZincT

Cakewalk by BandLab 2018.11 Bld 31, Windows 10 Home 1803, Intel Core i5 3570K 3.40 GHz, Gigabyte Z77 HD3 mobo, 16 GB RAM, Nvidia GTX 750 Ti Fanless, Steinberg UR242 Audio Interface (F/W 1.01), Yamaha Steinberg USB Driver 1.10.3
Latest music: Click Here
#2
sidoine72
Max Output Level: -90 dBFS
  • Total Posts : 3
  • Joined: 2016/06/29 06:21:33
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 09:15:59 (permalink)
Hi rogeriodec,
Thanks a lot for your work, I'll try that as soon I get time.
Have a nice day.
Sidney
#3
southpaw3473
Max Output Level: -75 dBFS
  • Total Posts : 782
  • Joined: 2008/04/22 16:50:41
  • Location: Western MA
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 11:53:30 (permalink)
Thank you for all of the work you have been doing with CAL. You have addressed the scripts that I use the most and this one will be incredibly helpful!

We'll not risk another frontal assault-that rabbit's dynamite!!!

Tommy Byrnes
Sonar Platinum
Win 10 Pro x64 AMD FX 8350 Eight-Core 4.00GHz/ ASRock 970 Extreme4/ 16 gigs RAM
UA Apollo Firewire/UA 2 Quad Satellite/ Focusrite OctoPre/Makie Onyx1220i Mixer  
THANK YOU!!!
#4
sping
Max Output Level: -90 dBFS
  • Total Posts : 30
  • Joined: 2008/05/24 07:49:03
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 11:58:46 (permalink)
Thanks Rogerio!
Looking forward to test this one. Just have to read the manual first
#5
chris.r
Max Output Level: -86 dBFS
  • Total Posts : 206
  • Joined: 2014/12/20 20:18:15
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 13:55:23 (permalink)
bravo!  I like the logic behind your approach
#6
Atsuko
Max Output Level: -83 dBFS
  • Total Posts : 365
  • Joined: 2012/09/21 18:17:28
  • Location: Rio de Janeiro, Brazil
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 14:15:11 (permalink)
Obrigada!!

Desktop Intel I7 12GB RAM Win 10 64bit - Focusrite Scarlett 18i8 2nd gen - Roland A-300 PRO - Yamaha HS50M speakers - Sonar Platinum/CbB - Samplitude Pro X3 - Studio One 4 - Melodyne 4 Studio - Ozone 8 Adv - Neutron 2 Adv - RX7 Adv - ARC2 // Notebook Dell I7 8GB RAM Win 10 64bit
#7
rcklln
Max Output Level: -82 dBFS
  • Total Posts : 421
  • Joined: 2004/07/02 13:59:32
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 14:44:56 (permalink)
I look forward to checking it out thanks!
#8
Keni
Max Output Level: -17.5 dBFS
  • Total Posts : 5769
  • Joined: 2003/11/04 10:42:15
  • Location: Willits, CA USA
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 15:34:34 (permalink)
Thanks Rog...
 
...but I can't seem to get these to work...
They don't download as a file, simply displays the text.
I saved the text and created a txt file of it's name (.cal) which I then saved to my cal folder...
Running it gives problems... First attempt claimed it was an html file, which I saw all the html code upon inspection. I repeated the process and cam up with a clean cal file, but running it returns...
 
HUMANIZE PLUS-inc.CAL
 
cal error:001
syntax error stepinterpControl

Keni Fink
Keni - Facebook
Deep Space Records
http://www.reverbnation.com/inexile
http://www.cdbaby.com/artist/inexile
Out Of My Head Music (BMI)

SPlat/MacPro/Dual Xeon 3.06GHz 6-core (12 total)/64GB/Win8.1X64/Presonus 1818VSL/Soundscape SS8IO-1
#9
rogeriodec
Max Output Level: -75 dBFS
  • Total Posts : 753
  • Joined: 2004/04/09 13:55:04
  • Location: Brazil
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 16:18:23 (permalink)
GitHub is indeed somewhat confusing to download individual files.
To facilitate, I edited the original post with a link that brings both files inside a ZIP, this link: https://minhaskamal.githu...e/master/HUMANIZE_PLUS

rogeriodec.com.br


* Cakewalk By Bandlabs (always lastest versions), Window 10 x64
* Focusrite Scarlett Solo Audio Interface
* Intel i7-4790K CPU @ 4.00 GHz / ASROCK EXTREME 4 Z97 Mobo
* 2 SSD Samsung Evo 250 Gb (RAID-0) + 1 Western Digital 2 Tb + 1 Seagate 1 Tb
* Onboard video / 16 Gb RAM HyperX Fury 1600 Mhz
* 3 LCD Monitors
* Axiom 61 MIDI Controller, Tapco S5 Active Studio Monitors
#10
doment500
Max Output Level: -87 dBFS
  • Total Posts : 151
  • Joined: 2004/05/08 12:44:36
  • Location: Richmond, Va
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 19:39:39 (permalink)
Awesome work sir!!!

Pay me or the chicken gets it!
#11
Keni
Max Output Level: -17.5 dBFS
  • Total Posts : 5769
  • Joined: 2003/11/04 10:42:15
  • Location: Willits, CA USA
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 20:01:06 (permalink)
rogeriodec
GitHub is indeed somewhat confusing to download individual files.
To facilitate, I edited the original post with a link that brings both files inside a ZIP, this link: https://minhaskamal.githu...e/master/HUMANIZE_PLUS


Thanks Rogeriodec...

I'll grab it in a few minutes!

Keni Fink
Keni - Facebook
Deep Space Records
http://www.reverbnation.com/inexile
http://www.cdbaby.com/artist/inexile
Out Of My Head Music (BMI)

SPlat/MacPro/Dual Xeon 3.06GHz 6-core (12 total)/64GB/Win8.1X64/Presonus 1818VSL/Soundscape SS8IO-1
#12
Keni
Max Output Level: -17.5 dBFS
  • Total Posts : 5769
  • Joined: 2003/11/04 10:42:15
  • Location: Willits, CA USA
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 20:08:46 (permalink)
Hi again...
 
After using the zip file download...
Still getting the same error message as I posted above...
 
 

Keni Fink
Keni - Facebook
Deep Space Records
http://www.reverbnation.com/inexile
http://www.cdbaby.com/artist/inexile
Out Of My Head Music (BMI)

SPlat/MacPro/Dual Xeon 3.06GHz 6-core (12 total)/64GB/Win8.1X64/Presonus 1818VSL/Soundscape SS8IO-1
#13
rcklln
Max Output Level: -82 dBFS
  • Total Posts : 421
  • Joined: 2004/07/02 13:59:32
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 20:17:52 (permalink)
I had an issue with the first set but the ones inside the zip file run ok here w/o error
#14
rogeriodec
Max Output Level: -75 dBFS
  • Total Posts : 753
  • Joined: 2004/04/09 13:55:04
  • Location: Brazil
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/12 22:53:14 (permalink)
Keni
 
After using the zip file download...
Still getting the same error message as I posted above...
 


You should put both files in the same folder and run only the file "HUMANIZE PLUS.CAL". And obviously, you should have selected notes before running the script. Please let me know if all this has been done.

rogeriodec.com.br


* Cakewalk By Bandlabs (always lastest versions), Window 10 x64
* Focusrite Scarlett Solo Audio Interface
* Intel i7-4790K CPU @ 4.00 GHz / ASROCK EXTREME 4 Z97 Mobo
* 2 SSD Samsung Evo 250 Gb (RAID-0) + 1 Western Digital 2 Tb + 1 Seagate 1 Tb
* Onboard video / 16 Gb RAM HyperX Fury 1600 Mhz
* 3 LCD Monitors
* Axiom 61 MIDI Controller, Tapco S5 Active Studio Monitors
#15
Keni
Max Output Level: -17.5 dBFS
  • Total Posts : 5769
  • Joined: 2003/11/04 10:42:15
  • Location: Willits, CA USA
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/13 00:36:17 (permalink)
rogeriodec
Keni
 
After using the zip file download...
Still getting the same error message as I posted above...
 


You should put both files in the same folder and run only the file "HUMANIZE PLUS.CAL". And obviously, you should have selected notes before running the script. Please let me know if all this has been done.


Ahhh... there's the info. They are both in the same folder but I kept trying the wrong one.
Thanks!

Keni Fink
Keni - Facebook
Deep Space Records
http://www.reverbnation.com/inexile
http://www.cdbaby.com/artist/inexile
Out Of My Head Music (BMI)

SPlat/MacPro/Dual Xeon 3.06GHz 6-core (12 total)/64GB/Win8.1X64/Presonus 1818VSL/Soundscape SS8IO-1
#16
rogeriodec
Max Output Level: -75 dBFS
  • Total Posts : 753
  • Joined: 2004/04/09 13:55:04
  • Location: Brazil
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/13 11:16:54 (permalink)
Keni
Ahhh... there's the info. They are both in the same folder but I kept trying the wrong one.
Thanks!



Okay, I edited the original post, I marked and highlighted this information for no more doubts.

rogeriodec.com.br


* Cakewalk By Bandlabs (always lastest versions), Window 10 x64
* Focusrite Scarlett Solo Audio Interface
* Intel i7-4790K CPU @ 4.00 GHz / ASROCK EXTREME 4 Z97 Mobo
* 2 SSD Samsung Evo 250 Gb (RAID-0) + 1 Western Digital 2 Tb + 1 Seagate 1 Tb
* Onboard video / 16 Gb RAM HyperX Fury 1600 Mhz
* 3 LCD Monitors
* Axiom 61 MIDI Controller, Tapco S5 Active Studio Monitors
#17
sping
Max Output Level: -90 dBFS
  • Total Posts : 30
  • Joined: 2008/05/24 07:49:03
  • Status: offline
Re: New "SUPER" CAL Script: HUMANIZE PLUS.CAL ! 2018/09/13 11:44:36 (permalink) ☄ Helpfulby rogeriodec 2018/09/13 11:46:06
Tested it, no crashes, had to re-read instructions , re-tested, and no problems, all is working in my tests.
Thanks again, very useful.
#18
Jump to:
© 2024 APG vNext Commercial Version 5.1