How to create Expression Maps for Cinematic Studio Strings

And CS Solo Strings, and CS Brass, and CS2

Nico Schuele
Pragmatic Sound
13 min readDec 28, 2018

--

As I was writing about keyswitching and Expression Maps for my upcoming course Building & Balancing a Modern Orchestral Template, I remembered that working with the Cinematic Studio Series packages is not always straightforward. So, I’m going to show you how you can create Cubase Expression Maps that work with Cinematic Studio Strings (CSS). The same technique applies to Cinematic Studio Solo Strings and Cinematic Studio Brass as they all share the same interface.

This will allow us to turn this mess:

…into this:

And our piano roll will look like this one for each track:

Much clearer right?

I will also show you how you can output long and short articulations to two different audio channels. I know that some people like to have them split to apply different processing such as reverbs to longs and shorts. Expression Maps, contrary to what you can sometimes read online, doesn’t prevent you to do that.

I will be using Cubase but this technique should work similarly if you are using FL Studio with the BRSO Articulate plugin, the new Articulation Set feature in Logic Pro X, or the Reaticulate plugin for Reaper. I haven’t tried but they all support switching MIDI channel inputs so you should be good to go.

The problem

The main issue when you want to use Expression Maps with CSS is the way articulation switching is built into the interface: you need to use more than one keyswitch to trigger certain articulations. For example, switching to sustain + legato is both C0 and A#0:

Triggering the short articulations is first F0 and then using the modwheel (CC1) to switch between the different shorts:

This doesn’t really play well with Expression Maps, as for example, Cubase cannot re-trigger a CC message mid-phrase. But worry not, there’s an elegant solution to these issues.

Build a Kontakt Multi

The first thing we will do is build one Kontakt Multi per instrument. In this example, I’m taking the CSS violas. Start by adding 3 times the violas to the same Kontakt instance:

Don’t worry about your RAM just now, we are going to purge that in due time.

In the first instrument, deactivate every articulations except Sustain and Marcato (1). You deactivate an articulation by clicking on it while holding Alt on Windows or Option on Mac. Make sure that the Legato button is switched on and Con Sordino is off (2). Your first violas patch now looks like this:

Deactivated articulations are grayed out

In the second instrument, deactivate the two short articulation groups, Staccato and Pizzicato (1) and switch Legato off (2):

For this one, I also like to set the Measured Tremolo articulation to Sync to host instead of having a fixed BPM:

Finally, for the 3rd violas patch, deactivate all the long articulations, keeping only Staccato and Pizzicato:

Now, you will need to deactivate the modwheel for switching between the different short articulations. Right-click on the modwheel drawing and click on Remove MIDI Automation: CC# 1:

We do this because we want to control that via keyswitches and not via CC messages.

Before our Kontakt Multi is ready, we need to do one more thing: changing the input MIDI channel for each patch. You do this by clicking on the dropdown button within the MIDI Ch box inside the patch header (1). At the moment, it probably says “omni” or “[A] 1”. From the dropdown, select Port A [from host] and select 1 from the 16 given options (2). Do this on the first patch only:

Quick tip: you can set Kontakt to do that for you automatically in its preferences rather than having it set to Omni each time you add a new instrument

Then, set the second violas patch to [A] 2 and the 3rd one to… …[A] 3:

The last step is to purge all the patches to save you some RAM and loading time. This is optional and depends on your workflow as well as on your computer specs. You can do it in one click by going to Kontakt main menu (1), Global Purge (2) and clicking on Purge all samples (3):

Now, your Kontakt Multi looks like this:

You can save it (and I’d advise to do so for recalling it later). You do that by going to Kontakt main menu (1) and then selecting Save multi as… (2):

In the save dialog that pops up, give it a name (1), in this case CSS Violas, select Patch Only (2) as you don’t want to re-save all the associated samples and make sure that Absolute Path (3) is selected so it will continue to work even if you change the location of your instruments at a later date:

That seems like a lot of work but with practice, these steps are done in about 15 seconds. And speaking of practice… …now repeat the same steps for all the other CSS instruments! 1st Violins, 2nd Violins, Cellos, Basses and Full Ensemble (also Lite Ensemble if you use it).

