Use Dorico’s tuplets-over-barline feature for proper mensural notation

Tips

In our initial Dorico review I was somewhat dismissive towards an undoubtedly profound feature when I wrote:

For better or worse, tuplets can cross bar lines easily.

The reason for my subdued enthusiasm is that, as an editor, I rarely find barline-spanning tuplets to be notational best practice, given that usually the same material can be re-notated in much more conventional ways, thereby improving the readability of the underlying meaning without impairing it. So the thought of seeing more tuplets over barlines in the near future just because they are cool and can now easily be done is not something that fills me with joy.

But recently it occurred to me that there is another application of this feature — probably not exactly as intended, but also not a genuine hack, technically — which makes it possible, with an easy tweak, to properly render certain Renaissance notations that have been frustratingly hard to achieve with other software.

Notation of that time — so-called mensural notation — does not know barlines (or bars, for that matter). But today‘s musicians do not want to dispense with them, being that barlines are, like, really convenient in rehearsal, you know. This is why modern engravings of ancient vocal music are today usually prepared with (retroactively added) barlines positioned not on, but between the staves.

That in itself is no challenge for any sophisticated score writing software; what is, though, is that convention also calls for preserving an idiosyncrasy that might not be obvious at first glance — mensural notation does not contain ties anywhere. And a modern transcription shouldn’t, either, even if notes are held from one “bar” into the next.

Here is what it looks like, using as an example the duo from the Agnus Dei section of Josquin des Prez’s Missa de Beata Virgine (arrows denote where modern bar notation would require breaking up a longer single value into tied-together notes):

Anyone feeling tempted to point out that “with LilyPond that has been possible for years!” should know that they will be punished by having to copy this easy example on a chalkboard one hundred times.

Dorico, like its competition, does not have a dedicated feature to support this special use case and will break up into a tie chain any note spilling over a bar boundary:

But…

…Dorico can span any tuplet over a barline. In combination with the slightly unusual tuplet ratio of 1:1 as well as the quite usual appearance options available, we can employ the following neat trick.

The manual way: step-by-step

(Note: at the end of this post a Lua script that automates the necessary steps is provided for download.)

Let’s assume that the music has been put in already and now appears with ties, as shown above.

In Write mode, when we select one of the tie chains, Dorico is aware of its complete duration (not just a single tie chain segment’s, as in other programs). This is convenient for the next step, because selecting will thus also set Dorico’s Note Input controls (the left panel in Write Mode) to that overall duration; in the following example, it would be a dotted half note.

If, from that selection, we activate Note Input (by pressing Enter or Shift+N),…

…cut the selected note (Shift+X) and then bring up the Tuplets popover (;), Dorico is automatically provided with the position (from the active caret) and the base value (from the still valid duration of the previous selection) for our tuplet, whose ratio we specify as 1:1.

In our example this means: instead of a duration of three quarter notes, make room for a duration of… three quarter notes. Yes, it sounds pretty pointless, until we consider that we just created a tuplet that does not fit into our bar, an oddly satisfying experience in itself. Dorico, delightfully, shares my aforementioned skepticism about tuplets spanned over barlines and will, by default, split it up into two tuplets (which are still only one object, underneath; you cannot select only one of them).

At this point, the newly created tuplet is contained within a brand-new selection, so we can go directly to the bottom panel to set three important properties: Spans barline (after activating the property, don’t forget to also check the box), Number (to None) and Bracket (to Hidden; just to be safe, even though the bracket would not show by default, since the tuplet ultimately will only contain a single note).

If the corresponding view option is enabled, you will see a green Signpost instead of the now concealed tuplet.

Lastly, we can now paste in the note we cut previously. But beware, there is a catch. If we use the generic Paste (Shift+V), this will overwrite the tuplet we just created. Instead, we use the recently added Paste into voice feature (Edit > Paste Into Voice > …; there is no default keyboard shortcut assigned, but the custom shortcut Ctrl+Shift+V works very well for me).
Because we initially summoned the entry caret from the note we then cut, the current voice at this point will always be the right one; this would still be the case even if we had started from any other voice, but this scenario is not too likely anyway, as use cases for our trick are probably limited tightly to vocal music.

