Request: Keyboard/Synthesizer orchestration tools (especially for musical theater)

Let me start by saying that as the music teams for Broadway musicals move away from Finale, a feature like this is going to be a huge selling point as music teams consider what to switch to.

When orchestrating for modern Broadway-style orchestras, there is a need for a way to assign sampled sounds to arbitrary places in a score. This can be done manually just using text, but that doesn’t help with playback. The way I handle this currently is to have 2 players. One player reflects what’s going to be on the page for the player, for which I disable playback. The other player does not appear in the score, but it contains every instrument the keyboard will be playing. The notes I want to hear are entered into the separate staves assigned to this player. Then I filter those staves out in Galley View and I can both see and hear what I’m doing. This approach becomes increasingly untenable as the number of instruments grows.

My suggestion would be to create a new system for keyboard parts somewhat like the percussion kit creator. The workflow could be something like…

  1. Make a list of patches that the keyboard is going to play in the kit designer.
  2. Write out the part
  3. Select the notes you want to assign to a particular sound
  4. Use a popup (let’s say ALT+SHIFT+P since it’s related to playing techniques) to then assign one of the keyboard sounds to those notes.
  5. Text for the patch would appear in a box at the moment in question. If you wanted to layer multiple sounds on a single pitch, you could add more than one and the text box could update to show this automatically.
  6. You could optionally show the range of notes that the patch applies to as part of the sound.

Simplifying this process of building synth books would be a game changer for theater orchestrators. I’d recommend studying some real scores with complex keyboard parts, as well as working with theater orchestrators and the big Broadway copyists like Emily Grishman or Russ Anixer.

I would love to see how the Dorico team tackles this problem!

3 Likes

Thanks for the feature request, Jesse. You can already to some degree achieve a result like this using independent voice playback, assigning each voice to a different patch, and then writing the relevant passages in the target voice corresponding to the sound you want to hear. But this is a bit of a faff, of course, and it wouldn’t produce the expected patch change labels in the score.

Another option would be to assign multiple instruments to the same player, and rely on instrument changes to produce the changes in sound. This would have the advantage of showing the expected patch change labels, because the instrument change labels would achieve that (you could rename each new keyboard instrument as Strings or Brass or Lead or whatever). But the disadvantage is that both staves of the instrument would have to change to the new sound at the same time.

Thanks for the reply! Those are both good solutions for certain situations for sure. The other solution that I’m seeing other people using after talking about this in a thread on the Facebook group: Creating synth setups in MainStage (since they’ll probably be programmed there anyway) and sending MIDI out from Dorico. Then it’s just text labels and you’re getting the sound you want in MainStage. Then they use MIDI triggers to send patch changes from Dorico. It’s another good workaround. I’m looking into specifics.

I have a question and maybe suggestion.

Whatever show control software they’re using ( lights, scenery, special effects, media, etc.) it will include a facility for handling audio cues. I feel like there is every reason for a crew to want to use their system, their way. So…

If I understood you, some of what you describe sound like the sort of audio cues that you’d want to keep separate from the keyboards, and have a way to give them to the technical crew where they will end up with the rest of the show’s programming? The best method will be up to their choice of software, but they aren’t likely to prefer reading notes on a staff or messing with synths or midi I think. Giving them a clip they can drop in would beat patches all day long.

As far as playback in Dorico, there are vst sample players that let you load up a number of clips. That’s your list I’m suggesting. I think I would use one single line percussion part in the score for all of them; triggering them at the appropriate time with explanatory text above.

I think I’d try to use separate short flows to create/record the clips as may be required, and just use the player in the main score. I don’t see that as a hack, but a way to deliver more value. I could definitely be crazy though.

Hey Gregory – I’m not talking about using Dorico to trigger anything in a live theatrical context. And as you suggest, there’s a lot of automation that goes into live theater now. That’s usually based on common timecode that’s synced between departments and musical audio clips are usually handled by Ableton and triggered by a conductor along with a click to make sure the pit stays in time. That’s not what I’m talking about here.

I’m talking about the trend for smaller and smaller pit orchestras and therefore more and more complicated synth books that are actually playing virtual musical instruments. So for a given, say, 4-bar phrase in a show like The Book of Mormon, a keyboard book might have a layered timpani and tuba with a glock doubling 3 octaves above in the low register of the left hand, a horn line in the middle register, a clarinet in the right hand and a high string pad being held by one finger at the top. Then you advance the patch and get a whole different set of sounds.

It might be silly to try and do this with playback in a notation program and I acknowledge that. But I would love for the team to think it through and decide that it’s silly, if that makes sense. It’s a niche need but it’s a large niche. There are a lot of musicians who spend a lot of money on notation software to facilitate this stuff and this feature could be a great thing if it’s done right, IMO.

Currently, an orchestrator just says what he wants the instruments to be in the score and a keyboard programmer creates synth patches (usually in Mainstage) that contain those sounds. But when building the score, the orchestrator has to mute the keyboards if they want to use playback since the sounds they’re writing for won’t be heard. This would be a solution for that.

