What's new

Template Tutorial Series [Expression Maps added]

Some "not perfect but better" answers to my own questions:

(1) I add a Generic Remote mapping for record and keep track in Lemur if Cubase is recording. In the script that would send the CC127 to get the track ID number, I check if Cubase is recording, and if this is the case, I don't send the CC127. Instead, I stop the recording, wait a couple frames, and then send the CC127 then.

This means that track switching stops recording, but that is much less annoying than having track switching write a rogue event into the new track. And in my workflow, switching tracks while recording is usually a mistake rather than intentional, so that should be fine.

(2) No good answer here, but at least you can add a generic remote button to toggle one of the four midi sends. So I'm going to use send 4 as a monitor pointing back to Lemur, default it to off, and toggle it on from the Lemur interface when I want to see the status of all the CCs on the track. Chasing seems to work for this too, so that's pretty neat.

Hi there! Sorry for the super slow reply! You seem to have pretty much come to the right conclusions by yourself :)

For changing tracks during recording, that's something I never do, but your solution is a good one to stop the rogue CC127 message from getting recorded.

And setting up a MIDI send is the only way I can think of to get changing CC values back to Lemur.
 
@Mihkel Zilmer Is there any way you would consider making your Expression Maps available? I'd be absolutely willing to part with a fee for them, nominal or otherwise :whistling:

Sorry for taking ages to get back to you - it's been a crazy busy time..

Anyway - I am exporting the Expression Maps right now, in case you are still interested. I will add a link here as soon as I am done. I wouldn't ever want to charge any money for them, especially as I am sure there a little inconsistencies or errors here and there. Hope this helps and stay tuned for the link!
 
Here's a link to my Expression Maps. While most of these use the most recent version of these libraries currently available, I think there might be a few in there that I've forgotten to update, so they might be missing some patches.

Woodwinds:
- Spitfire Symphonic Woodwinds
- Berlin Woodwinds Legacy
- Berlin Woodwinds Exp. A, B, C
- Berlin Woodwinds Revive

Brass:
- Spitfire Symphonic Brass
- Berlin Brass

Percussion:
- Spitfire Percussion (only mallets & timps)
- Berlin Percussion
- Spitfire Ricotti Mallets (missing xylo)

Strings:
- Spitfire Symphonic Strings
- Spitfire Chamber Strings
- Berlin Strings
- Berlin Strings Exp. D
- Cinematic Studio Strings

Miscellaneous:
- Spitfire Harp
- Spitfire Steel Drums
- Spitfire Harp Swarms
- Metropolis ARK 1, 2
- Albion 1, ONE, 2, 3, 5

Spitfire libraries use UACC, so all Kontakt instances share the same MIDI channel. Orchestral Tools libraries have variable MIDI channels, so the Output Mapping section of the Expression Map might need editing to match your setup.

https://drive.google.com/open?id=1kPHuqNy1wcLVOw_9_EkFsMxw56Y5cpti
[URL='https://drive.google.com/open?id=1kPHuqNy1wcLVOw_9_EkFsMxw56Y5cpti']
[/URL]
 
Last edited:
Here's a link to my Expression Maps. While most of these use the most recent version of these libraries currently available, I think there might be a few in there that I've forgotten to update, so they might be missing some patches.

Woodwinds:
- Spitfire Symphonic Woodwinds
- Berlin Woodwinds Legacy
- Berlin Woodwinds Exp. A, B, C
- Berlin Woodwinds Revive

Brass:
- Spitfire Symphonic Brass
- Berlin Brass

Percussion:
- Spitfire Percussion (only mallets & timps)
- Berlin Percussion
- Spitfire Ricotti Mallets (missing xylo)

Strings:
- Spitfire Symphonic Strings
- Spitfire Chamber Strings
- Berlin Strings
- Berlin Strings Exp. D
- Cinematic Studio Strings

Miscellaneous:
- Spitfire Harp
- Spitfire Steel Drums
- Spitfire Harp Swarms
- Metropolis ARK 1, 2
- Albion 1, ONE, 2, 3, 5

