Solo Instrument Performance Suite

Below is the download link for the SIPS Package together with some showcase MP3's.


Mp3 Demos

R. D. Villwock.  aka 'Big Bob'

SIPS-V205_Package (Rar)

SIPS-V205_Package (Zip)


SIPS-V151_Package (Rar)

SIPS-V151_Package (Zip)

Solo Instrument Performance Suite

With this family of scripts you can make realistic glides, connected legato playing, and human-like vibrato.

Having many parameters, excellent coding and a well thought design, this suite will soon become the new stardard in midi sequencing.

The included detailed manual, has guidelines for preset making and all the things you need to know in order to get the most out of SIPS.

Don't forget to thank the wonderful author: Robert Villwock. aka Big Bob. :- )

SIPS showcase demos with full orchestration:

Please see the rest of the demos below.

Version History:

Version 2.05 July 15, 2008

This is the Release Version of SIPS 2

V2 of SIPS now contains an Articulation/Alternation Script, the SAS. This new family member allows you to define and control up to 64 different articulations per instrument. Articulations can be selected in real time via a dual-bank of key switches and/or with MIDI program change commands. Each articulation can control any number of groups which can also be sub-typed and sequenced. Some of these features work in harmony with the Legato Script's new DFD Offset mode to provide a convenient solution for the DFD sample-start offset problem. Working in conjunction with the SAS's Release Group sub-typing, the SLS can also provide release sample triggering at the end of a legato or portamento phrase. The SAS also has a very powerful alternation/variation control scheme which can provide both natural alternation (via group sequencing) and synthesized alternation using TKT variations. These alternation effects can be controlled in a variety of very flexible ways similar to that of the Ultra TKT Script but in combination with natural group-chain alternation.

V2 of SIPS adds a new Portamento Mode to the Legato Script. With this mode, you can glide or bend between any pair of notes (using any desired-pitch-versus time contour) with a very realistic, formant-corrected timbre. All the important para- meters of this mode are MIDI controllable and will enable you to achieve just about any kind of glissando effect you might want. With the Portamento Mode engaged, you can now quite literally play an instrument ‘in the cracks’.

The control panels have been rearranged to make them more efficient and to make room for the new functions that have been added. As a part of this ‘face-lift’, MIDI-Controllable Knobs are now easier to set and they allow more flexible and precise MIDI subrange control. The subrange of MIDI control for a Knob can be set to any desired portion of the knob’s full range. For example, if a Knob has a full range from 0 to 1000 msec, you could set the MIDI Control range to cover only 0 to 75 ms or perhaps from 900 to 950 ms as you move the MC from min to max. By reducing the total knob-range of the MC, it can have more resolution where you need it most. With V2, setting up such a subrange is very easy to do and requires no additional controls other than the assigned MC and the Knob itself. And, since the min and max settings can be interchanged, the MC can now also control the knob inversely when that is appropriate.

MIDI Controller assignment retains the new scheme adopted with V1.5 of SIPS. You simply double-click the MC assignment button to reveal a drop-down menu of choices. As soon as you click the desired MC in the menu, the assignment is made. To indicate this, the assignment button is illuminated and displays the MC that you assigned. In V2, controller choices include the CCs from 0 to 119 plus the Pitch Wheel, Aftertouch, and Velocity. While the current versions of the KSP still provide no direct means for a script to detect Aftertouch or Program-Change, V2 of SIPS (in conjunction with the included custom KSP+ Multiscript), allows you to assign Aftertouch to control any of its parameters and, the SAS optionally allows you to select articulations with Program Change commands.

V2 of SIPS provides a new User Preferences Dialog that allows you to customize your version of SIPS in a number of useful ways to suit your equipment setup and style of working.


I had originally hoped to avoid adding Release Sample triggering to SIPS by 'leaning' on the VXF Script for this function. However, Nils' workload became too demanding for him to find the time to update his VXF script (to complete the interface with SIPS 151). As a result, I decided to add release triggering to the SLS itself. Because of this and the addition of the new SAS to the Suite, it will now be fairly easy to create Mod-Wheel X-Fade of velocity layers via group-control using conventional means. In addition, V205 of the KSP Math Library now includes a lot of new support functions for group volume control that will will facilitate writing a SIPS-Compatible EPXF script. Such a new VXF script will be able to more easily interface with SIPS because it need only XFade the velocity groups rather than having to deal with the individual notes (as was the case with V151).

