I have an interesting use case. I’m using Dorico to compose original music for a live, solo keyboard performance. My human interface has two keyboards, microphone, Zendrum, breath controller, various expression pedals, joystick, buttons, oh, and an electric guitar that can include a MIDI pickup.
To host the plugins and control them, I’m using Gig Performer. I can set up virtually any sound and mix that I want. It has an additional layer of Set Lists, Songs, and Song Parts. By going to a next song part, I can call up any patch of sounds and controls that I want. It also supports advanced scripting, so I can play a given percussion sound on a specific sequence of notes that I play, or it can trigger pitched sound sequences based on percussion sequences that I play. If you play live, even casually, consider Gig Performer as the host. DAWs and notation programs aren’t optimized for live use, even for mucking around at home.
Traditionally, one instrument corresponds to one set of sounds. You indicate Violin, show the notes, dynamics, and techniques, and that indicates how the music should be performed as well as how it should sound. My setup has two different perspectives: how it sounds, and how it is performed (with keys, pedals, switches, etc., and how it should sound (e.g., with oboe, contrabassoon, snare, and timpani.)
FEATURE REQUEST: I’d like to associate flows with patches. As soon as I select a note or a rest in a different flow, send the MIDI Program Change message (Bank MSB, LSB, and Patch change.) Gig Performer or other external hardware can then configure itself for the new flow. This should occur without needing to start playback in Dorico. Here’s the user story: I click a note in a new flow with new instrumentation. I’ve not yet written any music, and I haven’t played anything from Dorico. I start noodling on the keyboard to find inspiration, and my external plugins have the intended configuration.
Regarding the different perspectives, I will probably start composing, using staves for each sound. This is the traditional method. For my performance; however, I have a hardware perspective. Here, the staves need to align with the keyboards, drum pads, and various controls. I might have various keyboard splits, and I might need to press certain buttons or modulate an expression pedal at a given point in the score. Maybe I just play the contrabassoon part and the oboe harmony notes are automatically played in a given patch.
I expect that I will copy the various parts from my “sounds flow” to a separate “performance flow” and create the reduction with a combination of automated features and manual work.
In the end, I use Dorico in two phases. The first phase is composition, where I focus on the sounds. (I also have to apply some orchestration restrictions, knowing that I have two arms and two legs.) In the second phase, I print music for the performance, with all of the performance cues and the notes that I will physically play. I display these on a tablet, using Mobile Sheets. (Gig Performer can send MIDI messages to it to select the piece and the current page.
Ideally, there would be a way to sync the musical composition to the performance reduced score, but it’s probably not practical. This just helps me to really finalize the musical score first.
The Program Change associated with flows would be much appreciated. I have a workaround, but it’s clumsy, error prone, and time consuming. Simply typing the port, channel, msb, lsb, and patch numbers in the flow setup would be simple. While one PC message meets my needs, enabling multiple messages (over multiple ports and channels) could make this work for people with multiple external synthesizers and sound generators.
Anyway, it’s a fun project, and Dorico plays an important role.