# Stage Modeller Script



## gmet (Oct 17, 2007)

Hi all,

Here is my offering to the KSP community - a stage modelling script. It uses EQ, Stereo Modelling and convolution to emulate stage positions. I dont consider this all my own work and I would like to credit this (great) forums members for the Scripting and Mastering advice to achieve my aim.

It is based on my prefered settings but can be altered to suit. It will also work with most other script (SIPS etc) as is does not address the 'on note' callback.

This is now hosted on http://scoringfilm.wordpress.com/ (my blog).

Cheers,

Justin

p.s. I use the following free IR as it matches EWQLSO well and therefore I can blend in my other libraries:

http://noisevault.com/nv/index.php?option=com_remository&Itemid=29&func=selectcat&cat=17 (1200 Seater Concert Hall - Concertgebouw Brugge)
(This is a multi position set of IRs - I use Concertgebouw FC FAR fst #01)

[Edit - please note that you have to load the inserts manually]


----------



## Nickie Fønshauge (Oct 17, 2007)

Looks good, Justin. Thanks for sharing


----------



## lee (Oct 17, 2007)

Yeah, looking forward trying it out Justin! What a great idea! 

I assume the quality/function is something like Altiverb? 8)


----------



## tarzana (Oct 24, 2007)

Hello Justin M,

congratulations on your work...

i am most interested in trying this script...

my question is with regards to renaming the ir's 
as instructed in the script ... which ir's..... can i use 
ie : the kontakt 2 ir's or third party ir's ....

and with regards to copying them (ir's) into the kontakt folder
should a specific folder be created ....and if so does it 
require a specific name ... or can i use a different location
for the folder ie: external drive or does it require that location

and finally, in the script there is instructions to
rename the ir's ...

does that mean to rename the copied ir's to match 
the one's in the script or vice versa... meaning go inside
the script and rename them according to the copied ir's names..

sorry if these questions sound silly to you ...
please bare with me

thank you for your patience 

regards,
tarzana


----------



## gmet (Oct 25, 2007)

Tarzana,

There are no stupid questions here - I only learnt from asking questions.
You don't have to rename the IRs at all - what you have to do is move them to a folder so that Kontakt loads them (C:\Program Files\Native Instruments\*Kontakt 2 *or C:\Documents and Settings\UserName\Local Settings\Application Data\Native Instruments\*Kontakt 3*).

In the script under decalre !ir_names change the IR names to the ones that you have. (This is to give you the option to try all your IRs)

I have attached another version of the script which loads only one chosen IR. You should place the IR in the same folder(s) as described above and alter the text in [on ui_control ($LoadIR)] to the name of your IR - dont forget to add the file extension (i.e. .wav)

Alternatively you can actually load any IR manually - the script was designed for speed loading.

Justin


----------



## tarzana (Oct 29, 2007)

Hi Justin M,

i was having a problem getting the
stage modeler script to load the impulse...

the one from noisevault ..... 

the script warning states ir can not be found

when you say place the ir's in the program/kontakt 2
folder... do you mean just drop in the ir(.wav) in this kontakt folder
or place them in a special titled folder... obviously kontakt 2
has its own convolution folder in the presets/effects/ location..

i tried placing the ir in that location as well to no avail..

please clarify..

and bare with me if i overlooked something :oops: 

regards,
babynimrod


----------



## gmet (Oct 29, 2007)

Tarzana,

Just drop the IR in the designated folder and then in the script alter as follows:

*on ui_control* ($LoadIR)
``_load_ir_sample (_get_folder($GET_FOLDER_INSTALL_DIR) & "Concertgebouw FC FAR fst #01.wav",$Conv_Slot,1)
``$LoadIR := 0
*end on*

Justin


----------



## Nickie Fønshauge (Oct 29, 2007)

Just a thought: placing IR's directly in the install folder could get quite messy. Wouldn't it be better to put them in *~\Native Instruments\Kontakt 2\presets\effects\convolution\IR Samples*? And thus altering the script to


```
on ui_control ($LoadIR) 
  _load_ir_sample (_get_folder($GET_FOLDER_INSTALL_DIR) & "presets/effects/convolution/IR Samples/" & "Concertgebouw FC FAR fst #01.wav",$Conv_Slot,1) 
  $LoadIR := 0 
end on
```


----------



## gmet (Oct 29, 2007)

Thanks Nickie,

I was just trying to keep things as simple as possible - I suppose its personal preference. I would actually like to be able to load IRs from an independant folder but I dont think this is possible.

Justin


----------



## tarzana (Oct 29, 2007)

Hi again,

Thank you gentlemen for the quick
responses .... i am so grateful for your 
efforts...

by the way the 3 effects.. namely 3 band eq,
stage modeler, and convolution should be dropped 
into the insert slots and not the send i presume...

please correct me if i am wrong

have a great day,
babynimrod 8)


