Complex keyboard notation

Keyboard music often requires more than two staves - AFAIK the greatest number used by in a composer’s autograph (and for good reasons of clarity) has been 11 in a large scale work for organ, though a published edition has condensed that to number to about 5 or 6.

In these situations one does not necessarily want the same number of staves on every system, and there may be no “underlying logic” to which notes are on which staves, beyond the requirement to make the score as readable as possible.

Even for a simple 2-staff piano part, there must be some method to assign the notes to the individual staves - not to mention cross-staff beaming and slurs, cross-stemmed chords (a single chord with notes on more than one staff), etc.

How do these sort of issues for keyboard notation map onto the “players holding instruments” model in Dorico? The examples discussed so far seem to be mainly about doubling by orchestral or band players.

Dorico can certainly handle more than two staves for complex keyboard music. At the moment we’re missing a bit of user interface to allow you to specify the point at which you want additional staves to appear or disappear, but if you import e.g. a MusicXML file that specifies music on three (or more) staves, Dorico can handle it.

Dorico also has pretty good support for notes moving between staves. Voices can move freely between staves, and individual notes in chords belonging to the same voice can be crossed to any other staff (even a staff that doesn’t belong to the same instrument). You won’t see any of the weirdness that you see in Sibelius with cross-stave notes (e.g. showing inappropriate accidentals etc.) because the notes that are crossed to another stave are fully handled by all of the various little engines that process the music as if they really are on that stave. This means that Dorico even handles terribly complicated cases where you have multiple voices active on multiple staves and notes with stems joining other staves interlocking without splatting them all on top of each other – the same sophisticated rules that are used to automatically determine how to lay out notes in different voices are applied even when stems spanning staves are in play.

Slurs can be attached to notes in different voices at either end, and can also start on one stave and end on another. Dorico is unable to perform comprehensive collision avoidance for slurs that cross staves in the same way that it does for slurs that start and end on the same stave (both as a consequence of it not being clear, in general, where along the length of a slur crossing staves one would want to consider collisions with items on one stave and where one would want to consider collisions with the other, and because of the circular nature of needing to determine the distance between staves both taking the slur into account and not taking the slur into account when trying to move it to resolve collisions). So a cross-staff slur will have its end points positioned as sensibly as possible, but the user should expect to have to adjust the shape of the slur to make it as pleasing as possible.

I feel as though I’ve died and gone to heaven. Thank you, Dorico team!

Well, slurs can already do that in Lilypond - but Dorico sounds just a little bit more user-friendly :wink:

No problem with that - the question was really trying to get a bit more of the “big picture” of how everything will (eventually) fit together in a “non-staff-centric” world. It certainly wasn’t intended to imply that you hadn’t thought about it as part of your software design!