# Dorico Mapper



## Sean J (Jan 2, 2020)

Here's a mapper I made. I hope it helps others stay sane.

It requires MS Excel on a PC (not the web version) to run a Macro. The macro will export several maps at once. Let me know if it helps you!

*Dorico Mapper*

-Sean


----------



## DaddyO (Jan 3, 2020)

Great! I'll check this out. Thanks for posting in the Dorico forum or I wouldn't have seen this.


----------



## Bollen (Jan 31, 2020)

Pardon my ignorance, but what is a mapper and what does it do?


----------



## Sean J (Feb 5, 2020)

Bollen said:


> Pardon my ignorance, but what is a mapper and what does it do?



Dorico and Cubase have Expression Maps, which tell Dorico to trigger a VI's Key Switch for Staccato, legato, etc. I won't explain that more, but you'd have to be familiar with that feature to understand the rest of this reply. As for my mapper... complex maps can have hundreds of small settings in them. Excel files are easier to edit than GUI's that build XML (in almost every program). Steinberg created a automap feature for VST3 which everyone ignores. Alas... mapping sucks, no one is doing anything universal and smart about it, so I made a mapper just to make life easier. If you wanted to map 1,000 different articulations for 50 instruments all at once (which I have), I can edit 30 key switches at once in Excel then click a button to export everything automatically (and almost instantly). It's a life saver.

I don't use maps anymore, ironically. I have a better workflow. I just uploaded it if it helps others.

I hope that's clear enough. Cheers!


----------



## Bollen (Feb 5, 2020)

scoredfilms said:


> Dorico and Cubase have Expression Maps, which tell Dorico to trigger a VI's Key Switch for Staccato, legato, etc. I won't explain that more, but you'd have to be familiar with that feature to understand the rest of this reply. As for my mapper... complex maps can have hundreds of small settings in them. Excel files are easier to edit than GUI's that build XML (in almost every program). Steinberg created a automap feature for VST3 which everyone ignores. Alas... mapping sucks, no one is doing anything universal and smart about it, so I made a mapper just to make life easier. If you wanted to map 1,000 different articulations for 50 instruments all at once (which I have), I can edit 30 key switches at once in Excel then click a button to export everything automatically (and almost instantly). It's a life saver.
> 
> I don't use maps anymore, ironically. I have a better workflow. I just uploaded it if it helps others. I should probably upload a lot more things I've made (mic merging script, etc, etc).
> 
> I hope that's clear enough. Cheers!


Wow that sounds amazing, I might give it a go just out of curiosity. But yes, just like you I don't use them, never have... Since I'm usually changing keyswitches almost every note and they don't contain any markings. Seems to be it would take longer to write in articulations that you would then need to hide when you know in real life a player would just play like that...


----------



## Sean J (Feb 5, 2020)

lol, thanks!

In short, you may NOT want to try it just to try it. If you play things in, that's probably a faster workflow you already.

I've always been a 'mouse-it-in' guy. My ear and improv skills are my strongest skills... but I still feel that I write better 'thought-through' music when I think about what I'm writing and pen it in, per se. Maps are useful for that workflow, but I still change techniques constantly enough to share the same tweaking needs. For maps it's a hassle, just easier than mousing in without maps. So I'll soon be moving entirely to a new library that eliminates this issue altogether.


----------



## Thundercat (Feb 5, 2020)

scoredfilms said:


> lol, thanks!
> 
> In short, you may NOT want to try it just to try it. If you play things in, that's probably a faster workflow you already.
> 
> I've always been a 'mouse-it-in' guy. My ear and improv skills are my strongest skills... but I still feel that I write better 'thought-through' music when I think about what I'm writing and pen it in, per se. Maps are useful for that workflow, but I still change techniques constantly enough to share the same tweaking needs. For maps it's a hassle, just easier than mousing in without maps. So I'll soon be moving entirely to a new library that eliminates this issue altogether.