For release sample triggering, SIPS 2 triggers release samples only for the last note of a legato phrase. This is the most natural way to handle non-reverby libraries where such release samples can add an sdditional touch of realism by supplying actual recorded note closures. However, many owners of reverby libraries, notably the EW series, had made suggestions that their libraries might benefit from release sample triggering (at a lower level) for all 'inside' notes of legato phrases. To give this idea its 'day in court', the initial beta release of SIPS 2 included an 'experimental' option to implement this idea. But, unfortunately, beta tester feedback on its performance was not very favorable and after several back and forth iterations, the idea was abandoned as being non-workable. Sorry guys, but I tried.

Version 1.5.1 Warning Issued August 15, 2007

Caution: V150/151 of the SIPS scripts use event parameter 3 to send Script ID info to the VXF script. Recently it has been discovered that NI is 'secretly' using EP3 to control certain aspects of K2's Release Triggering system. If your instrument has no RT groups or, if you are using the VXF Script after SIPS, there will be no conflict with the use of EP3. However, if you are using SIPS (specifically the SLS) without the VXF script and you are also using an instrument with RT group(s), you will need to use V2 of the CC/EP Blocker Script V2 in the last slot. Using this script in the last slot will resolve any conflict in usage of the event parameters. Please see the Readme file for the CC/EP Blocker Script for more details.

Version 1.5.1 June 5, 2007

  1. Correct default Bend time from 60 cents to 10 cents as for Clarinet 1.
  2. Change Offset mode for Clarinet 1 Preset to Manual
  3. Revise SVS logic to not require the 'on ui_update' callback so that the SVS will operate with K2.1
  4. Revised the User's Guide to include an expanded discussion of using the the 'Compact Compiler Output' mode of Nils Liberg's KScript Editor.

Version 1.50 May 19, 2007

V1.50 of SIPS employs the new ISCS module and includes the necessary code to interface with Nils Liberg's VXF Script. Using the ISCS to accomplish this also prepares for easier interfacing with other scripts in the future.

The Solo-Mode Logic used in the Legato Script has been completely redesigned. The new logic is much more efficient and easier to understand and maintain. And, by taking over many of the functions previously relegated to the buggy and sometimes unpredictable KSP callback triggering and sustain pedal logic, V1.50 will hopefully avoid many of the previously-observed anomalies. For example, V1.50 should be useable in any script slot (including slot 1) and should also exhibit a fairly uniform behavior between K2 versions (provided the version you are running supports all the necessary user interface elements). A side benefit of the new solo-mode logic is a reduction in the polyphony requirements. The old logic required nearly double the polyphony actually needed because of muted notes that were used (to work-around some KSP quirks). The new Solo-Mode Logic doesn't require such work-arounds and thus requires less polyphony and, more importantly, doesn't pass any muted notes on to higher scripts. This will further simplify the task of future integration with other scripts.

Prior versions of the SLS offered two release modes; Knob Setting and Key-Up/BTime. In the Key-Up/BTime mode, the prior note (the one fading out during the crossfade) would begin its note-end release phase when the corresponding key was lifted or when the BTime setting expired. This latter dependence on BTime was an artifact of the old Solo-Mode Logic rather than an intended "feature". With V1.50, the new logic eliminates BTime's involvement. Now the two modes simply begin the release when the Knob Setting percentage of XTime has been reached (in the Knob Setting mode) or, when you lift the corresponding key (in the Key-Lift mode). This latter mode is now independent of the BTime setting (as it should have been all along).

Assigning a MIDI CC to control various SIPS parameters has been made easier and more flexible. Instead of an Edit box where you dial in the CC# that you want (with 0 meaning none and -1 meaning the Pitch Wheel), V1.50 provides a special, hybrid button-menu (refered to in the User's Guide as an assignment-button) that displays the currently assigned CC as a lighted button. However, when you double-click it a drop-down menu of controllers appears and allows you to select the desired CC from a list. These menu choices are not only numbered but are also annotated with their customary MIDI associations (per the MMA). In addition, there is a "learn" feature for when you aren't sure which CC# is controlled by some physical slider or knob on your keyboard.

Once a CC is assigned to control a parameter in one of the SIPS scripts, prior versions would block further propagation of such assigned CCs. V1.50 no longer blocks assigned CCs so you can now assign a single CC to control multiple parameters if you wish (even parameters in two or more separate scripts).

