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)