Interesting. What new library and how is going to eliminate the need for mapping? I love Dorico and I use NotePerformer...


----------



## Bollen (Feb 5, 2020)

scoredfilms said:


> lol, thanks!
> 
> In short, you may NOT want to try it just to try it. If you play things in, that's probably a faster workflow you already.
> 
> I've always been a 'mouse-it-in' guy. My ear and improv skills are my strongest skills... but I still feel that I write better 'thought-through' music when I think about what I'm writing and pen it in, per se. Maps are useful for that workflow, but I still change techniques constantly enough to share the same tweaking needs. For maps it's a hassle, just easier than mousing in without maps. So I'll soon be moving entirely to a new library that eliminates this issue altogether.


Yeah, I'm primarily a notation guy and since I moved to Dorico I haven't even touched the DAW. My method, even before in the days of Sibelius, is to copy/paste a line in an added staff below, then key in the keyswitches without changing the rhythms. When I'm done I click on properties and move the whole staff to play at -10 clicks, voila! Easy peasy...!



Thundercat said:


> What new library and how is going to eliminate the need for mapping?


My guess would be Samplemodelling...?


----------



## Sean J (Feb 5, 2020)

Thundercat said:


> Interesting. What new library and how is going to eliminate the need for mapping? I love Dorico and I use NotePerformer...





Bollen said:


> My guess would be Samplemodelling...?



No, but close. Samples w/ lots of tweaking under the hood. My custom IR's, some mixing wizardry, and Infinite Brass. That's the future for me.

I blindfolded a friend, demoed it, he bought it promptly, let me play with it, and with some tweaking the results are very realistic. Some say they are thin or too classical. EQ and good IR's easily make it sound like the ESO in Lyndhurst or Orchestral Tools or real recordings. People are just lazy. I have my own custom IR's I prefer over Altiverb, MIR, H-Reverb, B2, Valhalla, etc, etc. I've done endless reverb tests. It's not hard, it just takes doing things right... and most people IMHO do reverb very very wrong. A bold opinion, but I follow my ears. Now I just have to not be so poor, get his samples, and demo the crap out of how Hollywood they can sound. lol

Can you tell I'm a fan?


----------



## Bollen (Feb 5, 2020)

scoredfilms said:


> Can you tell I'm a fan?


Yes! And it makes me smile!


----------



## Thundercat (Feb 6, 2020)

scoredfilms said:


> No, but close. Samples w/ lots of tweaking under the hood. My custom IR's, some mixing wizardry, and Infinite Brass. That's the future for me.
> 
> I blindfolded a friend, demoed it, he bought it promptly, let me play with it, and with some tweaking the results are very realistic. Some say they are thin or too classical. EQ and good IR's easily make it sound like the ESO in Lyndhurst or Orchestral Tools or real recordings. People are just lazy. I have my own custom IR's I prefer over Altiverb, MIR, H-Reverb, B2, Valhalla, etc, etc. I've done endless reverb tests. It's not hard, it just takes doing things right... and most people IMHO do reverb very very wrong. A bold opinion, but I follow my ears. Now I just have to not be so poor, get his samples, and demo the crap out of how Hollywood they can sound. lol
> 
> Can you tell I'm a fan?


Thanks for sharing!

although I wouldn’t characterize others as “just lazy” - perhaps not aware of what you know or figured out.

well done, and good luck!


----------



## Franklin (Feb 6, 2020)

scoredfilms said:


> lol, thanks!
> 
> In short, you may NOT want to try it just to try it. If you play things in, that's probably a faster workflow you already.
> 
> I've always been a 'mouse-it-in' guy. My ear and improv skills are my strongest skills... but I still feel that I write better 'thought-through' music when I think about what I'm writing and pen it in, per se. Maps are useful for that workflow, but I still change techniques constantly enough to share the same tweaking needs. For maps it's a hassle, just easier than mousing in without maps. So I'll soon be moving entirely to a new library that eliminates this issue altogether.