----------



## gmet (Oct 30, 2007)

tarzana @ 29th October 2007 said:


> Thank you gentlemen



You're welcome - although I suspect Nickie may not be as impressed!



tarzana @ 29th October 2007 said:


> by the way the 3 effects.. namely 3 band eq,
> stage modeler, and convolution should be dropped
> into the insert slots and not the send i presume...



correct (look at the picture above),

Justin


----------



## Nickie Fønshauge (Oct 30, 2007)

Justin M @ 30th October 2007 said:


> tarzana @ 29th October 2007 said:
> 
> 
> > Thank you gentlemen
> ...



:mrgreen: :mrgreen: :mrgreen:


----------



## tarzana (Oct 30, 2007)

Hii Justin,

strange, but sometimes when i visit the forum...
specifically a posting, the attached file or picture
won't appear...

hence the question i posted regarding the placing of 
the effects in the insert or send...

i really am not that dense :wink: 

your script is working lovely ...

kudos to you and your work/effort...

after saving a multi with the script,
upon reloading the script... the instrument tab
in the script shows solo(front)....

despite me having saved it with the specific
instrument...ie stage position=woodwind
instrument=flute 

and i was wondering the last tab in the script
solo section off ...

clicking on it will pan and eq the instrument emulating
a solo instument ... or vice versa or is there a
different purpose for that tab altogether..

regards,
babynimrod


----------



## gmet (Oct 31, 2007)

tarzana @ 31st October 2007 said:


> strange, but sometimes when i visit the forum...
> specifically a posting, the attached file or picture
> won't appear...



You need to be logged in to view attachments



tarzana @ 31st October 2007 said:


> after saving a multi with the script,
> upon reloading the script... the instrument tab
> in the script shows solo(front)....
> 
> ...



The settings are saved correctly - it is just the GUI that deosnt update.



tarzana @ 31st October 2007 said:


> and i was wondering the last tab in the script
> solo section off ...
> 
> clicking on it will pan and eq the instrument emulating
> ...



The last tab is for a soloist playing from within the chosen section (rather than at the front of the stage). It alters the EQ - problem is I havn't worked out how, when you turn it off, to revert to the original EQ for that instrument. I will post an update when I figure it out (I have also tweaked some of the levels/panning)

Justin


----------



## tarzana (Oct 31, 2007)

Hi Justin,

thanks for the info  

the script is great...

if only there was a way to mimimize the 
cpu usage...

i have a 4 part wind section or a string section ...the cpu jumps to
around 60 percent ... keep in mind i am using several other scripts in
per each instrument in the rack...

but any suggestions on how to possibly ease the cpu
through the convolution settings...

regards,
tarzana


----------



## gmet (Oct 31, 2007)

The only way to reduce the CPU load is to set up EQ, Stereo Modeller and Convolution as a Channel insert or Aux send (i.e. have less instances running). I have posted a thread on the NI forum to be able to address these (and program level) with KSP - maybe you can add your support.

Justin


----------



## gmet (Oct 31, 2007)

[Double-post] Oops! :oops:


----------



## Waywyn (Oct 31, 2007)

Generally a cool idea but I have a few questions:

1. Why are the Cellos "more" right than the Double Basses?

2. Where is the EQ difference between e.g. Strings and Brass. When I load e.g. Strings into it and place it to brass or woodwinds, I should hear a difference in room depth EQ wise ... or did you all do with the IRs? I am asking because I didn't import the IRs and just test it without. Just to hear the pan and the front/back EQ settings.