Spitfire libraries use UACC, so all Kontakt instances share the same MIDI channel. Orchestral Tools libraries have variable MIDI channels, so the Output Mapping section of the Expression Map might need editing to match your setup.


Thanks Mihkel, I'm still using the lemur template that I tweaked based on the one you created in your tutorials, works like a charm. I was even able to adapt it work with Vienna's Synchron Strings.
 
These tutorials are done really well. Thanks Mihkel.

I have a pretty big VEP/Cubase template and instruments are grouped by manufacturer. I'm now thinking it might make more sense to group them by instrument, all piccolos, all flutes all oboes, etc. I originally did it by company so I could stay with the same basic sound, but for work flow I can see by instrument could help workflow. I'm curious how others organize their instruments.
 
Hi Mihkel, wonderful tutorials

I am encountering an issue

Everything is exactly as you said but when a track is selected I see a lot of data going on in the output, after a few seconds the layout changes showing articulations but the data does not stop and then loopmidi mutes the midi out

Any idea? Is like there is a feedback which never ends, it comes from polypressure since I tried to exclude it with transformers and issue is solved but of course layout does not change

Thanks
 
Hi Mihkel, wonderful tutorials

I am encountering an issue

Everything is exactly as you said but when a track is selected I see a lot of data going on in the output, after a few seconds the layout changes showing articulations but the data does not stop and then loopmidi mutes the midi out

Any idea? Is like there is a feedback which never ends, it comes from polypressure since I tried to exclude it with transformers and issue is solved but of course layout does not change

Thanks


I solved the issue doing the following

- I don't have any local transformer on the track
- I have a transformer on the midi send that send a program change when receives a CC 127 with the function exclusive insert

It works great and is much simpler, is it really needed to have also the transformer on the track?

Marco
 
I solved the issue doing the following

- I don't have any local transformer on the track
- I have a transformer on the midi send that send a program change when receives a CC 127 with the function exclusive insert

It works great and is much simpler, is it really needed to have also the transformer on the track?

Marco

Thank you! Good to hear you got it solved!

Indeed you can avoid the first transformer, and just use in one transformer and the Insert Exclusive function! Unfortunately I was not aware of this function at the time that I made my video and learned of it just a couple days later :) Oh well..
 
Regarding the issue with missing midi sends on instrument tracks, I just found this which is very exciting! :)

Unfortunately it isn't sold seperately from their Composer Tools Pro, but at least it seems to be almost 50% off at the moment.
 
The MK video above gave me a clue for an even simpler solution for following instrument track selection.

Put a plugin in some consistent slot. It can be bypassed, so the actual plugin doesn't matter so much as its controls. I use the built-in tremolo.

Set up a generic remote to transmit two values from the plugin on the selected track to lemur: one for the value that channel indicates on the midi track method, one for 0-127. I use rate and depth. If you have less than 127 tracks, you only need one.

Using a monitor in lemur, turn the dials of the controls you have picked until lemur is receiving the values you want. Then bypass the plugin and leave it there.

When you switch tracks, Cubase will now send the two generic remote values to lemur, after sending the track selection changed message. It always sends them in the same order, even if the values are the same between two tracks, so it's easy to handle them.

I've been using this for the past couple weeks for my one-off instruments that I want expression map control on lemur for, and it works great.

A bespoke plugin that just let you enter the 0-127 values directly would be nicer than having to dial it in on the tremolo knobs, but is not necessary.
 
I have been studying the nice videos that Mihkel has made. And the I went "bananas" and set-up a kind of ArticulationExpression creater (!) in Excel, using VBA. So in Excel I manage all the different abbreviations for the articulations, and use VBA to "harvest" all the art for a specific instrument, and creating the string that goes in Lemur. This way you don't have to sit and do it all manually. Now I'm looking into a way to have excel + VBA to help me edit VST Expression Maps templates that I have created. I want to share all this, because it takes so much time. So here is a link to VST Expression maps for VSL Synchron Strings & Percussion: https://www.dropbox.com/sh/aslsurrvnm9ud4k/AAAymQpQ-885owuKmbP9JHzKa?dl=0
 
