What's new

CSS (Cinematic Studios) Control Panel - CSS/CSSS/CSB/CSW legato delay solution + other features (1.8, now with Winds!)

@MadLad


Now you say you tried everything from -10ms to -400 in 10ms increments, which I assume you mean the negative track delay. What I would try at this point is to reset that at the standard -220ms, and instead, go to DOT's script and change the values of the "Medium" under the Low Latency Leg. field in increments of 10. And try recording some lines. Of course, make sure the Low Latency is the mode active on CSS as you record your lines (just stating the obvious).
No, I didn't touch the negative track delay, I only adjusted the numbers in the script. Also, it gets reset to low latency on its own, even if I choose expressive mode and it still uses the value of expression mode's slow legato. It's no big deal though. Even before the script, I'd only use the fast legato anyway. Everything else works perfectly, so that's fine.
 
@MadLad
One additional peculiar discovery I just made, which might also help. When you're in DOT's script, and you make a change (say you change the number in the Medium legato under Low Latency Leg."), press the Edit button, then close/open it once, then press the space bar. What that does is make the square next to the "Apply" buttond light up. At that point when you press "Apply" the status reads "script updated". Otherwise, I'm not sure if the script is being updated when you change the numbers.
 
No, I didn't touch the negative track delay, I only adjusted the numbers in the script. Also, it gets reset to low latency on its own, even if I choose expressive mode and it still uses the value of expression mode's slow legato. It's no big deal though. Even before the script, I'd only use the fast legato anyway. Everything else works perfectly, so that's fine.
@MadLad Okay, it looks like you're making do with the fast legato, and you're fine with that. I'll update you if I discover anything new.
 
I actually use Cubase. I found out that even if you use the low latency mode the script still uses the value from the slow legato expressive mode. So, I adjusted it. What you hear in the render is the standard -220ms. However, I tried everything from -10ms to -400 in 10ms steps and while there was a difference it never was really on time.
Hello @MadLad , I actually checked to be sure and it's weird you have Low-Latency Legato Medium with the same value as Expressive Legato Medium.

On my project I checked the multi-script and this is how it looks by default:

Captura.JPG

A question: is it really necessary to press Apply after changing the delay values? I don't know anything about Kontakt's scripts so I'm just guessing here, but looking at the script's source it just looks like it has persistent variables that hold the value of each delay setting which are entered in the User Interface. If you needed to apply each time you do a change, then things like pressing the buttons like ''CC Controls Delay'' and such wouldn't work without doing that and I've tried them and they do work ''in real time''. That's why I think the ''apply'' step is not really necessary for the script to reflect the changes in numbers if you modify them.
 
Last edited:
Hello @MadLad , I actually checked to be sure and it's weird you have Low-Latency Legato Medium with the same value as Expressive Legato Medium.

On my project I checked the multi-script and this is how it looks by default:

Captura.JPG
Yes, that's because I changed the default setting. It doesn't do anything, however. As soon as I press play the instrument always changes to Low Latency Legato. The problem is, it still uses the value from SLOW expressive legato for the Low Latency MEDIUM legato which is very weird.

The default values are definitely not on the beat and very wonky which is why I experimented with many different values but only the fast legato works fine.
 
Hi,

This community is grand and has provided so many useful things for me. I have been tooling with a script to automatically offset the notes in CSS, based on what articulation you have set and I would like to share this with you.

A control panel for Cinematic Studio Strings, Cinematic Studio Solo Strings, Cinematic Studio Brass and Cinematic Studio Woodwinds that allows DAW based customisation.

Features
  • Ability to offset short notes, slow legato, medium legato and fast legato/marcato/trill legato individually, allowing all these note types to be triggered at the same time
    • This requires negatively offsetting the MIDI track by the Slow Legato speed, which is 330ms by default
    • Offset delay takes the slowest articulation (Slow Legato) and works out when to play faster articulations, making every articulation in sync
    • Note delay is controlled by CC, CC13 by default. Set the CC 0-64 to allow for playability, then set it 65-127 to force the note types to sync to the same time
    • Script responds to the same keyswitches and keyswitch CC messages as the instrument to equalise the timing
  • Ability to control short note velocity with a CC, CC1 by default
  • Ability to trigger major and minor trills with a single key
    • When enabled, setting the Keyswitch CC to 46-47 will force minor trills, while setting it 48-50 will trigger major trills
    • When enabled, pressing the Trills keyswitch with velocity 0-64 will force minor trills, while setting it to 65-127 will trigger major trills
  • Ability to auto-rebow (auto trigger CC64) when playing legato
  • Operates on a user defined channel, so you can run multiple scripts, one for each section
  • By default all settings are set up for the Violins, Violas, Celli and Basses as the default patches are saved
  • Options are available to set defaults for Strings, Trumpets, Brass or Winds
Update 1.8
  • Added support for Winds mode. Default delays for this mode are supplied as with Strings and Brass modes
  • Added a colour bar to indicate which mode the script it is in. It illuminates when the delay is active
  • Slightly re-arranged the UI to make it easier to understand
  • Fixed an issue where short notes at very fast tempo speeds would cut into the next note
Update 1.7
  • Added option to set the delay on the first note in a legato phrase. The default is 100ms, as with other long notes
  • Added options to set the script into Brass mode or Strings mode. In the Brass mode, the script will react assuming the instrument is from Cinematic Studio Brass instead. Default delays for Trumpets and the rest of the Brass, as defined in the manual, are available
  • Added an element that informs the user what track offset to set in the DAW in the top right
Update 1.6
  • Added option to toggle the delay on all of the time, if you never want to turn it off. The option to enable or disable delay by CC is still available
  • Added option to delay all CC data sent to the instrument as well as the keyswitch CC and notes. CC data is delayed by the same amount as the articulation playing. This results in better sync between things like modulation and notes
  • Updated the default delay speeds to match the documentation better: 330ms for slow legato/portamento, 250ms for medium legato, 100ms for fast legato/longs, 60ms for shorts
Update 1.5
  • Script now supports keyswitches as a method of input, along with keyswitch CC or any combination. Keyswitches can be moved in octaves, set to CSS defaults or changed individually
  • Updated UI with tabs to provide help, add more functions (like keyswitches) and make customisation easier
  • Added auto-rebow feature for legato (regardless whether delay is on or not)
  • Further improved timing of articulation switching when seeking and on articulations that trigger at the same time as a note
Update 1.4
  • Improved the accuracy of the articulation selection when a note is played or when CC123 (All Note Off) is received. This was sometimes resulting in the legato phrase being forgotten when the transport was stopped mid-way through a phrase or jumping between articulations
Update 1.3
  • Fixed an issue where the first note in a legato phrase would play before the beat
  • Locked the multi-script with a password to make it a bit more presentable. The password is "AVO"
Update 1.2
  • Fixed an issue where the first note in a legato phrase would be offset – it is not offset like other long notes
  • Fixed an issue where some values would sometimes not be cleaned up when the transport stops
  • Improved the delays applied to notes when switching from shorts to legato
Update 1.1
  • Fixed an issue where notes would always overlap, causing midi events on the same note not fire
  • Fixed an issue where some delays would not be set properly when a note was played
Requirements
  • Cinematic Studio Strings or Cinematic Studio Solo Strings
  • Kontakt 5.7
  • Must be set up in the Kontakt instance's script panel (the ‘KSP’ button in the top right)
  • Use of Keyswitch CC (instead of actual note keyswitches)
  • A bit of time to set up to your tastes
Limitations
  • I added a legato keyswitch which is user defined. This is to get around the issue that expression maps in Cubase don’t trigger the same CC twice. Regardless setting the keyswitch CC to enable or disable legato will be observed by the script
  • Since there is no function for converting note bytes to actual notes, I elected to keep them as numbers in order to release the script earlier. You can find out your key switches and re-assign them by shift-clicking on an articulation in CSS
  • The one note trills purposefully cull the harmony they make almost immediately after being played, but this can cause some issues with trills very close together. If you use this feature, I recommend playing trills where the upper note of the lower trill is a semi-tone away than the lower note of the upper trill
Alternate Versions
User @img has provided an alternate version of the script that supports multiple channels being delayed independently in one script. While there are no plans to support this officially in my version of the script, please take a look at their work and consider using it if you need a multi-channel version.

Download and Source
http://www.alexjevincent.co.uk/css-control-panel

Donations
  • I have been asked for ways to donate for use of the script, including libraries. While this is most appreciated, I am lucky to have a full time job and money to spend on such things
  • Instead, please consider putting that money to causes that matter to you - helping our planet, its species or perhaps those homeless, in need of medical care or research. And if not, consider helping yourself by saving that money and buying that library, software or hardware you wanted
All the best,
Alex Vincent (Ihnoc)
This has been such a game changer for my workflow. I did have one quick possibly beginner kontakt question but if I have a disabled template and had everything set up in Logic or cubase but then deactivate the track, when I reactivate the track the script needs to be reenabled. Is there a way to modify it so it’s just on by default so I can work with a disabled template?
 
Top Bottom