Hello everybody,
I would like to ask you some help in building a strategy for effectively using sample libraries containing extended techniques. Sorry for being a bit long, but this matter is not the most linear.
*** Standard and extended techniques in the age of sample libraries**
There are some libraries, like those from Spitfire, Orchestral Tools, Heavyocity, Soundiron, 8Dio, Sonokinetic, Xsample, UVI and others, containing extended techniques not included in more ‘standard’ libraries. The sound collections included in Dorico, NotePerformer or the VSL ‘regular’ libraries only contain the normal performing techniques (sustain, staccato, sul pont…), with just the occasional frullato or cluster. I want therefore to be able to use something like Spitfire LCO Strings or Uist, or Heavyocity Intimate Textures, to add techniques always required in contemporary writing.
I want to use the extended techniques from the same staff in which I use the standard articulations. I don’t want to devote separate staves for the extended techniques. All of them pertain to the same instrument’s part. So, I need a way to invoke different sound players (Kontakt, or a custom player) and different techniques from the patches performed by the sound players right in the score.
*** Different libraries**
Dorico can’t change sound player in the same score, that is, in the same part of the same instrument. A player can, however, play different instruments. This revolutionary feature for a notation program means that you can have the same staff for a player playing both a concert or soprano flute, and an alto flute or a piccolo.
In the same way, you could consider sound libraries like different instruments in the same family. VSL’s solo violin for the standard techniques, Xsample’s solo violin with for the extended techniques, and 8Dio’s CASE library for other advanced techniques, could be considered different instruments in the same Flute family. They use different players – Vienna Instruments and Kontakt – so you have to use at least two different instruments for the same player in Dorico, one for each playback software.
Calling a library means changing instrument in the staff. Once you have changed instrument, you can call a technique from its collection.
*** Invoking the techniques**
Dorico uses the Steinberg’s Expression Map system to invoke techniques. With this system, each playing technique appearing in the score corresponds to an entry in the Expression Map. This entry sends messages to the sound player to select the correct articulation. Invoke a flautando in the score, and the Expression Map will send, for example, a bundle of Control Change and/or Program Change message to the sound player to make it select the flautando articulation.
Each sound player has a different way of organizing and selecting articulations. They can be separate patches/files, or collections of articulation in a single patch/file. The first type usually requires less memory and loading times, unless the sound player has (like VSL’s Vienna Instruments Pro) a way to only load the invoked articulations. Kontakt is among the sound player that have to load all the articulations in a patch/file.
*** Extended techniques and Kontakt**
Kontakt has however the handy Bank feature, where you can build your own instrument with 128 custom articulations. Each articulation is then recalled with a Program Change message, that Dorico can use in its Expression Maps to invoke that articulation. If the sound library has individual articulations in separate patches, you can save memory and shorten loading times.
Spitfire often supplies separate patches for individual articulations. You can therefore add the needed patches in the Bank cells, and build a light instrument with nothing more than the needed techniques. With other libraries you may have to add a full Instrument to a Bank cell, and select the needed articulation that will then be selected when invoking that cell.
How to deal with organizing the articulations in the Bank? You could simply add the needed articulations one after the other, as they appear in the score. However, I prefer to rely on well defined maps, in which everything has its exact place in a precisely organized structure. This would make an Expression Map easy to reuse for different libraries, for example all the instruments in the strings family, or even all the strings and the winds. I like to use Spitfire’s UACC map as the basis for my own one. As soon as I get a new library, I write down the articulation names in a spreadsheet, to see where each articulation of that library goes in the map. If no UACC number is associated with the articulations in the library, I try to assign them one that is most likely to fit the UACC map (for example, a crescendo/diminuendo would be placed in the “Arc” slot in the map).
So, I can end up with a Bank with a lot of empty cells between the articulations added to a custom instrument. This would not be a problem, since this is not waste space, but a well organized map or toolbox, with each troop on the right hill, or each tool in the right drawer. An universal Expression Map from Dorico would always recall a ‘with excessive pressure’, a ‘whistle tone’ or a ‘flautando’ technique with the same Program Change number, whichever the sound library I’m using.
In Dorico, I can create custom Expression Maps for each particular library, where the exact name shown in the library is used (for example, “Super Sul Pont” in Spitfire’s terminology). Or, I can use an universal Expression Map pointing to approximately precise types of extended techniques (for example, “molto sul pont”, as I would write in the score). If using custom Expression Maps for each library, I could however start editing from the same template, and keep similar techniques in the same place.
*** Extended techniques and other players**
The same map organization can be used with other sound players. The more flexibly one I know is VSL’s Vienna Instruments Pro (VIPRO). As in Kontakt’s Banks, you deal with a matrix of freely programmable cells. A Matrix, as VSL calls it, can be made of up 12x12 cells, for a total of 144 cells. You can multiplay this number for a maximum of 100 Matrices in a Program.
With VSL’s Matrices you can’t have a perfect match between an UACC number and a cell. You have to use two messages to select a cell, separating the X from the Y axis of the Matrix. Using Keyswitches and their Velocity value let’s one use a single message per cell. However, you will have to enter both values in the Expression Map.
Some composers are using single-cell Matrices, and using Program Change messages to select Matrices, as they would with Bank cells in Kontakt. I find this solution more difficult to control, but it works.
What about other sound players? The ones I know (Spitfire’s own player, UVI Workstation, Best Service Engine) don’t seem to allow for making custom presets/patches. But I might be wrong. Then, each player is a different story.
Best,
Paolo