Sounds very interesting what you're doing. I sure would like to hear your achievements and maybe you can elaborate on your present workflow. I/we might learn something here.
Thanks for sharing and keep up the good work!


----------



## Sean J (Feb 6, 2020)

Thundercat said:


> Thanks for sharing!
> 
> although I wouldn’t characterize others as “just lazy” - perhaps not aware of what you know or figured out.
> 
> well done, and good luck!



I need to be better about that. The more I think about Beethoven not writing a lazy note, magnified by some opposition I deal with.. I guess I see all efforts as lazy or not, mostly in my own work. There's a more constructive way to communicate. I even do it... sometimes.


----------



## Sean J (Feb 6, 2020)

Franklin said:


> Sounds very interesting what you're doing. I sure would like to hear your achievements and maybe you can elaborate on your present workflow. I/we might learn something here.
> Thanks for sharing and keep up the good work!



In reality, I suppose there is no workflow anymore. If you watch the demos of Infinite Brass... even if you hated the sound of them... you'll understand exactly what workflow I'm getting at. It's just a musical performance, not maps or UI or tweaks. I'm not trying to be vague. I'm just not sure how else to put it.


----------



## Sean J (Feb 6, 2020)

I'm pulling in a quote from a different thread where I mentioned this mapper...



jgarciaserra said:


> wow It seems to be very useful and a time saver. I always program my own expression maps, but never with consistency trough the instruments.
> Thanks @scoredfilms, but I'm afraid I would need a tutorial



A friend asked me to teach him how to use the mapper. I kept saying he just have to dive in. There is some truth in that. Everything is basically the same as the Dorico / Cubase GUI, just with all fields shown at once. Some fields are required, which the GUI normally auto-populates. So I filled those out by default. I'm not as into tutorial making as I should be and don't really want to support the files. I just offer them if it helps. But I'll say a little bit for now to see if it can help.

First, if you have 3 maps only... this isn't for you. The mappers are mostly for people who maintain a lot of maps with a lot of data.

*Dorico:*

Map name: add to the first column 
Technique ID: add articulations here, using Dorico's technique ID's
KeySw: the MIDI note # of your keyswitch
KSvel: the velocity, just use 127 if unsure
Columns C - I are all required, but you can just use the default values I've listed

*Cubase:*

Map name: add to the first column 
Name: add articulations here
Art 1: add the same articulation list here, unless using multiple groups
Status: Set to "Note-On"
Data 1: the MIDI note # of your keyswitch
Data 2: the velocity, just use 127 if unsure
Columns L - S are all required, but you can just use the default values I've listed

Once everything is filled out, click Export Maps. If the saved map file won't import or causes a crash, it means you've left out a required field or used a value the program won't accept (like velocity -5). So it's not stupid-proof, but it definitely looks more daunting than it really is. It just takes diving in and making a map. If it helps, make a map with only 3 techniques to start, just to get used to it.

Hope that helps!


----------



## Sean J (Feb 11, 2020)

Dewdman42 said:


> Very cool thanks for sharing! How do you go about generating the version ID numbers that are found in the XML?



Replied to from another thread, as to not derail that thread too much...

---

I suppose you could be talking about 3 different things. My best guess is that you're talking about how Dorico maps can have a version number in the header info. I left this out, thinking "meh, one can edit that manually if they must". BUT... it would be stupid easy to add to the Excel file if you want me to. I just want to be sure that's what you're talking about. ???

When I first made the Cubase mapper, I saw that Cubase seemed to arbitrarily assign ID's to some tags, without using the ID's in a functional way (very unlike Dorico). I'm not sure if that's a "version ID" from memory, but still. I just used ID's from test maps and considered them irrelevant.

One thing worth noting... the Dorico mapper has a "ticks" field, because the xml has it. Dorico's GUI doesn't yet reflect this. I'm not sure if Dorico reads this yet (I'd guess it would if it's in the xml), but it's worth noting it's existence as it's unique to the mapper & xml. We'll consider it a super hidden power user feature.