Or maybe I’m screaming into the void and nobody wants this. But I suspect they do. And I’d love for the Dorico team to do some research and find out.

1 Like

This is possibly the only reason keeping me from moving from Sibelius. It just handles keyboard patch changes so much more easily. I can click change instrument at any bar and it just does it. No worrying about staves having to move together, or remember which of the infinite voices you have assigned to a certain sound and adjust it manually in playback. I literally just click change instrument, it populates boxed text in the score, and makes the right sound. I’ve been trying Dorico for a few weeks and love every other aspect…I just can’t get past this. It’s a necessity for my workflow. Definitely a niche but so are a lot of Doritos features so I hope this doesn’t put the developers off!

2 Likes

When it comes to fudging all sorts of interesting ‘instrument combinations’ into a ‘single interface’, I find bidule [running as a VST3 plugin in Dorico] to be invaluable. With this utility, I’m able to ‘mix and merge’ anything I want and make it a Dorico End Point. This includes external kit, stuff over OSC networks, and more. Bidule grants the ability to transform MIDI and Audio in real time, and route it pretty much anywhere you like.

I.E. Bidule could be taught to interpret something like PC or Key Switch in a way that re-routes output to any, or as many plugins or external instruments as you like. You could have it send banks of program changes, small bits of custom sysex, and more.

Example:
Over time you build ‘custom playing techniques’ in Dorico. It doesn’t take much more time/effort than making a text block. Have it send bidule a command, that in turn routes the sound to any plugin or MIDI device/instrument you like, while also including any ‘further commands or instructions’ your instruments might require.

Bidule can also turn CC events into linkable VSTParameters and vice verse, so you’d have plenty of ways to get at any parameters exposed by a given VST/AU/ATX/CLAP plugin.

You can probably do this now by making an expression map with custom playback techniques, one for each patch you might want to use. The expression map should be able to trigger program and bank changes to select the correct sound.

Yes, expression maps allow one to send CCs, Program Changes, Bank Changes, and Key Switches.

It can’t do sysex…
It can’t ‘port bounce’ across different VSTi plugins, or over different physical MIDI ports.

I.E. Maybe you mix and match sounds from a Kurzweil K series, a Yamaha Montage, a Roland Fantom, AND use some in the box software plugins (HALion, Kontakt, whatever).

Something like bidule could solve those issues, allowing you to capture what ever Dorico sends, manipulate it, and then route/echo it anywhere you like. Either to plugin instruments hosted in bidule, or out to physical hardware over MIDI or OSC networking.

Example:
Dorico could send a simple Program Change…

Bidule could intercept this, and dial up a preset that automatically sends:
Banks and Program Changes required to multiple instruments/channels, thus calling up their global/patch settings. It could also transform basic CC events into shorter sysex messages with a variable if required (Sometimes there’s that one weird thing you want to tweak that isn’t connected to a CC or an RPN).

Bidule could also dial up presets for any virtual instruments/effects hosted in that bidule instance (or even other Bidule instances running anywhere on your LAN/WAN over the OSC network).

Bidule could also take care of routing the ultimate performance stream where you want it to go.

It also becomes possible to do things like:
Layer sounds from different plugins/external instruments with fancy cross-fades and stuff between the layers.

Maybe you want arco strings to come from a virtual instance of Kontakt, but you want some staccato stuff to come off a MOTIF that’s plugged in via MIDI, and the patch you want for a sautille passage resides over in the Kurzweil.

Bidule would allow you create networks that’d make this real time ‘instrument/port/plugin’ hopping possible. Mix, match, and layer sounds from any plugin or external kit you like…on the fly.

Think of it like another ‘expression map’ in and of itself, but in this case you get a bunch of power user options to read/write/transform and ‘re-route’ the data stream to your heart’s desire.

Note, the catch with using external gear is that you can’t do instant rendering of your Score into an audio file. You’d need to ‘record’ the score playing in real time using your own devices/software. You can still instant render from ‘plugins’ hosted in a bidule instance, but for the external kit, you’d have to mix, record, and track the old fashioned ping-pong way.

Hi @harrywells12,
I am not sure if this applies to your request, or at the OT request, but here one method that I posted some time ago, in case it could be helpful or could give some alternative workflow ideas:

3 Likes

This is a great idea. I’d still love for the Dorico team to introduce an actual feature to save having to use such work around, but this one seems by far the easiest and most straight forward!

1 Like

Personally I think the multi-instrument approach is simplest to handle this. Just add notes to appropriate instrument (in galley view) and Dorico will handle all the instrument changes for you… Here’s a trivial example for three synths (each could have their own expression map and playing techniques)…

This won’t get you to the sort of example listed above, though:

(Neither will Sibelius, though it can at least perform an instrument change on a single stave of a grand staff instrument; one of the few advantages to the way Sibelius handles grand staff instruments internally.)