Build Reliable & Scalable Playback Templates in Dorico | Will Edwards | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Build Reliable & Scalable Playback Templates in Dorico

teacher avatar Will Edwards, Artist. Creative Problem Solver. Musician

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Introduction

      1:42

    • 2.

      Name Your Expression Maps with Purpose

      2:28

    • 3.

      Group Instruments into Sectional Maps

      2:02

    • 4.

      Set Up Endpoints for Your Playback Template

      11:02

    • 5.

      Design a Reliable Switching System

      12:14

    • 6.

      Safely Share and Reuse Expression Maps

      8:41

    • 7.

      Manage Versions Across Different Libraries

      5:58

    • 8.

      Design Reusable Templates for Your Ensembles

      8:57

    • 9.

      Stay in Control with the Library Manager

      3:20

    • 10.

      Keep Your Playback Setup Running Smoothly

      4:24

    • 11.

      Final Comments and Your Class Project

      3:22

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

1

Student

--

Projects

About This Class

Class Overview
Expression maps are powerful—but once you’ve built more than a few, things can get messy fast. In this class, you’ll learn how to organize your Dorico expression maps, percussion maps and libraries with a clear, scalable strategy so that your playback templates remain efficient, navigable, and easy to maintain—even in large orchestral projects.

What You Will Learn
By the end of this class, you’ll be able to:

  • Organize expression maps by name for clarity and consistency
  • Build sectional maps that combine multiple instruments
  • Use endpoint setups and templates to streamline routing
  • Create reusable templates tailored to your libraries and ensembles
  • Safely import, export, and maintain your expression map library over time

Why You Should Take This Class
If you’ve ever felt overwhelmed managing dozens of maps or struggled to recall which version works with which library, this class is for you. You’ll walk away with real-world strategies for managing complex templates, keeping things tidy as your setup grows. I’ll walk you through a proven naming structure and help you create maps that are not just functional—but future-proof. As a composer managing hundreds of instruments and dozens of libraries myself, I’ve designed this system to reduce frustration and free up creative energy.

Who This Class is For
This class is ideal for intermediate to advanced Dorico users who are already familiar with expression maps and want to get serious about building a robust scoring workflow. You should already be comfortable creating basic expression maps and navigating the Playback and Endpoint Setup panels.

Materials/Resources
You’ll need a working copy of Dorico and at least one third-party library that uses expression maps. I’ll also provide a starter naming convention template to help you hit the ground running.

Meet Your Teacher

Teacher Profile Image

Will Edwards

Artist. Creative Problem Solver. Musician

Teacher

I'm a fulltime media composer with a passion for music and programming. I have honed my skills as a production engineer, gigging artist, and I'm an academically trained film composer at Berklee College of Music. I delight in crafting powerful and immersive audio experiences for TV, films, video games and media. Dedicated and curious, I possess over 20 years of expertise in computer programming, proficient in C#, Java, and Lua, as well as experience with implementation software (game audio), sound design tools, and techniques.

Core Competencies:

Music Composition Sound Design Audio Editing & Mixing DAW Proficient (Cubase, Pro Tools, Ableton) Middleware/implementation (Wwise) Production and Adaptive Score Techniques

I specialize in bridging the gap between music and techno... See full profile