Finally, V1.50 of the SVS has improved upon the way you control the overall Vibrato Amount. There is now a MIDI-controllable Knob for setting Vibrato Amount as well as a new drop-down Menu that allows you to select Knob Only, Envelope Only, or both. These changes should make controlling the overall vibrato intensity much more intuitive.

Version 1.10 June 23, 2006

V1.10 takes advantage of new features and capabilities in K2.1.1 in a variety of ways ranging from internal streamlining of the code to cosmetic improvements in the user interface. K2.1.1 seems also to have solved all previously known issues reported for V1.05 and V1.051 including the Sonar 'freeze-up' problem, the stuck notes problem and even the change_vol() noise problem.

Here is the full list of what's new in V110 of SIPS.

  1. Source code has been completely updated and made more readable by utilizing many of the newer features added to the NL Editor since V1.05 of SIPS was released. The current source code requires V1.0 (or higher) of the NL Editor.
  2. Removed GhostTime pause. This was originally used to minimize the KSP hung-note problem but was causing notes to be dropped occasionally during fast passages. Since the KSP hung-note problem is no longer an issue, this work-around has been removed.
  3. The 'On_When_Lit'enable/disable button has been replaced by a drop-down menu which adds a script bypass mode that functions just like the KSP Bypass button except that it can be MIDI controlled.
  4. The upper limit of the Vibrato Depth knob has been increased to 5.0 db since higher values can now be used because of the change_vol() function noise reduction.
  5. Because of some of the new control labeling features added in K2.1 and K2.1.1, Edit-Box labeling has been made less cryptic and units such as % and db have been added to many of the panel knobs. Also, the RlsFade and Offset knobs now display a blank data window in the modes where the knob setting is ignored. For example, if the Offset Mode is set to Auto_1 or Auto_2, the knob's data window is shown as blank whereas when the Offset Mode is set to Manual Mode or Manual +Rand, the data window displays the knob's setting in ms.
  6. The Instrument Range is now displayed in the letter/octave or 'key' format instead of as MIDI note numbers. The prompting messages are now displayed on the Set Inst Range button itself.
  7. The internal array used to hold both Built-In and User Presets has been replaced by two separate arrays; one for Built-In Presets and one for User Presets. This allows the the User Presets to hold more parameters per preset than V105. It was necessary to open this up so that User Presets can store all panel parameters instead of just a key-parameter subset as in V105. This is an essential component in the new Auto-Import Update feature that will allow easy transfer of full control panels when updating to the latest version of SIPS.
  8. An Auto-Import Update feature has been added that takes advantage of K2.1's double- buffering of 'persistent' variables. This will allow you to update all your V105 .nkp and .nki files to V110 and not have to manually re-enter any of the control panel settings or User Preset data (including the CC assignments and settings).
  9. Script ID tagging has been strengthened for this and future releases of SIPS to enable more reliable typing to prevent illegal data transfer combinations such as from the SVS to the SLS or preset format downgrading.
  10. User Presets can now be re-named.
  11. The Import/Export function (which is no longer needed for version upgrading) has nevertheless been retained in a somewhat simpler form. This additional capability was retained to allow you to regroup and/or rearrange collections of control panels or presets.
  12. Version 1.051 April 17, 2006

    Fixed sustain pedal problem in the SLS.

    Version 1.05 April 15, 2006

    This is the initial release version of the Solo Instrument Performance Suite, SIPS

    This initial release of SIPS contains two member scripts: The SIPS Legato Script, SLS and the SIPS Vibrato Script, SVS.

    These scripts attempt to emulate these essential style 'ornaments' and can be used with any ordinary library instrument, without need for any special types of samples (such as note transistion pairs, etc). However, if the library instrument you want to use contains release sample groups, you should delete those first and then resave the instrument under a new name to distinguish it from the original. See page 28 of the User's Guide for more details.


SIPS MP3 Showcase Demos

Mp3 Demos Theodor Krueger Andrew Keresztes Martin Nadeau
Full Orchestration Demos  

Single patch Demos.

* The names are coded because the manual could refer to ak6 for example.


* The demos marked with V are using the Vibrato Script on 'Non Vibrato' samples.

Or, click here to download all the above Single patch demos together in a single archive:

SIPS Solo Demos.rar


Return to the main Scripts page


Many thanks to Frederick Russ at VI-control for hosting the mp3 demo files.


Last updated: 1 August 2006.

This is a non-profit page. All items in this page are copyrighted by their perspective owners.
Webpage ©2005 Theo Krueger.
Kontakt 2® logo © Native Instruments.