Now, we can finally start building our Expression Maps.

Building the Expression Maps

Following the previous steps, I loaded all my newly created Multis in 6 separate Cubase Instrument Tracks:

We will continue working with the violas patch. Select it (1) and in the left zone, click on Expression Map (2), then “No Expression Map” (3) and here, select Expression Map Setup… (4) :

You will be presented with the Expression Map Setup dialog:

Looks quite empty here. Let’s fix that!

Click on the + icon in the Expression Maps pane (1). It will add a new map named untitled. Rename it by double-clicking on it to something generic like CSS Standard (2) as we will use the same Expression Map for all the patches except for the Basses and the Full Ensemble:

We have 15 different articulations so the next step is to add these by clicking 14 times on the + sign in the Sound Slots pane (1) and while you are at it, make sure that within the Remote Settings (2) the dropdown is set to Key Switches, Latch Mode is checked and Root Note is set to C-2:

For each of the 15 slots, left-click in the Art. 1 column (1) and select Add Custom Articulation from the menu that pops up (2). Don’t worry about the random symbols used, we are going to change that in the next step:

In the Articulations pane (1), click on each symbol (2) and select Text in the menu that pops up (3). Here, we will type the articulation names as they appear within the Kontakt CSS instruments, in the same order as we set them:

Here is the list:

  1. Legato
  2. Legato Marcato
  3. Sustain
  4. Tremolo
  5. Harmonic
  6. Trills
  7. Measured Tremolo
  8. Marcato
  9. Sforzando
  10. Staccato
  11. Staccatissimo
  12. Spiccato
  13. Col Legno
  14. Bartok Pizzicato
  15. Pizzicato

This is what your articulation list looks like now:

If you are familiar with Expression Maps, you probably know that there are two different types: Attributes and Directions. When triggered, the first one will only apply the selected articulation to the current note but will fall back to the default articulation right after. When using Directions instead, the selected articulation will remain active until you switch to another one. That’s what I prefer to use so let’s set it this way by clicking on each Attribute keyword in the Type column and setting it to Direction:

After doing this, we need to tell each articulation which patch to use within the Kontakt Multi. Remember? We set three of them for each instrument and we changed their MIDI channel inputs to go from [A]1 to [A]3. The articulations are broken down by channel like this:

MIDI Channel 1 (Legatos):
Legato
Legato Marcato

MIDI Channel 2 (Long articulations):
Sustain
Tremolo
Harmonic
Trills
Measured Tremolo
Marcato

MIDI Channel 3 (Short articulations):
Sforzando
Staccato
Staccatissimo
Spiccato
Col Legno
Bartok Pizzicato
Pizzicato

In order to replicate this in your Expression Map, you will have to select each articulation slot in the Sound Slots pane (1) and type the correct MIDI channel number inside the Channel textbox inside the Output Mapping pane (2). If you are following along, you can use the reference list above:

Sustain is in the 2nd patch within the Kontakt Multi and we set it to MIDI Channel 2

The legatos are all on channel 1:

The longs on channel 2:

And the shorts on channel 3:

The next step is a bit of a drag and might be a bug in Cubase. You have to rename manually each slot to the articulation name you set to it. I remember that in Cubase 10, before the first patch this was not necessary. Depending on when you read this, it may be fixed. Again, select each slot and rename it:

Yep… you have to retype the whole list again. But don’t worry, once it’s done, you can save it and reuse it in all of your projects!

We then assign our own keyswitches to all these articulations. We don’t have to type them ourselves. Just click on Set Remote Keys (1). Make sure that Start Key is set to C-2 (2) and that Key Mapping is set to Chromatic (3):

Click OK and you now have your own keyswitches starting at C-2 up to D-1:

Up until this point, the procedure for creating Expression Maps is the same for all libraries but now is when we branch out to the CSS specifics.

Again, select each slot in Sound Slots and in Output Mapping click on the + sign (1). Make sure the Status is set to Note-On and then double-click in the Data 1 field to set the keyswitch used by CSS (2). In the case of the Tremolo articulation, we have it in our 2nd patch (so, MIDI channel 2) and the CSS keyswitch is D#0:

You will have to do this for each articulation.

Important: note that for the short articulations, the keyswitch is always the same from Sforzando to Spiccato (F0) and from Col Legno to Pizzicato (G0)!

Let me ask you a question. Have you read the CSS manual? If you haven’t, you definitely should. It’s full of little gems and is only 8 pages long. At page 7, we have this table:

Here we see that we can trigger different short articulations based on the keyswitch velocities. For example, if you hit F0 at a velocity value of 70, you will enable the staccato articulation. If you hit the same F0 at 20, you will enable a spiccato. This is exactly what we are going to use.

Select each short articulation in the Sound Slots pane (1) and in Output Mapping, change the Data 2 value according to the table taken from the manual above (2):

For example, staccato is triggered by the note F0 at a velocity between 65 and 96, so setting Data 2 to 80 will do. Do this for each of the 7 short articulations and you are done!

Now, you can save your Expression Map and you will be able to reuse it in any of your future projects in conjunction with the Kontakt Multis you created and saved.

One more thing, though. Remember when I told you that Basses and Full Ensemble are different? That is because Basses don’t have the Harmonic articulation.

Poor basses… no harmonic for them

As for the Full Ensemble, the CSS keyswitches are set one octave lower than their individual instrument counterparts:

So… …what to do? You could create new Expression Maps for these two but that’s a bit too long. Instead, click on the Load button and load your CSS Standard Expression Map twice (1). Cubase will automatically append 2 and 3 to their names (2):

You can then edit them accordingly by removing the Harmonic articulation in the Basses map and by updating the Output Mapping keyswitches in the Full Ensemble one. Rename them to CSS Basses and CSS Full Ensemble and save them too once you are done:

Done!

Using the Expression Maps

In order to use your brand new Expression Maps, you have to select each track in Cubase (1), click in the Expression Map dropdown (2) and select the correct Expression Map for the track (3):

Cubase will now display a list of your custom keyswitches in the Expression Map tab within the left pane:

Let’s use them! Start by creating a new event on the Violas track and open it in the piano roll. Add some notes:

To change the articulation of each note, first click on the CC lane menu at the bottom:

…and select Articulations/Dynamics:

Your CC lane now displays the articulation names that you took some time to type in and program. You can simply draw in the articulation you want to use for a given note and that’s as easy as this:

See this little example above? Without an Expression Map, you’d have needed 7 tracks!

Let’s now have a look at the audio outputs. Right now, all the articulations are outputting sound to the same audio channel. But let’s split that into shorts and longs.

Outputting sound to different audio channels

You may wonder why we added three times the same instrument patch to each Kontakt Multi instead of just two. We could have worked with just two: one for the legato articulations and one for the others. I chose to create a third one to host only the short articulations because I wanted to be able to split their audio output channels. To do that, open each of your multis and set the Kontakt outputs of the longs to st. 2 (which are split into stereo channels 3 & 4) and the shorts to st. 3 (stereo channels 5 & 6):

If you only see st.1 in the dropdown and don’t have any other output, you may need to do a bit of research there as this is a specific setting in Kontakt that is outside of the scope of this article.

Then, in Cubase Inspector, click on Activate Outputs:

In the list that pops up, click on Kt. st.2 and Kt. st.3:

You can now click on Show/Hide Automation of your track:

Here, you will see the two new outputs:

I usually rename them to keep everything neat and tidy:

Your MixConsole now shows that both longs and shorts output sound to their respective channels:

You can even hide the CSS Violas track in your mixer. That’s why I used st.2 and st.3 instead of starting at st.1

This concludes this detailed guide on building Expression Maps for Cinematic Studio Strings. The same technique can be used with Cinematic Studio Solo Strings and Cinematic Studio Brass. Of course, it takes a bit of time to do but it’s well worth the time investment as once it is done, you can reuse that whenever you want.

If you are interested to learn more about building a template that will boost your productivity and creativity by turning your computer into a ready to play instrument, rather than a tool you have to configure endlessly each time inspiration strikes, have a look at my course on building templates for strings at www.digitalcomposing.com

--

--

Nico Schuele
Pragmatic Sound

I'm Nico. Hi. Composer for media. I sometimes write code too.