----------



## Dewdman42 (Feb 11, 2020)

There are all kinds of id's used (in the cubase XML, I'm not familiar with Dorico). For example:


```
<obj class="USlotVisuals" ID="105553434407584">
            <int name="displaytype" value="1"/>
            <int name="articulationtype" value="0"/>
            <int name="symbol" value="73"/>
            <string name="text" value="Smooth" wide="true"/>
            <string name="description" value="Smooth" wide="true"/>
            <int name="group" value="0"/>
         </obj>
```

Near as I can tell these are unique ID numbers assigned to each area of the Cubase expression map editor GUI.. but are you saying you just leave them out entirely and it works somehow? I think in some cases, some part of the XML is referencing other items in the Xml via the ID numbers...so I'm not sure they can be ignored entirely...


----------



## Sean J (Feb 12, 2020)

Dewdman42 said:


> I think in some cases, some part of the XML is referencing other items in the Xml via the ID numbers...so I'm not sure they can be ignored entirely...



The short answer:

A friend and I have made complex Cubase maps for years without seeing ID's be an issue. If you make a map where ID's become a problem, I'd be interested to take a look at it. Fortunately, Dorico is more future-proof in this way as ID's are handled better.

The long answer:

Notion's XML uses ID's in multiple XML files, cross references, and does so in a way that's harder to reverse engineer as it's very integrated into the way the software works. It's a bit convoluted as their Rules are far more capable than Steinberg's maps. Dorico is similar, but they've made it very easy to get into the XML. Everything is either already defined or user-defined and it's always clear which and where it goes, etc. Cubase generates ID numbers for new entries automatically, per map. As it's per map, it's hard to see how the ID's could be relevant to any program use. Maybe the XML uses ID's in multiple places, but Cubase appears to ignore the ID's, so it wouldn't matter anyway.


----------



## Dewdman42 (Feb 12, 2020)

If cubase is ignoring the id’s for now then no big deal! I was going to make a dedicated GUI for editing expression maps, but as soon as I saw all those generated ID's, I stopped my effort...

I am wanting to be able to specify a simple small set of keyswitches, in four groups, and then have the macro generate all the sound slot lines for me automatically. Maybe I will just use a seperate spreadsheet to do that and copy the result into yours. Unless yours does that already? The Excel Macro approach is definitely a great solution thanks for sharing!


----------



## Sean J (Feb 12, 2020)

Not necessary as the mapper will do all that already. It's 99.95% as functional as Cubase in terms of what it will do. The only limitations I know of are very small. For instance, you can't make a map with 120,000 articulations..... obviously very limiting... and you can't control the order of the articulation list. I prefer to order it by mouse in Cubase after anyway, as I never know the order I like until I've played with the articulation lane a little bit. So I guess that's a limitation, but one I've happily lived with. As I said, small. The actual mapping of data (the tedious part) is what I focused on speeding up.

Using a different sheet is fine. The maps sheet is technically a different sheet already. The macro copies the list from "maps" onto a 'super hidden' sheet only Excel VBA can access.


----------



## Dewdman42 (Feb 12, 2020)

I'm not sure what you're suggesting in terms of "not necessary". I am not using Dorico, only Cubase. If I want to setup an expression map with with say 4 "groups" and there are more than a couple of key switches in each group, that can result in 1000 or more sound slots that are very tedious to enter the information one slot at a time. That is the main thing I am wanting to automate.

I am thinking that the ordering might be related to the ID field, but who knows. Anyway, maybe after you re-order and save it in cubase, does cubase generate a bunch of ID's for you? 

I will try to play around with your macro sheet later today...


----------



## Sean J (Feb 12, 2020)

Sorry, I misread your post. Also, I only mention Dorico in case others ever read this who use it or both programs.



Dewdman42 said:


> If I want to setup an expression map with with say 4 "groups" and there are more than a couple of key switches in each group, that can result in 1000 or more sound slots that are very tedious to enter the information one slot at a time. That is the main thing I am wanting to automate.



Right, that sounds like a typical map I'd create with the mapper. So I don't see any difference in understanding here. The Cubase GUI is obviously very mouse oriented. 



Dewdman42 said:


> ...after you re-order and save it in cubase, does cubase generate a bunch of ID's for you?



Apparently it does... and redoes...

I made a map w/ 3 empty slots, saved, opened the XML. I edited the ID's for "PSoundSlot" and "PSlotMidiAction" to something stupid like "1111111111". Imports just fine. Then, without changing anything, I export the map and it has a new ID. I did another test without touching the XML... Cubase just changes the ID's every time you save the map file. I guess that's about as arbitrary as something can be.

If I'm still not on the same page I apologize. I haven't been myself in a while.


----------



## Dewdman42 (Feb 12, 2020)

I guess I just noticed your macro is using some windows-only features or something, when I open it in Office 2016 (mac) it complains that you're using some feature that is not supported.

But anyway I like the idea and will try to make something, or if you have any idea how i can make it work on mac?


----------



## Luke Davoll (Mar 6, 2020)

Is the idea of the mapper to be able to export single expression maps at a time (fill in name, add articulations, export map, clear and start again)? Or can one export multiple maps at once (enter name, add arts, add next name to first available free row, add arts etc etc)? I did dive in, but was having a little trouble with this one...


----------



## Sean J (Mar 6, 2020)

You can export an individual map or multiple at once. It's as you described. Illustrations (in some cases) can help me, so here's one if it helps.







Fill things out in that order, then click Export. Step 4 points to a second map on the next free row (blank rows are generally bad to have in Excel). Anyway, once done with these 4 steps, click Export. and one or multiple maps will be saved automatically.

Mind you...

This is just a basic illustration of the steps of how to edit the worksheet. Technically, the "how to map" sheet explains two other things: 1) a crappy explanation that each column matches a Dorico feature if you look at Dorico's mapping GUI and 2) that you need to create a MAPS folder on your C drive to start mapping.

----------------------

I do things left to right. So here's an exact list of the steps I'd do to add a French Horn map to the sheet with my examples, starting on a new row. I'll list the cells and what I'd add to them.

A20 through A22 ... Add "Brass-Horn"
C20 through K20 ... Copy from row 19 (good default settings)
R20 through R22 ... List techniques: pt.natural, pt.staccato, pt.legato
V20 through W20 ... Add KS note numbers, put 127 for velocity

After that, click "Export Maps". Hopefully that scenario gives anyone who feels daunted by the spreadsheet approach a clear way to get used to how to use it. Knowing maps in detail comes with experience. But using the spreadsheet truly is a lot easier than you'd think. It just looks big.

And if you still feel like you're pulling teeth... just look at Staffpad. No mapping required. Pretty awesome stuff that just came out.

Best of luck!


----------



## Luke Davoll (Mar 7, 2020)

scoredfilms said:


> You can export an individual map or multiple at once. It's as you described. Illustrations (in some cases) can help me, so here's one if it helps.
> 
> 
> 
> ...


Thanks so much Sean. For some reason I had an old version of the mapper. I think I had gotten it from the steinberg forums ,the one from dropbox and not Google drive. Anyway, it's all working now just as you so kindly explained. One question, I'm using Excel 2016 and when I export your demo maps (multi 1,multi 2 & multi 3), each expression map has around 13,000 or 14,000 lines in the map (obviously mostly white space/new lines). I haven't imported them into cubase yet to check they work, but just checking you know about this and I'm not doing anything wrong!

Cheers.

Edit: just realised this is the dorico thread. I'm talking about the cubase mapper. Sorry, I'm getting a little confused with all the threads!


----------



## Sean J (Mar 7, 2020)

Note to self: more threads/forums = mayhem, chaos, confusion