Level: Intermediate

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction: My name is Will, and thanks so much for checking out my course here on building your own orchestral template and playback template in Dorko. What we're going to cover in this course has to do with a methodology and strategy for creating reliable and maintainable, complex templates for writing orchestral music and getting great sounding mockups, using advanced expression map techniques and playback templates in Dorico. So we're going to talk about switching and how we use base switches and add ons. How we can actually plan those out. I'm actually going to give you a worksheet you can figure out that'll help you along the way. We're going to talk about family endpoints and projects. This is a method of managing your instrument families one by one. It's going to make your projects much more maintainable, much more consistent, and you're going to get a better sound from your high end libraries when you follow this particular methodology. We're also going to talk about versioning and using different libraries, how you can actually use playback template creatively to switch between different collections of instruments and even different ensembles. If you have an ensemble that's a chamber ensemble, for example, versus a trailer or hybrid ensemble. I'm going to show you how you could set that sort of thing up. But again, in a maintainable and easy to use structure that's always going to get reliable and great sounding mock up results from your Darko projects. We are going to touch on some other smaller details like using the library manager to keep all of us sane while we're doing this kind of work, you're going to get deep into some more advanced topics related to expression maps. So I'm really excited that you're here. Thank you so much for checking out my course, and let's get started in the next lesson. 2. Name Your Expression Maps with Purpose: Putting together playback templates and project templates for advanced sort of full orchestral music with large libraries, large orchestral libraries, there are a few things to take into consideration as you set forth setting up those templates so that they're reliable and consistent. The first thing is thinking about and understanding how a playback template can be structured in such a way that it works ideally with your expression maps. And in the next several lessons, you're going to learn all about how that sort of integration can be optimized to make things as maintainable and manageable, but also at the same time make sure you're leveraging all those awesome features in your library, right? So your playback template is really number one. That's the place where all the instruments with the endpoints that contain your expression maps are all bundled together. And if you're not sure what endpoints and playback templates and expression maps are really how they're all related, you will in the next several lessons. The second consideration is getting started by organizing things into instrument families. So we already see this in typical score order if you're working in orchestral music where you have your woodwinds and you have your brass and you have your percussion and your strings. Things are already organized on a score in a way that makes a lot of sense to transport into this situation, too, where you want to actually start collecting your expression maps by instrument family, sometimes even playback templates for unique families. And we'll talk about that later on when we talk about using ensembles and custom ensembles. The final thing to think about is version control or rsoning. Now, there's not really a traditional version control system in Darko, where, you know, it'll actually remember old versions. You can't actually go back once you save a new version of an expression map, it's not as though Darko saves a version that you can access later on. Can use version numbers and also edit a description for your expression maps to help remind you what they're really for, maybe what ensembles they include, which libraries they're directed at, things like that. And that can really be an important part of just staying organized. It's worth the extra few minutes to just type in a little bit of a description. And we're going to talk about that and all these other topics in the upcoming lessons. So without further ado, let's get started. 3. Group Instruments into Sectional Maps: So why do we want to start with instrument families as the basis for our expression maps, essentially because instrument families tend to share unique instrumental articulations. So, for example, you're going to have flutter tongue on a flute or wind instruments, whereas you're going to have Pitzcado on strings. You're never going to have Pitzcato on a wind instrument. So there are articulations that are unique, some that are in common. For example, using mutes, you might use mutes on strings or brass but in general, it makes sense to keep your expression maps somewhat organized by instrument family. So we're talking about winds, brass, pitched percussion is going to have unique some unique articulations versus regular percussion versus strings. So starting there finds a nice balance between you're not writing an expression map for every individual instrument. I'd highly recommend against that just because you're going to be doing a lot of redundant work, and over time, you can actually collect huge sets of expression maps. And then a lot of the information there is fairly redundant. And if you decide all of a sudden that, you know, you wanted to have a different key switch that triggers your legato patch, you got to go into, you know, your patch for violin and your patch for viola and your patch for Cello, and so on and so forth. And suddenly, a small, simple change takes a lot of work. So there's a nice sweet spot where you organize your expression maps by family. And it is a nice sweet spot between being prepared for flexibility but also not having things be so granular that they are overwhelming to maintain, okay? So let's move into the next lesson. 4. Set Up Endpoints for Your Playback Template: Prioritize playback templates and instrument families along with endpoints to create a manageable and sort of scalable system of expression maps. The starting point for this, in my view, is to set up an actual project where you collect all the instruments within an instrument family. And this project is not designed to write music into. It's simply designed to connect up the right instruments with the right expression maps, make sure that everything is configured correctly and everything's responding correctly, and then save that as an endpoint bring that endpoint into your playback template, and then every time you load up that playback template on any other project, you can be assured that everything works correctly. Now I've done this time and time again, and this is the most reliable workflow that I've found. And I think really actually the intended workflow behind Darco's optimization structure of playback templates containing endpoints, which then contain instrument and expression map pairs. So I'm going to dive in here to my project and show you what exactly I'm doing. So I've got a project here which is just called strings. That's all it is. It's just a Darko project that contains my string section. So let's take a look at what we've got in the setup. We've got a standard string ensemble, violins one, two, viola, Celi and basses. I've got those set up here in the flow. And again, I don't have notes in here for musical reasons. I'm just checking out that various expression map add ons and articulations are going to work. So I've got these set up here and I can play them back, and I can just be sure that everything's working correctly according to my model. Now, let's take a look now that we've seen how the endpoint project is set up, let's look at the expression maps. So we're going to go into the play mode over here. And I've got the strings loaded up here. This is really the only VST that we need is one version of the VE Pro strings. This is a Vienna Ensemble Pro. It is connected to an external thing. If you were using sign player directly or maybe contact or another library, then you would, you know, maybe not be using Vienna Ensemble Pro. You'd actually have an instance of contact or something here with your violin in it. But what I've got here is violins are linked to the instrument, Viola, they're all going to the same instrument, but you'll notice they're going on different ports. The violin is port one. Violin two is port two, viola, Celi and so on. They're iterating through port numbers. Now violin one has the correct expression map. Violin two does not. So what I'm going to do is I'm going to open this up, take a look at the expression maps. We can see I've got one in here. This is called Maestro strings. And this is one that I made myself. You can see that it consists of base switches and then add ons. Okay. So I've got all the add ons in here. I've made a variety of custom playback techniques and playing techniques. And really the focus of this module, however, is how you can build this playback template that's reliable. So we're not going to get so much into base switches and add ons as I do in some of the other modules. What I want to look at is the endpoint setup, which is this cog right here, because although we've got our family of instruments, our string family set up here, and they're all loaded, they're playing back, we want to make sure that they're not only loading the right instrument, but the right expression maps. You can actually come in here and this gives you a nice view for all the instruments in your endpoint project. And I'm going to come in here. I'm going to make sure that every one of these has my strings setup. And we talked earlier about setting up expression maps unique to an instrument family because an instrument family often has its own articulations. In the case of strings, we have things like Pit scato which don't belong to any of the other families to percussion or brass or wind. So it makes sense that we have a strings only expression map. But we want to make sure that the expression map is correctly assigned to each of these instruments that we have the port assignment, again, one for each instrument. And although this is a little unintuitive. In Darko, if the channel is set to one, but we're using channel switching and let's say, a staccato note on Viola goes out on Channel three, it'll still do that, even though the channel is set to one here. So you don't have to worry about this. If you're doing channel switching, just leave it on one, okay? And we don't have any percussion maps because this is a string library. So I'm going to hit Well, I could hit Okay. I'm going to hit Okay, just to close that out and save it. Into the project. And now we're ready to implement this into our playback template, okay? So we've got the instruments loaded, and we've got the expression maps assigned to them, and they are playing back correctly. So now what we want to do is save that as some sort of reusable component. And the reusable component that Darko has designed for us is called an endpoint. This is going to be an endpoint that represents our string section. And this is my Berlin Series strings. If I was using CSS strings or maybe Spitfire or another string library, I may create a different endpoint project just for that so that when I'm building my playback templates, I could choose endpoints for the libraries that I want. But I'm focused here on just using the Berlin series in these examples. So when I want to save this as an endpoint, I can do that from the endpoint setup. I can see everything set up. I'm going to click down here and say, save Endpoint configuration. And this endpoint configuration file is going to save all five of these instruments, along with their expression maps, and it's also going to correlate the fact that these are um not just loading Vienna Ensemble Pro, but, for example, that this is a violin section, not a solo player. These are all sections. And this is an important distinction that if you have solo players and then you load an endpoint containing solo players onto section players, they won't line up. Darko won't realize, even though they may be both called violin one, they actually have to be section players or soloists in your endpoint, if you want them to apply in your playback template. So back here, I'm going to save this here. As an endpoint, and it's going to inherit this name right here, which I'm going to just keep. And I've done this before. So when I save this, it's going to ask me if I want to overwrite. I'm going to hit Okay. Alright. Now I'm going to go up to my play menu and I'm going to come down to the playback menu or sorry, playback template option. And I can create a new playback template if I want. I could just go ahead here and create a new one called, you know, New Playback Template. Let's just go with that name. And I might unlock this and go into description and just say, you know, this is Berlin Strings and is a demo for the course. Like that. All right. Now when I lock that, I'm going to see that in the future. This may tell me, Oh, it's CSS strings or this is Spitfire, or this is a mix of iconica sketch and other lightweight libraries. This is note performer, whatever it is that you're using, right? So I've edited this playback Template. The title and the description, but I actually have to enter some endpoints in the entries in order for this playback template to actually do anything. So the two things I'm going to do is I'm going to go in here. I'm going to select strings main, and you can see that I've created as part of my workflow, an endpoint for just about every kind of collection that I am going to be using commonly. I'm going to go ahead and select strings. Now, in the event that there's a string instrument that is not included in this endpoint, I may want to use an automatic catch all for, say, this factory playback template, iconica sketch, Halien symphonic orchestra, Halien Sonic selections, Olympus, and Groove agent SE. If I select that what that's going to mean is that any instrument that's not included in this will automatically kind of have a catch all here. That's, that's optional, but a nice thing to do. So now I'm going to click Save, and now I have this new playback template. And whenever I load it, go ahead and hit Apply Okay. We're going to find, for example, that it unloads everything from this region, and it just loads what is needed. The VE Pro strings instance. Everything is connected up and everything has the right expression map associated with it. That expression map is going to be connected up. And now, anytime I use that playback template and load that onto any other project, it's going to look for a violin one section, violin two section, viola section, Celi section, and double bass section, and it's going to apply these settings, this Vienna Ensemble Pro instance, along with these expression maps. It's going to load them into those section players. So by doing this on a per family basis, it makes it a little more manageable for me to make changes, for me to manage endpoints for each individual string library I have, for example. And I really can't overemphasize just how important it is to have this all be manageable because over time, you'll invest a lot of hours into getting these things to sound just right. If over that course of time you're building something that is organized and structured based on instrument families, based on specific instruments, based on a proper switching structure, which we're going to get into. All that stuff is so important so that when you're a year down the road, two years down the road, it's not just a house of cards, okay? Now, if you have any questions about how this is set up, maybe questions that are unique to your libraries or your setup, remember, you can always post in the Q&A, and I will get back to you about that. You can always message me directly, as well. But for right now, that's it for this particular lesson. Let's move forward into the next lesson. 5. Design a Reliable Switching System: The first stop on our road to creating the ideal playback template and project template is in identifying what base switches and add ons we want to use in our expression map. Now, the way that I've approached this and the way that I'm recommending through the course of this module is to organize a hierarchy of instrument families to base switches, add ons, and then also using conditions for note links. And we're going to get into all of that in the course of this module. So far, we've talked about collecting instrument families together and accessing those individual instruments using Mi ports in Vienna Ensemble Pro. There are other ways to do this, but that's the way that I do it because I like to have Vienna Ensemble Pro always with my instruments loaded, whether I'm using Darko, or I'm using base or I'm using logic or whatever. Okay? So that's what you're going to see here is that instruments are ports, that base switches are channels. And again, base switches are things like staccato, legato, sustain, Piscato fundamental articulations. And I'm just using strings here because we're following the thread of my last video where we were looking at strings. But if you're in brass, and you might be looking at Marcato and you might be, you know, looking at specific fundamental articulations that are unique to that family of instruments. So that's what channels are used for to switch between those base switches, the things that are mutually exclusive. Then we're going to be using Mi CCs to control add ons. These are things like consortino where it's not a fundamentally unique articulation, it's sort of an add on. It's something on top of, you know? So let's take Sultasto for example, in a string library. Sultasto or consortino would be something that you could apply on top of other base articulations. You might have a base switch of natural or legato, and those might be two different channels for base switches. But they could both have this add on of consortino on top of them because there would be cases where you'd want a sustained consortino and then a situation where you'd want legato, consortino and so forth. That's why we're differentiating between base switches with channels and add ons with midiCCs. Then the final aspect of this is using note durations for conditions. And this is really key for getting a really dynamic playback more or less automatically from your library. And I'm going to show you how that's implemented. But I want to start by how do you plan this? So let's go into an example here, and you can download this along with this module. This is an example, sort of spreadsheet chart of how I've set things up. These are my instruments over here. So I've got my fundamental instrument sections, winds brass and strings. I'm not using I don't have percussion and pitched percussion in here, because a lot of these base switches and add ons don't apply. So I've got these instruments on winds and these are unique ports. All my brass and all my string sections. And this is based on the Berlin series. So I'm highly invested personally in expression maps for the Berlin series. It just makes sense to keep going with them. I really like the sound of their libraries. But if you're using another platform, you can do the same thing, load your libraries into your Vienna Ensemble Pro instances and give each one of the instances or sorry, each one of the instruments a unique port like so. Alright? So I use this chart just to make sure that I'm not accidentally giving the same port to more than one instrument in the same family because then this would break down. The next thing we're looking at is base switches. And in addition to this spreadsheet, which has my example values in it, there's another one you can download along with this module that's just blank so you can start sketching your own. Okay, so I'd recommend you do that. These ones that I've created here that start with the little Tilda sign, these are all based on conditions or note lengths. So here I've got crescendo long, crescendo short. I've got D is short for detached or detache, L is for legato. So I have a detached version and a legato version of the sample. But it's based on the assumption that the condition is very long. When you're in an expression map like this over here, and I were say to choose natural, I can actually set a condition here that says, Okay, if the note length is and then I get these choices. These are the only choices we're given. These are not strict because they are relative to whatever your tempo is. But generally, very short would be like a 16th, short would be an eighth, medium would be a quarter, long would be a half, and very long would be a whole note or longer. So you can set up these conditions that way, and then that's what I have over here, and I've just renamed the base which is with this Tilda so that when they turn up in my playing lane in the key editor, I can always determine that those are condition based. They're not actual playback techniques that I've created. They're condition based. So that's what those are. And the durations are written over here, so I can sort of just keep track of that. And then what channel they would go onto, right? So crescendos always go out on Channel ten, decrescendos always on 11, swells are well, swells are on 12. There they are. And then the detaches are always on Channel one, Legato is always on Channel two. So that's what the channel is telling me. Then below those condition based ones, I have my fundamental articulations. So these are my base switches that I control with channels. You'll see that the CC 70 value for all of them is zero, and that is because zero is the natural setting. So there's always going to be a basic staccato, and I'm going to put that on CC zero. So the main thing in this table to take note of is that each one of these, I've determined is a fundamental base switch. These are not going to occur together at the same time. They're mutually exclusive, and they've been assigned their own channel. Now, in knit, this is what's going to load up in that moment before anything has been applied. By my expression map and by the notation. So a knit generally is just set to sustains or naturals. But you can see that I have other unique channels. And again, I'm doing this in a spreadsheet so that I can make sure I don't assign the same channel to more than one by accident. I have a few other fields over here, like what my negative delay values are for some of my shorts. That would be -25 milliseconds. Again, this is unique to the Berlin series, and those are just kind of rough estimates that I've found helpful. So instruments and ports in the upper left corner, base switches and conditions over here in the main table. And then over here on the right, we have add ons, and these are controlled with medi CC values. So I've got the natural. This is just your basic. That's always going to be zero, whether it's the basic staccato, or it's the basic sustain or it's the basic Pitzcado. But let's say that I have a staccato bold, then I would send that out on, let's see, staccato bold. We'd go down to staccato here, which is on Channel three. Regular staccato is channel three with a CC value of zero. Whereas over here, if I wanted to play staccato bold, I would actually have my CC 70 would have a value of six, and it would be stacked on top of the original staccato, which is already sending to channel three. So I'm using CC 70 for controlling all of these add ons, and you see that they all have unique add ons. These are actually scale runs which only pertain to one of my violin instruments. But you have other things down here portamento, sul ponticello, soft, tremolo, different kinds of trills, forte piano, sforzando, all of those are getting unique values. Now, these trill values are being covered by a different CC. They're being covered by CC three, and that's just the way that the sign player defaults CC 70 and CC three. I can actually change in the sign player whether or not I want CC 70 to be controlling articulation switching or whether I wanted CC 71 to control that. I can change that. But I've gone with the defaults. Same with CC three controlling performance characteristics like vibrato or in this case, the trills and the interval of the trill. So I've put all this into a spreadsheet. Like I said, I've actually provided you with this demonstration so you can look at it, but also a blank version, so you can start writing out your own and organizing things based on ports for instruments, channels for base switches, a Mi CC for add ons, and then conditions for note links, alright? Keep in mind that I am using Vienna Ensemble Pro. Not all environments are going to be as flexible with midi ports. For example, sign player is not directly allow me to organize things based on Mi ports. Contact does, but it's limited. It's not quite as flexible as the number of MIDI ports that you can use in VE Pro. So if you're not using VE Pro and you have a question about how you can organize this, let me know. Reach out in the Q&A. Tell me what library you're working on. Tell me what you're trying to do, and I can certainly help. And if there's something that a lot of different students want and answer to, I'll make a supplementary video as well to cover that. All right. So I hope that helps explain how you can go about building a good switching structure, thinking about how you want to incorporate all the articulations and then articulation variations from your favorite libraries into a structured, organized system and start with a spreadsheet before you even go into creating expression maps. Once you get into creating expression maps, if you have this spreadsheet all written out, it's going to be a piece of cake. You just look it up, you fill it in. You look it up, you fill it in. And it can be tedious. Sure. But once it's done, it's done forever. You've got your expression maps loaded up. Plus, if you ever forget, which you probably will, you know, what did you have Harmonicsigned to? You always have a cheat sheet you can go to and refer to it right away in the event that you wanted to create a different expression map or maybe stay consistent across the libraries. I will make a quick mention I do stay consistent among other libraries. So if other libraries are also using Pitzcato and portato and I'm using these same add ons, I'm going to use the same values so that I always know, for example, bold is a CC value of six. In every library, I'm going to make sure that CC seventy's value of six always triggers bold. Otherwise, it's going to get too confusing. So having a spreadsheet, a cheat sheet, if you will, is going to really accelerate the process for you. If you have questions, please reach out to me, and now we're going to head until the next lesson. 6. Safely Share and Reuse Expression Maps: Spend significant amounts of time developing these endpoint configurations and endpoint projects, your playback templates, your expression maps, you're developing assets that are extremely valuable, and there's going to be a time when you want to make sure that these are backed up, and there also may be a time when you need to collaborate with others, you want to share them so that you guys can be working on the same pages. So I'm going to go over how you could manually handle importing and exporting these valuable assets. I'm also going to show you how you can use something called the library manager, which is not fully automated, but really provides a nice overview for managing exactly what you're exporting and sharing. Should you be collaborating with somebody or trying to set up some backups so that this valuable data is protected. So let's hop into Project and take a look at what this might look like, okay? So the manual approach is to simply open up the expression map window, like so. And go down here and you can export this library. So I've got that spreadsheet or sorry, expression map for strings. Selected, I'm going to click Export Library, and at this point, I can export it however I want. And this is going to represent that expression map. So if I give it to a collaborator that I'm working with or an orchestrator, then they can load this into their Darko project and have exactly the same expression map set up. Now, this is just an expression map, right? I've set it up for the Berlin series. If the orchestrator doesn't have the Berlin series, this expression map isn't obviously going to work reliably. So these expression maps don't give them everything that they need, but they do save some of the most valuable information here that we as composers are responsible for building these expression maps. So that's one way you can manually do this is export. And then, of course, if somebody provides you with a file like that, you can come in here and you can import the library and find it on your computer and go ahead and import. That's sort of the manual approach for importing and exporting. You may want to do this not only for collaboration, but also just for backing up your files. But there's another very flexible tool up in the library menu. At the very bottom, we have library manager. And I'm going to mention this export library in just a moment. Let's open up the library manager and see what we're looking at. We see here is a variety of different sort of groupings on the left. So these options over here are the main settings, engraving options, layout options, notation options, and so on. These collections are different types of data that you may have optimized or updated in your project, including things like font styles, expression maps. Down here, there's percussion kits, note head sets, things like that that are unique chord symbols. Let's see, we've got Cord diagrams and the way the chord symbols appear, custom ensembles if you've created custom ensembles in the setup mode all of that information is stored in this project, and you can see what's different and what's the same, but compared to what? So here we are, we could look at factory settings, and I could say, What are all the things that are different? Well, first of all, I can see over here with these sort of red, not equal signs, that indicates that something is different. If I go to playback options and I have differences selected here, it's going to tell me, okay, there's something different about the way the click is. I can expand this and see, Oh, the factory settings have a different count in than my project, the way that dynamics are being handled. These are different. The minimum dynamic level, the dynamic curve power, these are different values. If I wanted to go ahead and sync this, I can just click that button. And then hit Apply, and now that's been set in my current project. So you can use this export library option over here if you kind of want to export everything from your project to another person. But it's really just as easy to send them a Darko project, which is kind of what I prefer. So, oops, so I've lost my window there. Let's open that up again. So I often go for this option here, Darko Project. I'm going to load this up. Let's just take my example here, greatest score ever, or you can drop a Dark O project in here. And this likewise is telling me what's different and allowing me to go ahead and sink whatever I want to in this project. I hit Apply, and it's going to carry that over. So what are some of the things that I might want to use this library manager to maintain? Well, let's take an example where let's say that I've just acquired a really nice high end modern string library that has a variety of playing and playback techniques that are better and superior compared to my older library. However, six months ago, I wrote a really wonderful piece, and I'd love to hear how it sounds through my new library. But when I import my expression maps, I don't have the playing and playback techniques on the old project for my new library. Maybe I can load the new playback template on it, but it doesn't have the playback and playing techniques that are needed for that new, more advanced library to trigger everything. So I can come in here. I can use the library manager, and I can go in here and I can look for down here, playing and playback techniques like this. I can just say, you know, just sync all the playback techniques and sync all the playing techniques, hit apply, and then there we are. I'm done. Now I can know that my current project, even though it is actually the project I wrote six months ago with some other library, I know that it now contains all of the modern playback and playing techniques for my more modern projects. That way, over time, as my libraries change as my collection of percussion kits, expression maps, changes and grows, I can always go back to an old project, open it up, and then I can basically sink its sort of knowledge base or to use Darcos Lengo, the library with my newer projects where I've got more expanded expression maps or percussion kits and so on and so forth. So the library manager gives you this very powerful visual tool for breaking down exactly how your current project is different from another project. What needs to change, and you can cherry pick what you want, import it into your project. That's sort of use case scenario. Another use case scenario is where you're creating your project templates. So this is different from your playback template, which is a set of endpoints containing instruments and expression mask. Project template is literally one of those things you see in the hub that opens up when you start up Darko, and you say that you want to start with this project template. Let's say that you want to update your project template with this new fantastic library that you've recently acquired. It's very easy. You open up a blank project from your template as it is. You then open up the library manager and drag in your newest project, see what's changed, sync it all up. Hit Apply, close the library manager, and now resave your template. And you can know now that your template in Darko, your project template contains all of that new work you've done adding new percussion kits and new playing techniques and playback techniques, maybe adjustments to layout options, that sort of thing. But you're still having the benefit of that old project template as well, knowing that maybe it has the right ensembles in it or whatever it is that speeds up your workflow to the maximum degree. That's so key to be able to move past the technical aspects of Darko and stay in that creative flow. The library manager helps us figure out what the differences between our older and newer projects are and then sync up what we need to get that fixed right away in a very intuitive way, much easier than going through the settings from project to project and pulling our hair out of our heads, trying to get everything synced up manually. So, again, if you have questions, posting the Q&A, and without further ado, I'm going to move forward into the next lesson. 7. Manage Versions Across Different Libraries: In the last lesson, we talked about reasons you might want to use the library manager to sync up projects because you've acquired a new library. So building on that example where you've acquired a new library is something we're all going to do eventually, you may also want a workflow that's reliable and consistent for taking your expression maps, your old expression maps, and sort of managing how you move them forward into the next generation of your library or maybe to an entirely different library. There's a few different things you can do here. What I would do typically is I'd start by cloning my old expression map, and then I would go ahead in and change add any playback and playing techniques that we might need, and then make sure that that all gets integrated into my endpoint projects, resave the endpoints, swap them out in the playback template, maybe creating a new playback template, but also using version numbers and expression map descriptions. I want to walk you through a demo of what that all looks like. So we're back in this project. Let's assume that I've acquired a new string library. I no longer want to use the Berlin series. I'm going to use, let's say, CSS strings, for example. So what I'm going to do here is I'm going to go into my Expression Maps. Find the expression map that is, you know, my most up to date one. And I'm going to click on this Clone button down here. And then I'm going to maybe just rename this up here, call this CSS. And I'm going to go ahead and kick the version up to two, and I'm going to write in a description that says, you know, clone the original Berlin X Map and updated for CSS, you know, 2025, something like that. Okay, and I lock that up. And then whenever I load up this expression map, I'll be able to see, Okay, they have very similar names, but this one's description is empty. This one reminds me exactly where it came from and what I did. I could even add in description about specific playback techniques and playing techniques that I added, right? But by adding a description, and then over time, you may want to increment these versions, that's a great way to make sure that the future you has insights into what's unique about that expression map, where it came from, and so on and so forth. Now, in order to swap it out in my template, in my playback template, I'm going to come over here to the Expression Map. I could do this on a per instrument basis with this drop down, or I could just open up my endpoint setup and then come in here and change this all to my new CSS library, right? So now I'm going to come in here, like so. I'm just changing all of these, and this is a great example of how useful it is, how streamlined my workflow is because I have a project dedicated to managing the endpoint for a family of instruments. It's just so easy here. Now I'm going to save this endpoint configuration, but I'm going to call this CSS, okay? So now I hit Okay there. I can go up to my playback templates right here in the play menu. And I'm going to take my original playback template demo that I had created, which contained my sort of first basic strings. I'm going to go ahead and clone that, as well. So I'm going to clone this and I'm going to call it CSS. Like so, right? And I'm going to remove the original, and I'm going to add my Ve Perot strings main CSS, like so. I still want them to be in the right order so that the CSS strings expression map will take precedence. But if there's anything that's not included in that library, it'll be caught by this sort of catch all factory endpoint. Okay? Now I go ahead and hit Okay. And now what we'll see is that when I load different playback templates, if I load new playback template, this is going to go to the maestro strings. And then if I load new playback template CSS, it's going to go to the Maestro strings CSS. Let's just check that out. I hit Apply, and we're going to see that it gets set to the old strings. If I go back again to playback templates, and I select new playback template CSS and hit Apply. We can see that it switches the expression map for us. So in that way, we can actually sort of create versions that are new for our new libraries or even just different libraries. Sometimes we have multiple libraries, and some things work really well in a trailer cue. Other things work really well in sort of more for chamber music or for orchestral or for film scoring. So we may have different libraries and, indeed, not just string sections, but entire playback templates, where the percussion libraries are different. Maybe you're using damage for sort of a hybrid percussion library or you're using tycos versus another situation where you're using orchestral percussion, traditional orchestral percussion, things like suspended symbols, and so on. So you can actually have playback templates and endpoints that you're managing. And through the individual descriptions, you can also see how those expression maps have been changed, where they came from. And you can understand the hierarchy over time. It doesn't become a house of cards. Instead, it becomes an asset that you can navigate reliably and easily. So I hope that helps give you a framework for doing that sort of relatively complicated work in the simplest and most reliable possible way. And let's move forward into the next lesson. 8. Design Reusable Templates for Your Ensembles: As you work to create your own playback templates and your own collection of expression maps, it's natural to work with a much broader variety of instruments, and it's typical when you're trying to work with a large orchestra that you may need to incorporate some less than totally traditional instrumentation. Now, an example of this came up for me earlier this year when I was working with a collection of Middle Eastern instruments, and I had taken some time to set up expression maps and set up the settings and load them as instruments so that I could load them into projects for the month or two that I was working on those tracks. Now I'd like to actually create a Middle Eastern percussion section, but an ensemble that's unique to Middle Eastern music. I thought it would be helpful to show how you can do that and then how you can make sure all of this syncs up with your playback template because I'm sure it's something that a lot of you out there are going to need to do. So what I've done here is I have a project. I've gone ahead and imported a flow from one of my old projects, one of the projects that was focused on Middle Eastern music from earlier in the year. And that process of importing a flow imports the instruments as well. So I've been able to kind of collect them in my current instrument collection. And if you go up to library in instruments, you'd see over here, I could look up an instrument for example, like the Dombek and the Dobak is a Middle Eastern instrument. These instruments happen to come from a particular native instruments library that's focused on Middle Eastern instruments. And I'm going to put three percussion instruments from the Middle Eastern collection together into a percussion ensemble, the Dumbek, the Darbuka and I think it's called a ik or RC and that's a frame drum, like, somewhat similar to a tambourine. So what I'm going to do is back in my setup mode here. I'm going to click down here on an ensemble. And you can see instructions written here for creating your own custom ensemble. And as long as this is on Build, I'm going to go ahead and type in Darbuka and there it is. And I hit tab, and that allows me to search for more instruments and just kind of preserves that one. I'm going to do the Doom Beck and then hit tab. And then the final one is right there, I'm going to hit tab and then I'm going to click Save. And I'm going to save this under the category of percussion. I'm going to call it Middle East Eastern percussion. I hit Save. All right. That way, now when I come up here, I can always just type in Middle Eastern percussion, and you can see, right there, it's those three instruments, I can go ahead and add them, and they get added over here. So now that I've got them added, what I want to do is make sure that I have the right expression maps and the right endpoint setup and all the rest. So instead of doing that directly from this project, I'm going to follow my own guidance that I've been recommending all along, and that is to start with an endpoint project, right? So what I'm going to do is I'm going to create a new project I'm going to say, activate the new project. And while we wait for that to load up, I'll go to add ensemble and I'm going to type in Middle Eastern percussion. Hit Enter, I get my percussion instruments right there. I want to go into play right here, and then I'm going to connect that up to VE Pro. I'm going to load up VSL, Vienna Ensemble Pro, but this would work just as well if you wanted to work with contact. This is how you would do it. You'd set it up in there. And then I would look for my Middle Eastern percussion collection in here. Let's say that it's just under percussion, and I hit Connect. Okay. I could rename this endpoint if I wanted to to Middle Eastern percussion. And I might want to have three mini ports, since we have one port per instrument, and then we just need one channel per. I'm going to go ahead and hit that. Hit Okay. And then I would go through on the track inspector, and I would sign that to Middle Eastern percussion. I see that I actually misspelled it there, so I'll go ahead and fix that because this would last in perpetuity. Go ahead, Middle Eastern percussion, Middle Eastern percussion. Open up my endpoint manager. And actually, what I see here is that I need to change the ports so that each instrument has its own port. I'd forgotten to do that. Oops, port three for the last one. Now I can see my three instruments here all assigned to a unique port. I could go in here and access the expression map for each instrument. Go ahead and assign that. I'm just using the default here for demonstration purposes. And now I would save this endpoint as Middle Eastern percussion. Go ahead and hit Okay. Go to my playback templates. Decide what playback template I wanted to apply this to. Let's go with just one of the examples that I've been using in the module, New playback template. Come over here and add manual. I'm going to select Middle Eastern percussion, bump that up above my auto sort of catchall. You can always come in here and click on Endpoint configuration if you want to see what exactly is supported. So in here, I see the three percussion instruments. I can see that they are single players. And you can also look at other instruments, and you can or sorry other endpoints, and you can see what instruments are in there, whether they are session or sorry, section or solo players. All that information is available. Then I'm going to go ahead and hit Okay. And now when I apply this new playback template, it's going to apply the correct settings to each of these three instruments. So my three Middle Eastern percussion instruments are now a reusable ensemble. I also have an endpoint project where I've set up all of their expression maps and loaded the correct instrument. I've saved it as an endpoint, and then I've incorporated that endpoint into my playback template. Now anytime I use it, I can be sure that the right instruments being loaded with the right expression map, and I can essentially add that ensemble sort of to my collection of quick start setups. Now, one thing you might one reason why you might want to do this other than just sort of generally maintaining your own list of instruments, is that it can be a really effective way to save RAM. So having every instrument that you've ever used loaded into one session is going to bog down all but the most robust machines. All of these modern sample libraries are very demanding on your memory and RAM. And so if you can load up just the ensembles that you need, that can really help. And you also may find that certain ensemble combinations just work well together for specific pieces. You may have your hybrid sort of industrial percussion for trailers or industrial tracks. And then you may have your tension based synthesizers and pads for your tension cues. You may have your pizzicato strings and so on for your dramedy cues, and you can create ensembles that are designed around the kind of music you're writing and then also playback templates and endpoints that are organized around those so that you're optimizing RAM and you're still getting a very consistent result project to project to project. If at any point you realize that something's missing from your expression map or you want to implement a new playback technique, then you can go ahead back to your a project for the endpoint management for that ensemble. Make the change, resave the endpoint, re add it to your playback template. And then from then on, you know that you have this consistent, reliable playback coming from that instrument every time you load it and organizing it in ensembles, just like we've talked about organizing things as instrument families is just a great way to compartmentalize this enormous effort of really getting your full sample library collection accessible in Darko in a really reliable way. So I hope that helps you sort out how to work with ensembles, maybe save some RAM and work with a broader variety of instruments. And let's dive into the next lesson. 9. Stay in Control with the Library Manager: Now it's natural as we're working to build these complex orchestral templates and playback templates that we're going to want to incorporate a broad range of instruments, so not just the traditional orchestra. And I thought it'd be helpful to go through an example here where I actually rectify a current project with some of the hard work I'd done creating playback templates, endpoints, and expression maps in another project in my past. So about six months ago, I was working on a series of cues that were based on Middle Eastern instruments. And so as I said in the last lesson, I've created this ensemble around the Middle Eastern percussion however, the expression maps and the playback templates and the endpoints, they all make use of playback and playing techniques that don't exist in this project. So although I've successfully imported the instruments, although I've successfully set up the expression maps and added it to my playback template and all that, unfortunately, the fact that playback techniques don't exist in my project means that I can't really have the expression maps operate correctly. So I want to rectify that moving forward. And the easiest way to do that is in the library manager. So I'm going to jump in here and show you what I've got. So I've got my three percussion instruments here from Middle Eastern percussion. I need the playback and playing techniques from a previous project. So I'm going to open up the library manager from the library menu. I have this old project open here, I'm going to scroll down on the left hand side here to playback and playing techniques. And we can see from these icons that these are a little inconsistent. I'm just going to go ahead, hit those arrows like so. I'm going to hit Apply. Now if the apply doesn't exactly work, what I recommend doing is actually clicking on playback techniques like this, playing techniques, and we're going to go ahead and just hit that button there. And as you can see, some of these are duplicates. So this trill half tone, they're not the same, but they're also they can't just replace each other. So I've got to take some of these off before I can hit Apply and close the project. But now at this point, I'm going to find that I have all of my playback and playing techniques from that old project now imported in here. And this is true for expression maps, percussion maps. You can use the library manager to bring in fonts, percussion kits. As well as this ensemble, if I were to lose track of my Middle Eastern percussion ensemble, I could open this project with the library manager future down the road and import that Middle Eastern percussion ensemble, which is very helpful as well. This is also true, as I've demonstrated for playing and playback techniques, which are one of those features that we certainly spend a lot of time as composers, kind of getting them into our system. We want to make sure that we can easily sync them up with future projects. So I hope that helps give you a good workflow for synching up these settings within your projects. If you have questions, please do post in the Q&A. I always follow up with everybody there, and then let's head off into the next lesson. 10. Keep Your Playback Setup Running Smoothly: During the course of this module, you can see how much time and energy it can actually take to build up a proper playback template and expression maps, endpoints, the endpoint projects, and all the rest, making sure everything is synced up for your future templates and playback templates. But I want to remind you that there are really four things I would recommend considering investing the bulk of your time in. And the most important is that original worksheet where you write out exactly what your switch sort of structure is to make sure that you have consistent switches across all your projects and across multiple libraries as well, I talked about the value of adding add ons that use the same CC values across different instrument families across different libraries. Another thing I would recommend is really focusing on one set of libraries. So although I own multiple string libraries and multiple brass libraries, I generally lean on one much more than the other. And so investing in the time spent with a smaller number of libraries that you really get to know and you know how the expression map and the endpoints are going to work with that instrument, you're kind of familiar with what it's capable of. Even though it may not have all the features of all the rest of your libraries, it actually can alleviate the stress of having to memorize much more stuff, and it can actually get you into the creative flow faster. Sometimes actually constraints and restrictions on what you can do can actually help keep you creative because you're not overwhelmed by options. As long as it's a professional library and you've got a nicely structured a set of switches. Then you're going to find that this is relatively straightforward. It does take time to set up, as I'm sure you can appreciate by now, but at least the effort is manageable and maintainable over time, and that's really the focus of this lesson is to talk about maintainability. So I also remind you on that topic about endpoint projects. So making sure that you actually create a project for your strings or for your wins or for your Middle Eastern percussion or whatever the family may maybe even a library. You have a choir library maybe that you like to use for choir, set up an endpoint project for that choir and then set it up with the expression maps, export the endpoints, bring that into a playback template, and so on and so forth. Working through that flow becomes second nature and is by far the most maintainable, sort of user friendly system. Even as you create very, very advanced, complex and comprehensive orchestral playback templates and project templates. Having this all incorporated into a playback template is a nice way to be able to work on your composition independently of the instruments. So you can write an idea out, and you can just switch between multiple playback templates, decide which one you like better. Um, you know, you may find that you like the spitfire collection better, or you like the Berlin collection better or you like your VSL better. There'll be times when your chamber setup is going to really capture the mood of that melody and that harmony in a way that maybe your hybrid string collection just doesn't sounds great in a trailer, but doesn't sound so great for chamber. Being able to use playback templates in that way, also makes this process maintainable because you can kind of Always understand the context that you're in. You're never wondering if this has too many playback techniques or too few playback techniques. You're never wondering whether or not your expression map is synced up with whatever playback techniques were in the current project and so on and so forth. Speaking to the last lesson, you can always use the library manager if you want to make sure all that stuff is synced up with whatever playback template you're using. So I hope that gives you a good foundation for maintaining this complex and advanced orchestral template that you've put together in the course of this module. In the next lesson, I'm just going to basically give you some guidance on the project and assignment for this module. I highly recommend that you go through with that so that you can internalize and take ownership of everything that we've talked about and everything you've learned in these lessons. And, of course, if you have questions, as I've said, often post in the Q&A or message me directly, and I will be in touch with you. And then let's hop into the last lesson and talk about the project. 11. Final Comments and Your Class Project: Covered a ton of ground in this module, but hopefully by now, you understand how endpoints and expression maps and playback templates all come into play as far as building out your ideal orchestral template, something that's reusable and maintainable, even though it's also really expensive and large. So as you work on the project here, these are the four things that I'm going to suggest you focus on. First of all, your switching structure. So download the blank form, fill it in. Think about what's going to be a base switch. Think about what's going to be an add on. Think about a you're going to use note length conditions. How you're going to use MIDI ports? Are you going to be in VE Pro? Are you doing this in sign play or contact directly? Think about those things before you even start writing expression maps or trying to link them up in endpoints because having that worked out on paper, you can save yourself a lot of time and sweat and tears just by doing that first. Once you have that done, start sort of step by step working through your instrument families. Think about not just your strings and winds and brass, obvious ones like percussion, but also are there ethnic or international collections that you want to use? Are there specific libraries that you want to focus on maybe for hybrid sounds or tension or, you know, effects and sinth and things like that? Maybe you have a library just for your favorite synthesizer or something like that. Want to think about that as you're setting up your family endpoints, and then you're setting up a family project where you're actually connecting the instruments individually up, you're making sure that they exist in your instrument library that each instrument has a family, maybe even creating those ensembles that you can reuse in future projects. Then you're going to think about versioning and libraries. So maybe you're going to have ultimately a playback template that is for your Spitfire libraries, and then one that's for your orchestral tools libraries or maybe one that's for the contact factory library. You want to think about the different sort of versions that you might want, and then you can create those iterations within your projects for endpoints, and you can kind of duplicate those out as we've talked about how you can use clone to clone expression maps and so on, so forth. And then the final thing to keep in mind is, as you're trying to maintain this stuff over time or as you're trying to get your actual project template, not your playback template, but project template set up ideally for the minimum hassle when you start a new project, lean heavily into the library manager to do that. So if you create the switching structure and you create your family endpoints and endpoint projects, you create your playback template, and then basically created a project template that you've polished up, making sure with the library manager, everything's in there that you need, that would be what's required to really fulfill the project for this module. If you have questions as you're moving through it, if you run into problems with your specific setup and you want advice, of course, always reach out through the Q&A or message me directly. And that's it for this module. Good job hanging in there. I hope you learned a ton. Thanks.