Problem with Iconica Expression Maps and Cubase Pro 15 (Mac)

Hi all,

I’ve been using expression maps for a while with East/West Opus. I have now switched to Steinberg’s Iconica. But there is one problem using expression maps, which applies to both Iconica Sketch and Iconica Sections & Players. To reproduce it (assuming you already created a midi track with Halion Sonic 7 as rack instrument):

1 - Set Halion’s track 1 to Iconica Sketch Flute 1 . By default it creates 5 articulations, including Sustain (default) selectable using Keyswitch D0.

2 - Use expression map window to create corresponding keyswitches in expression map (“Import keyswitches” option checked)

The result is an expression map with the 5 articulations, but I can’t find a way to edit it so that Sustain articulation (and only this one) has “Attribute” selected instead of “Direction” (I always use Attribute for all notes/articulations). What am I missing ?

It seems (wild guess) that the default Sustain (e.g. for Flute 1) in Iconica (Sketch and Sections & Players versions) is considered only as a Sound Slot, but not as an Articulation (!!!) in Cubase Pro 15 expression map window. As I want to use Sustain as a standard articulation (with “Attribute ” mode), a workaround is to add another Sustain articulation in Halion’s window (which eats one slot in the available articulations).

An alternative is to add a new articulation to the sound slot, which is even more complicated…

Is that the intended behavior ? Can you please explain to me why the default sustain sound slot could not behave like any other articulation? Or am I missing something? Thanks!

Anybody there ? :slightly_smiling_face:

To make use of the default slot, you just have to not add an articulation to the note or notes that you want to use the default slot. Any notes without an articulation will be the default slot.

Of course. But what if I want to change the articulation of an existing note? For other articulations I just have to select the note(s) and pick the articulation I want…

You can select the note in question and in the articulation drop-down you see a check-mark next to the articulation that is currently assigned. If you just click that articulation it will remove it from the note and the note will go back to having no articulation and therefore will play back with the default slot.

@mducharme That works. It is (to me) a workaround more than a solution, but it definitely helps. The reason I am saying that is that does not explain why the default value should not behave like any other articulation. It did not have this behavior with East West Opus, for instance…

But thank you for your time, and acceptable answer…:slightly_smiling_face:

It does explain it, you are just not thinking of the score editor scenario. The default settings produce a (mostly) correct result in the score editor.

When you create a notated score for a performer and you want them to play that score in the normal/default way, you don’t need to write any technique text or symbols, you only write the notes (along with tempo/dynamics/time signature/clefs). You only have to add technique text or symbols when you want someone to play in a way that is not the default way. For instance, staccato via dots, or legato with a slur, or muted with “con sord.” text. But “normal” notes (what you would think of as sustain/long in a library) are not given any label in a score and can be considered the default way.

if you had to choose something like sustain, for example, the word “sustain” would then appear in the printed score over the notes as technique text, which is incorrect.

I understand what you are saying. I do work with classical composers, music teachers at conservatories, etc. :slightly_smiling_face:

As a matter of fact I teach them that MIDI tracks are similar to scores. What tools like Cubase allow them to do is to play the scores in real time (or not if they are not trained on specific instruments) instead of litterally writing them. Then instead of using an eraser and a pencil they use a mouse and menus to change the score/midi events (and instantaneously hear the result).

But I also work with people who play and create with other music genres, and do not necessarily have this way of thinking, nor the classical scoring knowledge of writing music. Vangelis did not know how to write music, and was a great composer. And this “logic” in music score editors such as Dorico, or in pencil and paper scores, does not apply in Midi note editors like in Cubase. What is important there is computer logic: sustain or any other default articulation is considered as just another articulation by the “average” user. If it was implemented the same way for ALL articulations, you could keep the default behavior, for the (good) reasons you gave, but also have the opportunity to consider the articulations (including the default one) as just another “parameter”, and be more intuitive for all user profiles. So I guess what I’m saying is that I understand (thanks to you!) why it was implemented that way, but I still see no reason why the default articulation should not be listed in the list, so that way you’d get the “best of both worlds”…

First, there is no default articulation, only the default slot, which normally has no articulation associated. But you actually can associate an articulation with it if you want to, entirely optionally.

In the expression map editor if you click on the “—” in the articulations field for the default (top) slot, you can choose an articulation it should be associated with.

You can choose anything from the factory list. For instance, you could choose ordinario and then you will get an articulation Ordinario with text ord. in the list associated with the default slot. It is a personal choice. It is very easy to do for an existing map and takes only a few seconds.

You’re also not using the main user interface for working with articulations - the main interface is the articulations lane, which has been revamped in Cubase 15. You’re using a secondary method (the drop down list in the info bar) which works with attributes only, so the design decision for the defaults might seem to make less sense to you but actually generally makes a great deal of sense (at least to me).