The MK video above gave me a clue for an even simpler solution for following instrument track selection.

Put a plugin in some consistent slot. It can be bypassed, so the actual plugin doesn't matter so much as its controls. I use the built-in tremolo.

Set up a generic remote to transmit two values from the plugin on the selected track to lemur: one for the value that channel indicates on the midi track method, one for 0-127. I use rate and depth. If you have less than 127 tracks, you only need one.

Using a monitor in lemur, turn the dials of the controls you have picked until lemur is receiving the values you want. Then bypass the plugin and leave it there.

When you switch tracks, Cubase will now send the two generic remote values to lemur, after sending the track selection changed message. It always sends them in the same order, even if the values are the same between two tracks, so it's easy to handle them.

I've been using this for the past couple weeks for my one-off instruments that I want expression map control on lemur for, and it works great.

A bespoke plugin that just let you enter the 0-127 values directly would be nicer than having to dial it in on the tremolo knobs, but is not necessary.
That sounds great! Could you please elaborate how to correctly set up the Generic remote (and/or post a screenshot of it)? I tried to follow, but I'm not getting it right.
 
That sounds great! Could you please elaborate how to correctly set up the Generic remote (and/or post a screenshot of it)? I tried to follow, but I'm not getting it right.

Sure! Pasted below. You should be able to save as xml and import it as a generic remote to see my setup. This sends the rate and depth knobs from a tremolo plugin (the one under modulation -> tremolo) in the first insert slot to CC123 and CC124 on channel 16 of the generic remote. You should see midi traffic right away while you turn the knobs in the plugin ui for the selected track.

Edit: pasting here didn't work. See here:
 
The MK video above gave me a clue for an even simpler solution for following instrument track selection.

Put a plugin in some consistent slot. It can be bypassed, so the actual plugin doesn't matter so much as its controls. I use the built-in tremolo.

Set up a generic remote to transmit two values from the plugin on the selected track to lemur: one for the value that channel indicates on the midi track method, one for 0-127. I use rate and depth. If you have less than 127 tracks, you only need one.

Using a monitor in lemur, turn the dials of the controls you have picked until lemur is receiving the values you want. Then bypass the plugin and leave it there.

When you switch tracks, Cubase will now send the two generic remote values to lemur, after sending the track selection changed message. It always sends them in the same order, even if the values are the same between two tracks, so it's easy to handle them.

I've been using this for the past couple weeks for my one-off instruments that I want expression map control on lemur for, and it works great.

A bespoke plugin that just let you enter the 0-127 values directly would be nicer than having to dial it in on the tremolo knobs, but is not necessary.

Thanks for sharing this! I'm going to give it a try!


I have been studying the nice videos that Mihkel has made. And the I went "bananas" and set-up a kind of ArticulationExpression creater (!) in Excel, using VBA. So in Excel I manage all the different abbreviations for the articulations, and use VBA to "harvest" all the art for a specific instrument, and creating the string that goes in Lemur. This way you don't have to sit and do it all manually. Now I'm looking into a way to have excel + VBA to help me edit VST Expression Maps templates that I have created. I want to share all this, because it takes so much time. So here is a link to VST Expression maps for VSL Synchron Strings & Percussion: https://www.dropbox.com/sh/aslsurrvnm9ud4k/AAAymQpQ-885owuKmbP9JHzKa?dl=0

Thank you Stig! Sounds like a great method for making the process quicker and more streamlined!
 
Thanks for sharing this! I'm going to give it a try!




Thank you Stig! Sounds like a great method for making the process quicker and more streamlined!

Hi Mihkel,
Just wanted you to know that I recently published a video of my orchestral template where I built upon your lemur project.
I added credit to your work, which was very helpful to understand how to have automatic articulations. I changed few things and adapted to my libraries.
I also made a few corrections on the expression maps, some of them were not correctly mapped to UACC and added other spitfire libraries (LCO, BHT, Swarm)
Here is the link to the post
https://vi-control.net/community/th...-cubase-lemur-vepro-and-spitfire-audio.68852/

Thanks again!
Marco
 