I'm glad it's working! Nice to know it helps someone. The vast empty lines is a result of some hidden formulas. It's avoidable, but a lot faster for me to make and change the mapper this way. Once you import a map, you can export that same map from Dorico/Cubase again and it will save with a clean xml layout (no paragraph returns, etc). I do that myself. Does it matter? Probably not. But somehow knowing that my data is cleaner and neater makes me feel better inside........?


----------



## Luke Davoll (Mar 8, 2020)

scoredfilms said:


> Note to self: more threads/forums = mayhem, chaos, confusion
> 
> I'm glad it's working! Nice to know it helps someone. The vast empty lines is a result of some hidden formulas. It's avoidable, but a lot faster for me to make and change the mapper this way. Once you import a map, you can export that same map from Dorico/Cubase again and it will save with a clean xml layout (no paragraph returns, etc). I do that myself. Does it matter? Probably not. But somehow knowing that my data is cleaner and neater makes me feel better inside........?


Haha exactly, I thought about running them through sublime text, but at the end of the day, it probably doesn't matter at all. 

Thanks again!


----------



## OldSkoolMark (Apr 20, 2020)

Looks like a great way to manage expression maps! Does it support Exclusion Groups?


----------



## Sean J (Apr 25, 2020)

OldSkoolMark said:


> Looks like a great way to manage expression maps! Does it support Exclusion Groups?



Both mappers do, Cubase and Dorico. Sorry for the delay. I've been glancing at VI-Control, but had some personal issues come up keeping me busy atm.


----------



## Sean J (Jul 15, 2020)

Hey everyone,

I've made a new DAW mapper 1) to export to multiple DAWs and 2) to replace the Cubase mapper and created a thread for it, as this is primarily a thread about Dorico mapping.

See here: https://vi-control.net/community/threads/universal-daw-articulation-manager.95959/


----------



## HenrikSkram (Jan 3, 2021)

Thanks for sharing this! I´ve just switched from Sibelius to Dorico and trying to get my head around the Cubase EMs. I´m specifically trying to get my Spitfire Symphonic libraries to work, with the Cubase maps from Babylonwaves. Could I make use of your resource, @Sean J , or is my issue simpler than that?


----------



## OldSkoolMark (Jan 3, 2021)

Have you checked the sticky expression map thread on the Dorico forum at Steinberg? There are a bunch of Spitfire EMs there.


----------



## Sean J (Jan 6, 2021)

HenrikSkram said:


> Thanks for sharing this! I´ve just switched from Sibelius to Dorico and trying to get my head around the Cubase EMs. I´m specifically trying to get my Spitfire Symphonic libraries to work, with the Cubase maps from Babylonwaves. Could I make use of your resource, @Sean J , or is my issue simpler than that?


Configuring Spitfire to work with Babylonwaves maps wouldn't involve my tool.

My file only creates expression maps. If you have some already (Babylonwaves), then you're already mapped. What you need now is to configure your Kontakt patches according to how Babylon's documentation says to (I wouldn't know). It's possible there's no config needed at all, if that's how they designed their maps.


----------



## HenrikSkram (Jan 7, 2021)

Sean J said:


> Configuring Spitfire to work with Babylonwaves maps wouldn't involve my tool.
> 
> My file only creates expression maps. If you have some already (Babylonwaves), then you're already mapped. What you need now is to configure your Kontakt patches according to how Babylon's documentation says to (I wouldn't know). It's possible there's no config needed at all, if that's how they designed their maps.





Sean J said:


> Configuring Spitfire to work with Babylonwaves maps wouldn't involve my tool.
> 
> My file only creates expression maps. If you have some already (Babylonwaves), then you're already mapped. What you need now is to configure your Kontakt patches according to how Babylon's documentation says to (I wouldn't know). It's possible there's no config needed at all, if that's how they designed their maps.


Thanks, Sean. That was clarifying to me!

Henrik


----------