When using the main method, not having the defaults take up lanes has some clear advantages. They take up less vertical space in terms of articulation lanes in the key editor, and result in less map programming being required. For instance, if you are making a multi-group map where one of the groups determines whether it is muted or not, you can avoid the need for a special lane for not muted, because you can consider not having an entry in the “muted” lane as being the same as “not muted”. This allows you to potentially avoid some pitfalls when you are programming the maps. For instance, if you have articulations in one group (like staccato/legato/etc) and your second group is con sord and senza sord (muted and not muted), you can end up with the situation where the user wanting an unmuted staccato note might choose staccato from the first group and in the second group they might choose unmuted or they might not choose anything because they might assume that unmuted is a “default” of sorts if they don’t choose muted. But this means you might have to program special cases for when the user makes a selection, so you might have to program a slot for if the user just chooses staccato in group 1 with no selection in group 2 (implied unmuted due to lack of an entry in this group) and another for if the user chooses staccato in group 1 and selects unmuted in group 2 (specifically choosing unmuted) and one for staccato in group 1 with muted in group 2. This means three slots in total, two of which are really the same (senza sord. specifically chosen vs no mute selection made and senza sord assumed) but are meant to handle the exceptional case where the user doesn’t make a choice from every group. Then for legato, you would also need three slots instead of two to properly handle the situation where the user only chooses staccato and doesn’t also choose senza sord for the note.

These extra slots to handle the various possibilities of a selection in a group vs no selection in that group and handle both correctly will not just be one extra slot, it would grow based on the number of groups in use. So if you have a more complicated map with 8 groups, you would need way more slots (in some cases, twice the number of slots, and need 400 slots instead of 200, or potentially even more) to handle the permutations.

The other choice with such a big map is to not handle the situation where the user doesn’t make a choice from one of the groups and require the user to add a selection from every group for every single note. However, this would quickly become annoying for the user, especially in the scenario where instead of using a mix of directions and attributes, you are using only attributes. Consider the situation where the choice of legato/staccato/etc is group 1, choice of muted or not is group 2, choice of vibrato type (ord (normal), molto or non) in group 3, and bowing position for strings in group 4 (sul pont, sul tasto or sul ord. (normal)). Forcing a user to add a selection from every group from every single note would require that, to hear a simple legato note, they would have to choose legato from group 1, senza sord. from group 2, vibrato ord. from group 3, and sul ord. from group 4, adding all four articulations to one note just to hear a regular legato. If they failed to choose something like vibrato ord from group 3 or sul ord for group 4, they would not hear the legato at all and would instead fall back to whatever is in the topmost (default) slot of the map. This would not be a user friendly design.

You could understand from that example that forcing the user to make a choice from every group like this for each note adds a lot of friction and extra work for working with the map, aside from being confusing to the user that they don’t hear their legato if they only choose legato without also choosing things like a vibrato type. But programming the map to accommodate for all the different permutations that the user might do (ex. selecting senza sord as the mute type or not choosing anything, selecting vibrato ord. as the vibrato type or not choosing anything, choosing sul ord. as the bow position vs not choosing anything) could require a large number of extra slots in the map by twice or three times or more, increasing the amount of programming work for the user making the map in the first place.

The easiest solution is therefore to design each group in such a way that a selection is not needed for the single item that is the “normal” way of doing things. In the group that controls whether it is muted or not, simply remove the “senza sord.” as an option and then the failure of the user to select “con sord.” would be treated as an implied “not muted” selection and would not need any extra slots created in the map. Similar with vibrato ordinario, you would only need options for molto vibrato and non vibrato and no selection would be considered vibrato ordinario (or in some cases like clarinet or horn the default should probably be non vib). Similar with bow position, you would only then include sul ponticello and sul tasto as lane options and if the user doesn’t choose either it would be considered the same as sul ord.

So that design keeps things simpler for the user (since they then don’t have to make a choice from these groups that shouldn’t really apply to hear something simple like a regular legato with no weird/extra stuff added) and for the person making the map (since they don’t have to make extra slots to accommodate selections that the user could make.

You’re coming at things from the perspective of incredibly simplistic maps where you only have one group and 6-8 slots, but the libraries I’m dealing with need quite a few groups and large numbers of slots (hundreds of them). So the considerations are a bit different. Your preferred design can work with the smallest maps with a single group, but becomes much harder to work with when the map becomes larger with groups etc.. I also couldn’t imagine working with a library like VSL duality strings with 300 articulations under the violins 1 all under a single group, the drop down list that you like to use would fall apart with 300 articulations in it and be really awkward to use. So you have to use groups, and working with defaults as a valid choice (choosing nothing at all is a choice) makes these maps a lot easier to construct and ultimately less work for the user at the end of the day.

First, thanks a lot, Michael, for taking the time to explain these details (most of which I am aware of, btw :slightly_smiling_face: ).

However, I think you are still missing my point: while it may make sense to use this implementation for large, complex, detailed, ultra-realistic projects, my comment applies to the “incredibly simplistic” cases where people do not care too much about an absolute precision and perfectly realistic results, and want a quick-and-easy way to setup projects including symphonic instruments. And, again, what I am saying is that it wouldn’t hurt to simply include the default slot/articulation in the list of available articulations, IN ADDITION TO what is implemented.

You can surprisingly achieve pretty interesting results with Iconica Sections & Players (and even Sketch version)* with a simplified workflow where you just select the notes (all in Attribute mode) and set their articulations from the dropdown list. And it takes minutes to set up this kind of project… It is indeed a different use case than yours, but still is a popular way of using these libraries.

*TBH I must admit that I have only used East/West and Vienna libraries in the past.

As I said, it is an extremely easy thing to adjust for yourself. It takes a few seconds for each map, not the biggest deal. And I do get why people like the workflow of choosing the attribute from the drop-down, but it doesn’t really work for my workflow. I dislike how the attributes are treated specially in this way and would like some nicer way to set articulations on notes, both directions and attributes, while working more easily with the group structure and notation.