So, I finally purchased Composer Tools Pro by @MIDI Kinetics, admittedly mainly for the Recall Plugin. I appreciate all the work that went into the Lemur Project itself, but unfortunately it's just too much for me. All I want is a big table of keyswitches and some faders and buttons that switch on track selection, just like in @Mihkel Zilmer's version. But I really need my instrument tracks. :)

However I have some trouble to make it work with Mihkel's template. If I understand correctly, the Recall plugin works like this: selecting a track in Cubase sends CC126 to Lemur, which in return sends CC127 back to Cubase (same as before), and after receiving this CC127 another Generic Remote will trigger the Recall plugin, which then sends out a specific Program Change on a specific Midi Channel back to Lemur.
Now this is all very much like Mihkel's solution, except that he uses Poly Pressure instead of Program Changes. Is there an easy way to adjust Mihkel's file so that it works with Program Changes? I tried just switching the 'execution' dropdown menu for the MIDI_IN script from 'A0 - Key Pressure' to 'C0 - Program Change' but no luck.
Also, how can I monitor if Lemur actually receives those Program Changes (because I'm not sure it does)? I know there's a monitor object, but I have no clue how to use it for a situation like this.
I feel the documentation for Lemur is pretty incomplete, and the forums are completely gone, so I'm pretty much stuck and thankful for every bit of help! :)
 
But I really need my instrument tracks. :)

My method only works with MIDI tracks I'm afraid, as it relies on a MIDI send...

I tried just switching the 'execution' dropdown menu for the MIDI_IN script from 'A0 - Key Pressure' to 'C0 - Program Change' but no luck.

This should be all you need to do to switch the type of incoming message..

Also, how can I monitor if Lemur actually receives those Program Changes (because I'm not sure it does)? I know there's a monitor object, but I have no clue how to use it for a situation like this.

Insert a Monitor object somewhere. Then edit the MIDI_IN script and add this line:
Monitor.value=MIDI_ARGS;

The value field of the Monitor will now display the incoming MIDI signal detected by the MIDI_IN script whenever a new incoming signal is detected. It will display three numbers separated by commas: {'CC number','value','channel number - 1'}

Hope this helps!
 
Sure! Pasted below. You should be able to save as xml and import it as a generic remote to see my setup. This sends the rate and depth knobs from a tremolo plugin (the one under modulation -> tremolo) in the first insert slot to CC123 and CC124 on channel 16 of the generic remote. You should see midi traffic right away while you turn the knobs in the plugin ui for the selected track.

Edit: pasting here didn't work. See here:


I can't really get my head around it. Does this clever workaround with the Tremolo VST in the mixer work with Mihkels fantastic Lemur Template? I get his inital template to work but since I'm using instrument tracks it doesn't really help me out.
I get the values on the Monitor in Lemur but don't really know what they respond to. I thought the SelectBank and SelectTrack corrspond to the articulation changes in Mihkels template, eg. Bank1 for HiWoodWinds and Track 20 for Spitfire Oboe or something like that. But what are CC123 and CC124 then for? Are those the CCs Mihkel uses 126 for, or ... ? Unfortunately I'm a noob and at my wits end, would really appreciate if someone could help me out.
 
I can't really get my head around it. Does this clever workaround with the Tremolo VST in the mixer work with Mihkels fantastic Lemur Template? I get his inital template to work but since I'm using instrument tracks it doesn't really help me out.
I get the values on the Monitor in Lemur but don't really know what they respond to. I thought the SelectBank and SelectTrack corrspond to the articulation changes in Mihkels template, eg. Bank1 for HiWoodWinds and Track 20 for Spitfire Oboe or something like that. But what are CC123 and CC124 then for? Are those the CCs Mihkel uses 126 for, or ... ? Unfortunately I'm a noob and at my wits end, would really appreciate if someone could help me out.

Nevermind, got it working. Thanks a lot both pilgrim and Mihkel!
 
Dear @Mihkel Zilmer, your tutorials are among the most helpful videos on the topic I've seen in a while. Thank you very much for sharing your knowledge in such a clear and structured way. I've learned a lot!
 
Top Bottom