Design philosophy and higher-level concepts

Deep design considerations are required to create a notation software like Dorico, which might be of particular interest to users familiar with scoring applications. Dorico has a forward-thinking design that is led by musical concepts rather than computational convenience, and this provides many benefits.

In most other graphically-orientated scoring applications, the highest-level concept is the staff or the instrument definition that creates a staff or staves. When setting up your full score in such programs, you start by adding the correct number of staves, and you are immediately forced into making decisions about the layout. This means that you must know in advance whether two flutes share a staff or have their own individual staves, or whether there should be two trumpets or three. Many of these decisions have significant effects throughout the process of inputting, editing, and producing individual instrumental parts.

Typically, every system of a score must contain the same number of staves, even if some are hidden on particular systems. This requires the user to manage common conventions for themselves, such as multiple players of the same instrument sharing staves. This can be time-consuming and is naturally error-prone.

By contrast, Dorico is designed to conform more closely to how music is performed in the real world and to make the score a flexible expression of the practical choices that go into a musical performance, rather than to make the musical performance subservient to the way the score was initially prepared.

To that end, the highest-level concept of Dorico is the group of human musicians that performs a score. A score can be written for one or more groups; for example, a double choir, or an orchestra plus off-stage chamber ensemble, and so on. Each group includes one or more players which correspond to the humans who play one or more instruments. Players may either be individuals who play more than one instrument, such as an oboist doubling cor anglais, or groups in which everyone plays only one instrument, such as eight desks of violinists.

One crucial difference between Dorico and other scoring applications is that the musical content exists independently of the score layout in which it is viewed.

The actual music played by the group in your score belongs to one or more flows. A flow is any span of music that stands alone; for example, a whole song, a movement of a sonata or symphony, a number in a musical show, or even a short scale or exercise. Players might or might not have any music to play in a given flow. For example, all the brass players might be omitted from the slow movement of a classical symphony, or certain players might have nothing to play in some cues in a movie score. This is no problem as you can combine players in flows in any combination.

Dorico’s design philosophy provides several benefits. Chief among them is its ability to produce multiple layouts that share the same musical content, but each having customized appearances to suit different requirements. For example, in the same project you can create a conductor’s score with as many instruments as possible condensed onto a smaller number of staves, a full score with each player’s music on separate staves, a custom score layout containing just the piano and vocal staves for choral rehearsals, and an instrumental part for each player that only contains the music belonging to them.

This means it is not necessary to extract flows or parts as separate files: all this information can co-exist in the same Dorico project file.