In addition to being nifty, the whole process is an instructive example for why Dorico’s innovations with some fundamental paradigms are so powerful, such as in this case with the representation of event durations. What we manipulated was not so much a notation, but the underlying musical meaning. On the surface it looks like we cut out a half note tied to a quarter note. But what actually happened was that we cut an object that, internally, stands for a tone with the duration of three quarters; its notation only appeared as a tie chain in the first place because of the circumstance of a bar boundary inconveniently falling in between. When we paste the same object back, the context has changed and there is no tie necessary anymore — so Dorico does not express it.

A minor pitfall

When employing this technique to prepare mensural notation, there is one case to look out for where Dorico’s note spacing algorithms are a bit too clever. The program will only consider those notational elements for horizontal spacing which do make an actual difference for spacing; on the rare occasion where all singers end up “tied over” into a bar, there is no note at all anymore at the start of the bar, and Dorico simply retracts the next relevant spacing column to the “empty” position.

There are a number of  (much more conventional) situations where this behavior brings a considerable improvement of overall engraving quality. But here it gives a result that goes against the convention that we are trying to emulate: if you compare with the original engraving above, you will notice that bars 4 and 12 have an extra large first spacing column, roughly imitating the spacing that would be expected if the notes were tied over. To achieve this in your Dorico score, at current you have to manually add a Note Spacing adjustment in Engrave Mode, as seen below.

Here is the completed example created in Dorico, with Signposts showing, for reference:

The convenient way: Lua script

If you want to learn more about the current state of scripting in Dorico, check out our previous post on the topic, where we give a quick primer on how to install scripts and some background about the Scripting console.

Your awe about the cleverness of this technique might not extend to where you want to repeat all its steps each time; then, this Lua script is for you.

Just running it via Script > Run Script… will not do much, initially. To put the script into action, the Scripting console is used, giving some modestly flexible controls. You can read a detailed documentation of the script’s features (including how to use it during Note Input) by entering help() into the lower field of the console. If you simply want to convert an existing tie chain, as described above, select it in Write mode, make sure that Note Input is turned off (i.e., the caret must not be active), and then enter i().

Editor’s note: This post is written by Alexander Plötz. Philip Rothman edited the post.

Comments

  1. Neil Sands

    Very clever, Alex.

  2. bob zawalich

    As I was reading this I was thinking “Wow, Philip, you really have gotten your Dorico chops up!” Especially when you have written a Dorico script. It made more sense when I saw Alex had written it, because he clearly has Dorico chops. (not that you might not have them, Philip, but they kind of came out of nowhere :))

    Nice work to both of you, though. Alex, I hope that your work on macros convinces the Dorico guys to put at least a little bit of effort into an actual UI for macros, and possible even some abilities to examine and change scores. Automating processes like this can save a tremendous amount of work, and it is pretty amazing with what you have been able to do just having the ability to record and edit Dorico commands.

    Very cool.

  3. Neil Sands

    Alex, I’m greatly impressed with your ingenuity and this is working well for me. But there is a gotcha, which is this: if you put a pause on say the last note, Dorico will put pauses in its usual way on other notes sounding at the same time on other staves. But it won’t put pauses on any 1:1 tuplets you’ve made, even if it would do if you’d left them as ties over barlines.

    Not blaming you for this, of course!

    1. Neil Sands

      It turns out the pauses not appearing is nothing to do with 1:1 tuplets but is to do with system breaks. Remove the system breaks and all is well

  4. Christophe Corp

    Hello,
    I have been using this script for some time now.
    But in the score I’m working on, it seems to stop before activating “span barline” and hiding the number.
    Is this a designed bug? Is this incompatibility with the latest version of Dorico?

    1. Christophe Corp

      Error on my part… If I type o (), it works… ;-)

Leave a Comment

Your email address will not be published. Required fields are marked *