3. You simply use the panner of Kontakt. I am not really sure and please correct me if I am wrong, but this panner just reduces the volume of one side. As far as I know there is no really room panning, as e.g. S1 or Altiverb (I don't wanna say that I expect wonder, definitely not, but I expected a bit more than just using left/right pan)

4. The script doesn't work with the performance legato programs of VSL


Sorry to sound so negative, but I expected a bit more. I don't need a script to pan left/right (K2 can do it without scripting ) and I can load IRs without having it attached to a script. Maybe you can clarify some things and the actual EQ front/far settings just work when IRs are active.


----------



## gmet (Nov 1, 2007)

Waywyn @ 1st November 2007 said:


> 1. Why are the Cellos "more" right than the Double Basses?


Alex, as I said above it is based on my settings and when mixing/matching with EWQLSO I have found this to be a more suitable pan setting.


Waywyn @ 1st November 2007 said:


> 2. Where is the EQ difference between e.g. Strings and Brass. When I load e.g. Strings into it and place it to brass or woodwinds, I should hear a difference in room depth EQ wise ... or did you all do with the IRs? I am asking because I didn't import the IRs and just test it without. Just to hear the pan and the front/back EQ settings.


The stereo spread (in the stereo modeller) is reduced and the Highs (EQ) are rolled off the further back on the stage. Also the levels are altered with the convolution. I would appreciate any suggestions/feedback in this area.


Waywyn @ 1st November 2007 said:


> 3. You simply use the panner of Kontakt. I am not really sure and please correct me if I am wrong, but this panner just reduces the volume of one side.


Alex - I am by no means an expert, are you suggesting that I should alter the pan in the stereo modeller.


Waywyn @ 1st November 2007 said:


> 4. The script doesn't work with the performance legato programs of VSL


It does on my setup and there is no reason why it shouldn't

I don't think you are sounding negative and any advice would be much appreciated, especially in the area of EQ. I did post a question in the Post Pro and mixing section but I only got one reply (Spatial EQ and pre-delay thread)

Justin


----------



## Waywyn (Nov 1, 2007)

Thanks for your reply,

as for 2. I would really like to give you suggestions, but all I know is, that a signal, when it's further away, gets a bit more dull (to express it in a really simple way)

.... I just wondered because I didn't hear any difference between all the settings. Maybe it is my ears, but when I load 1st Violins and put them further away to the brass or wood settings, I didn't hear any single nuance of changing EQ.

as for 3. Same here, too. I really wish I could help you with K2 settings or programming, but all I know (at least I think I know) that the panner of K2 is just left/right.
Okay, composers and studio guys worked with that for a long time and I think there is not really anything wrong by just using L/R panning, but if you look at it technically, the panning in K2 is just reducing the volume of one and keeping or raising the volume of the other channel. It is not really narrowing the stereo field to let it come from a specific area, but just (I hope to say that right) sending a spotlight on that specific part of the stereo samples. With Cubase, Altiverb or S1 it is possible to narrowing or widening the stereo field. This means that the whole stereo signal is really reduced or expanded to a specific range in the stereo field.

as for 4. That's what I wondered about. First I didn't read the post right so I thought you implemented SISS also to your script, so I thought it wasn't my fault. Then I was reading over it again and got it right (that this script works along with SIPS).
However your script wasn't working with my Opus1 1st Violins perf legato.


I know I know, it is always so much easier to criticize something without giving a few hints how to improve and so on ... but I just wanted to take a look at the script from a users kind of view, not of a coder's one. I sit down in the car and drive and if something feels funny or sounds weird, I just can describe that something is not right.


However, I am pretty sure that guys like Thonex, Nils or Big Bob could help you improving the script ...


----------



## gmet (Nov 1, 2007)

Alex,

I have reduced the stereo width with the stereo modeller - perhaps I should also pan here as well. The EQ is only altered by 1-3 db - I will experiment with higher settings.

I have just tried it with my Opus1 1st Violins perf legato and it works fine. (Legato script in slot 1 and my script in slot 2)

To get the full effect you need to load an IR or all the volume settings are lost. Also if you click on either EQ, Stereo Modeller or Convolution (in the insert effects), as you select the appropriate position/instrument you will physically see the changes.

Justin


----------



## Waywyn (Nov 1, 2007)

Thanks Justin,

don't take my comments as a nonplusultra. It is just stuff I was asking. It may all be sounding right when activating the IRs. As I said, I was just testing the script itself and wanted to see the EQ and panning properties.


----------



## gmet (Nov 1, 2007)

Alex,

I'm not offended one bit! :D I'm very glad someone has posted constructive comments. Anyway - just for you (only joking :lol: ) is version 3 with slightly more aggresive EQ settings and a few other tweaks.

Justin


----------



## tarzana (Nov 2, 2007)

Hello Justin M,

i am having trouble with the noisevault ir...

i would like to know please, the structure for
the folder that the ir should be placed in..

when i copy the script

on ui_control ($LoadIR) 
_load_ir_sample (_get_folder($GET_FOLDER_INSTALL_DIR) & "presets/effects/convolution/IR Samples/" & "Concertgebouw FC FAR fst #01.wav",$Conv_Slot,1) 
$LoadIR := 0 
end on


this is the one Nickie suggested to keep things a bit neater....

where do these lines of script get placed...

after the on init line?

i really am clueless ... :oops: 

please put on kiddie gloves when explaining..

regards,
tarzana


----------



## gmet (Nov 2, 2007)

Tarzana,

Find the bit in the script that says:

on ui_control ($LoadIR) 

and then replace it with Nickies suggestion.

You may find it easier to copy and paste into Nils editor (http://nilsliberg.se/ksp/) and then the above part of the script will appear on the right hand pane.

Justin


----------



## tarzana (Nov 2, 2007)

Hi Justin,

i am struggling with this...

there are no presets that show up in
the menu for the convolution ....

i placed the ir in a new folder titled IR Samples
and placed it in the convolution folder 

i replaced the original code as you mentioned with
the Nickie script ... 

finally, i applied, saved it as a preset, reloaded
but when trying to load impulse through
the tab on the script..... warning appears 
saying unloadable ir or not found ir

of course i first insert the three effects....
3 band eq 
stereo modeler 
convolution 

thank you for time

regards,
babynimrod


----------



## gmet (Nov 3, 2007)

Tod/Alex - it's correct that you have to load the inserts yourself (in the specific order). If KSP allowed I would have done all this at Aux or Channel Inserts level and auto load all inserts - but it deosn't!!

Alex - this probably also explains why you couldn't hear any difference!!

Tarzana - I don't know what you are doing wrong but can only think of a couple of things:
1. Make sure that you have used the exact name of the IR in the script (includibg the .wav)
2. Make sure you have the correct folder structure depending on whether you are using K2 or K3.

You *could* always just load the IR manually (drag and drop from the browser into the convolution).

Justin


----------



## Waywyn (Nov 3, 2007)

Justin M @ Sat Nov 03 said:


> Alex - this probably also explains why you couldn't hear any difference!!



Yes, I guess that was it. To make it more clear I would at least write it somewhere that you not only have to load the script but to drag and drop the modules yourself.


----------



## tarzana (Nov 3, 2007)

Hi Justin,

thanks for the response...

i will over again to be sure
that i took the proper steps...

regards,
tarzana


----------



## gmet (Nov 5, 2007)

Waywyn @ 3rd November 2007 said:


> To make it more clear I would at least write it somewhere that you not only have to load the script but to drag and drop the modules yourself.



Alex - Done!
Sorry for the late reply but I have been working away for a few days.
How do you find it now that you finally puzzled out my lack of instructions?

Justin


----------



## joris1974 (Mar 19, 2009)

Hi Justin,

Sorry to revive an old thread, but I tried your stage modeler script the other day, as an alternative to my (beta) orchestral voice management script. It seems more "vibrant" than my old fashion script which simply pans and slightly detunes voice 1 & 2 to create the effect of separate orchestral chairs. I am considering giving it a try in combination with my custom (also beta) legato/repetition script (single script based on a barebone SIPS). 

The latter script is relatively light on the CPU, but I've read that your Stage Modeler can be on the heavy side in that respect. Instinctively, I am thinking that it's gotta be due to the convolution insert rather than EQ and SM. Do you think this is a valid assertion? If so, your suggestion of adding the reverb to the aux send makes perfect sense. Personally, I don't use convolution, but the plain old reverb in aux 1 with the biggest space preset and have set all my patches with automation for CC91-->Aux 1, so that Sibelius can pilot reverb the way it normally does. Any thoughts from the Sibelius user standpoint?

Last thing, if I may, do you have a KSE source for that script? Thanks in advance for your input.

Best,
Joris


----------



## TheoKrueger (Mar 19, 2009)

Thanks Justin! I look forward to trying out what looks like an excellent script.

Thank you again,
Theo.


----------



## gmet (Mar 21, 2009)

Thanks for the interest Guys,

This script was done well over a year ago and my methods have changed somewhat since then. You would be welcome to the source code if I could find it! - I had a disk crash disaster a while back and don't know if I still have it. I'll take a look this weekend.

Justin


----------

