View Full Version : J's Ensemble Maker -- free K2 script
JBacal
01-30-2006, 12:53 PM
I decided to start learning the Kontakt 2 scripting language. J’s Ensemble Maker is the first fruit of this labor.
www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_05.zip (http://www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_05.zip)
What’s it do?
It creates ensembles up to 7 players without any phasing using any instrument. It even works with VSL performance legato instruments.
Here is a short audio demo of the effect of J's Ensemble Maker v.04 K2 script.
www.Members.aol.com/jbacal/Kontakt/Ensemble_Maker_Solo_Violin_Demo.mp3 (http://www.Members.aol.com/jbacal/Kontakt/Ensemble_Maker_Solo_Violin_Demo.mp3)
The instruments used in the demo are completely dry and unprocessed. The differences you hear between the repeated phrases are the result entirely of the Ensemble Maker script.
The first instrument you hear is the VSL solo Violin performance legato f portamento. The Pre_Slop setting is .200, the Sampled knob is set to 2. ***NOTE—VSL performance legato samples are not sampled Chromatically—usually the Sampled knob should be set to at least 2 for VSL Legato instruments. The first time the short phrase is played the Voices setting is 1, the second time the Voices setting is 3, and the third time the Voices setting is 7.
The VSL solo violin pizzicato plays the next short phrase. The Pre_Slop setting is .125, the Sampled knob is set to 1. The first time the short phrase is played the Voices setting is 1, the second time the Voices setting is 3, and the third time the Voices setting is 7.
What are the controls?
Voices: Number of player from 1 to 7.
Detune: Maximum amount of detuning of players in fractions of a half tone.
Random_Detune: When this button is ON detuning is random up to the maximum set by the Detune knob.
Spread: Distance players are spread across stereo field.
Pre_Slop: Adds sloppiness to players’ entrances up to max of 1 sec.
End_Slop: Add sloppiness to end of players' notes **NOTE: for sustain playing please turn Pre_Slop and End_Slop knob to 0 (or close to 0) for best results.
Random_Slop: When this button is ON the “slop factor” is random up to max set by Slop knob.
VSL_Legato mode: this mode enables the user to set a Slop amount when playing VSL performance legato instruments. The user can now hear all those lovely transition samples at slightly different times, creating a much more realistic, less synchronized, ensemble effect. COOL!
Sampled: Set this value to the largest amount samples have been stretched in the creation of the instrument. For example, if the instrument has been sampled chromatically set this knob to 1. If it’s been sampled every whole step set the knob to 2.
Pick Release grp: If you want to use instruments with release samples simply select the release sample group from the drop down menu in the Ensemble Maker. Oh, and there’s one more thing you have to do if you want to get the release samples to function properly.
You want ME to do something else?! I’m just a country doctor, Jim!! Not a bricklayer!
Calm down. It’s not that bad. You have to click on “the Group Editor” button near the top then click on the release samples group in the group editor window then de-select the “Release Trigger” button for the release samples group. That’s right DE-select (turn it off!) the “Release Trigger” button for the release samples group.
Monophonic lines and legato lines play perfectly with release samples. However, if you hit 2 or more keys at exactly the same time—bug city—you hear out of tune release samples. Oh well.
Ignore: ignore notes above and below user-defined points. This enables the playing of keyswitch instruments
How do I install this thing?
Just drop the file into scripts folder usually located at C:\Program Files\Native Instruments\Kontakt 2\presets\scripts. J’s Ensemble Maker should now be available in the Script Editor.
Is it free?
Yep.
Can I have the code?
Send me a PM. If there’s enough interest I’ll post the code. It’s pretty basic.
Does Jay like feedback?
I’m a feedback junkie. The more feedback I get the more motivated I become to write new code. ;)
Best wishes,
Jay
dvincent
01-30-2006, 01:12 PM
Jay,
Looks like a very useful script. Can't wait to try it out. Thanks!
alprazolam
01-30-2006, 02:15 PM
...sorry not recognized in Mac version....
JBacal
01-30-2006, 02:43 PM
Weird...anyone have any guesses why a Mac wouldn't recognize this file? Does it work for anyone on PC?
--Jay
JBacal
01-30-2006, 03:53 PM
Here is the file zipped. This might work better for everyone. Let me know if anyone gets this up and running. Sorry for the confusion.
www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker.zip (http://www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker.zip)
Thx,
Jay
frankvg
01-30-2006, 04:03 PM
...sorry not recognized in Mac version....
Works perfectly fine here on mac. Thanks very much, Jay
sghoughton
01-30-2006, 04:18 PM
This is excellent. Quite fun. Thanks
steve
Elfen
01-30-2006, 04:49 PM
Wow a great script tx alot!
Tom Crowning
01-30-2006, 07:40 PM
I decided to start learning the Kontakt 2 scripting language. J’s Ensemble Maker is the first fruit of this labor.
[...]
That looks very promising, I've just played around with it, you can make nice
old (salon-) piano sounds out of a Steinway :D
Thanks a lot and thanks for the source code, I appreciate this very much.
Tom
Thanks a lot Jay! This is some really fine stuff. It works great. :)
Working well here in standalone mode.
I will have to try it in a more practical application Later.
Thanks a lot for this script Jay. It looks very promising.
regards Joe
JBacal
01-31-2006, 12:42 AM
Neotypic-- I'll check the release sample problem when I get chance. Guess I never tested it with release samples. :eek:
Best,
Jay
JBacal
01-31-2006, 10:03 AM
2 more issues brought to my attention.
Program currently doesn't handle keyswitches properly.
Also detuning not working properly. Only 2nd voice is detuning.
I'll try to fix these problems soon.
Best,
Jay
JBacal
01-31-2006, 09:35 PM
New improved version .02
So what’s new and improved?
1) detune function should now work properly
2) detune maximum setting increased to 1 half step for those middle-school band simulations
3) new ignore feature-- ignore notes above and below user-defined points. This enables the playing of keyswitch instruments
4) new VSL_Legato mode— this mode enables the user to set a Slop amount when playing VSL performance legato instruments. The user can now hear all those lovely transition samples at slightly different times, creating a much more realistic, less synchronized, ensemble effect. COOL!
So what’s not improved?
I still haven’t figured out how to get release-triggered samples to work properly. If anyone knows how to do this, please feel free to throw some hints my way.
Special Thanks to Nils for his help. Much appreciated.
Best,
Jay
dvincent
01-31-2006, 11:15 PM
detune maximum setting increased to 1 half step for those middle-school band simulations
:D :D :D ROFL!!! :D :D :D
Now I can finally utilize that classic sound! If I had a nickel for every time...
Thanks Jay!:)
ddarwin7
02-01-2006, 12:27 AM
That is very nice of you Jay, and thank for sharing the script. I haven't had time to experiment much with it yet. But will soon.
Dd
Theodor
02-01-2006, 05:59 AM
Thanks Jay! This will surely come very handy, especially for piano and strings... and brass.. and hmm , a lot actually :)
tabbu
02-01-2006, 06:42 AM
Some demos would be nice. Especially VSL legato instruments could sound interesting. I don't own K2 so please, post some tests and demos!
Thanks.
Tabbu
kotori
02-01-2006, 10:07 AM
I can't wait to test this script with Horizon Solo Strings.
I guess VSL Chamber Strings just became obsolute because of Jay's script :D
I believe there's a minor bug with the sloppiness (random delays) when used together with VSL legato though,
so there might still be some things left to do to get that part working all right.
I don't suppose this has much impact on the sound though, and I have informed Jay about it.
Nils
JBacal
02-01-2006, 11:51 AM
VSL legato works well with pre-defined constant "Slop" (delayed starts and stops of the individual players). Random Slop yields slightly imperfect results. So I recommend turning off the Random_Slop button when using VSL legato instruments.
Best,
Jay
JBacal
02-01-2006, 12:58 PM
I think I just figured out a solution to the release sample bug. YAY!!! :D So simple and yet it took me forever to figure out. Ah the joys of programming. Revised code to follow later today...hopefully.
Best,
Jay
Hardy Heern
02-01-2006, 05:24 PM
This is very generous of you Jay. I look forward to having a dabble with it. The whole area of scripts appeals to me.
Could it be that in the future there will be companies producing the raw samples and separate companies selling scripts to run on them? That is where the skill and the progress lies now....IMvHO.:)
Cheers
Frank
JBacal
02-01-2006, 10:45 PM
New version .03 now available.
www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_03.zip (http://www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_03.zip)
What’s new?
Now works with release samples…well sort of. Monophonic lines and legato lines play perfectly. However if you hit 2 or more keys at exactly the same time—bug city—you hear out of tune release samples. Oh well.
If you want to use instruments with release samples simply select the release sample group from the drop down menu in the Ensemble Maker. Oh, and there’s one more thing you have to do if you want to get the release samples to function properly.
You want ME to do something else?! I’m just a country doctor, Jim!! Not a bricklayer!
Calm down. It’s not that bad. You have to click on “the Group Editor” button near the top then click on the release samples group in the group editor window then de-select the “Release Trigger” button for the release samples group. That’s right DE-select (turn it off!) the “Release Trigger” button for the release samples group.
Anything else new?
You can now set a Pre_Slop time separately from an End_Slop time.
Let me know if it seems to work on your systems and with your instruments. I’ll try to post a few short demos in the next few days.
Best,
Jay
JBacal
02-02-2006, 04:49 PM
Here is a short audio demo of the effect of J's Ensemble Maker v.04 K2 script.
www.Members.aol.com/jbacal/Kontakt/Ensemble_Maker_Solo_Violin_Demo.mp3 (http://www.Members.aol.com/jbacal/Kontakt/Ensemble_Maker_Solo_Violin_Demo.mp3)
The instruments used in the demo are completely dry and unprocessed. The differences you hear between the repeated phrases are the result entirely of the Ensemble Maker script.
The first instrument you hear is the VSL solo Violin performance legato f portamento. The Pre_Slop setting is .200, the Sampled knob is set to 2. ***NOTE—VSL performance legato samples are not sampled Chromatically—usually the Sampled knob should be set to at least 2 for VSL Legato instruments. The first time the short phrase is played the Voices setting is 1, the second time the Voices setting is 3, and the third time the Voices setting is 7.
The VSL solo violin pizzicato plays the next short phrase. The Pre_Slop setting is .125, the Sampled knob is set to 1. The first time the short phrase is played the Voices setting is 1, the second time the Voices setting is 3, and the third time the Voices setting is 7.
There is a new version .04 now available with 3 small (but potentially frustrating) bug fixes.
www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_04.zip (http://www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_04.zip)
Best,
Jay
Tom Crowning
02-02-2006, 05:05 PM
I like your demo, there's a lot of potential in this script.
Great work.
Tom
Mike Greene
02-02-2006, 05:17 PM
Hey, that's pretty cool! Now that I hear the demo, I get what the script is about! It's nice of you to do this for us. Thank you! :)
- Mike Greene
JBacal
02-02-2006, 05:48 PM
There was a problem with version 4 not unzipping. Should be fixed now. Sorry if you tried earlier.
Best,
Jay
JBacal
02-12-2006, 05:33 PM
Version 05 now has real time control over the number of voices (players). Just assign the number of the midi controller you wish to use.
Also the script now has no copy protection.
Someone asked me if this script works with Garritan's Strad. I don't have it yet so I don't know. Would someone who does have Garritan's Strad mind testing this script with it and reporting your findings here, maybe even post a short mp3 of the result?
www.Members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_05.zip (http://www.members.aol.com/jbacal/Kontakt/J_Ensemble_Maker_05.zip)
Best,
Jay
Nigel W
02-12-2006, 06:47 PM
Intriguing...instant Epic Violins, maybe? ;-)
gotta check this out - thanks a lot!
Nigel
.....now if I could just get Kontakt to do a full Rebuild scan of my drive without crashing or freezing .....:-((
kotori
03-25-2006, 06:55 AM
Pick Release grp: If you want to use instruments with release samples simply select the release sample group from the drop down menu in the Ensemble Maker. Oh, and there’s one more thing you have to do if you want to get the release samples to function properly.
[...]You have to click on “the Group Editor” button near the top then click on the release samples group in the group editor window then de-select the “Release Trigger” button for the release samples group. That’s right DE-select (turn it off!) the “Release Trigger” button for the release samples group. Hi Jay,
by including "SET_CONDITION(NO_SYS_SCRIPT_RLS_TRIG)" in the init callback of your script I think the need to turn release triggers off would go away.
Monophonic lines and legato lines play perfectly with release samples. However, if you hit 2 or more keys at exactly the same time—bug city—you hear out of tune release samples. Oh well.
After discussing release callbacks with Big Bob (or more correctly, he telling me how they work ;)), I found a way to solve this. For this particular script it might make the end slop code slightly more complicated though.
Every script-generated note invokes the release callback when they are released. Even the note that originally triggered the note callback and was silenced with ignore_event there will trigger the release callback. Currently you use the callbacks for the generated notes. This has the benefit of letting you handle each release independantly of the others (which makes end-slop easier to manage). However, it turns out that polyphonic variables cannot be used together with these notes (a K2 limitation). Polyphonic variables are always linked to the note event that originally triggered the note callback and there's no way to transfer the data to the generated child notes. So if you want the script to handle polyphonic playing your only choice is to respond only to the release callback corresponding to the originally played note. One can do that by using a polyphonic variable to hold the ID of the triggering note - set it to $EVENT_ID in "on note" and only run your code in "on release" if $EVENT_ID matches this variable. This has the benefit of one being able to access all polyphonic variables, but since one must play all release samples in the same callback one have to think of how one uses the wait functions for end-slop (since the wait functions are now run in sequence instead of in parallel).
Regards,
Nils
Edit: for a sample of the things above please see my Part Maker script (http://nilsliberg.se/ksp/scripts/scripts.html#partmaker)(source here (http://nilsliberg.se/ksp/scripts/partmaker_source.html)).
Edit2: I wrote about release callbacks in a thread (http://www.nativeinstruments.de/forum_us/showthread.php?p=215356#post215356) on the NI forums.
JBacal
03-25-2006, 12:29 PM
Thanks for continuing to think about this, Nils. I didn't even know the set_condition function existed.
I tried using polyphonic variables to solve the release trigger issue but couldn't quite get it to work. Probably doing something wrong. If you can get it to work somehow that would be very cool!
Maybe I'll try again someday. Justin wants me to add a feature that will allow the user to create different solo instruments (for example bassoon1, bassoon2, bassoon3). This should not be too hard to do.
Best,
Jay
Justus
09-30-2006, 10:16 AM
Help! J_Ensemble_Maker_05.zip does not unzip! Error Message!
mderrico
09-30-2006, 12:48 PM
Here's the link:
http://www.nilsliberg.se/ksp/scripts/scripts.html
:D
Justus
09-30-2006, 02:55 PM
Thanks, but the page only contains Part Maker but not Ensemble Maker and the linked Ensemble Maker zip file is corrupt.
Jibrish
10-03-2006, 03:29 PM
I'm lucky to have J's-... and it's very useful, but in trying to update to 05 a few days back it doesn't work here as well.
Also been wondering (to Jay or Nils or who might know) is Theodor's site theokrueger.com/ coming back on anytime soon?
kotori
10-03-2006, 03:34 PM
I'm lucky to have J's-... and it's very useful, but in trying to update to 05 a few days back it doesn't work here as well.
Also been wondering (to Jay or Nils or who might know) is Theodor's site theokrueger.com/ coming back on anytime soon?
I don't know about the site, but like you I hope it'll come back online soon. Why not send a PM to Theo (http://www.northernsounds.com/forum/member.php?userid=5613) and ask.
Jibrish
10-03-2006, 03:41 PM
I don't know about the site, but like you I hope it'll come back online soon. Why not send a PM to Theo (http://www.northernsounds.com/forum/member.php?userid=5613) and ask.Yeah, good idea... I sent an email a couple of days back but nothing yet.
Cheers.
SHAOLIN95
06-16-2007, 04:59 AM
I would like to try this...can someone email me the working file please?
Thanks
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.