Development diary, part 16

Daniel Spreadbury

We are preparing to release the next Dorico update, version 1.0.30, which focuses on improving playback, fixing bugs, provides new tools for working with rests, and adds a few other small features. At the same time, we are also working on the next update, which is still a little way off, but which will include some features that are larger in scope. I thought it would be fun to write a new instalment in my fabled development diary series giving you a bit of insight into what we’re working on.

Piano pedalling

As Anton Rubinstein famously said, “the pedal is the soul of the piano.” Pedals have always existed in pianos, since the instrument’s development in the middle of the eighteenth century (though the initial damper mechanism required the use of the hand rather than the foot), and it took many decades before instrument makers settled on the standard three (or on most upright pianos, two) pedals that we are familiar with today.

Mirroring the development of the pedals themselves, the notations used for indicating pedalling have likewise changed over the centuries. The simplest notation for piano pedalling that entered into common usage in the nineteenth century looks like this:

Excerpt from Breitkopf & Härtel’s 1888 edition of Beethoven’s Für Elise.

Gradually, pedalling notation became more explicit, with the star-like symbol used to indicate the release of the pedal replaced with a kind of bracket, showing more precisely when the pedal should be released:

Excerpt from Chopin’s Mazurka, Op. 63, No.3, as reproduced in Kurt Stone’s Music Notation in the Twentieth Century.

Through the twentieth century, as composers became ever more precise in their pedalling instructions to performers, there were many experiments in more explicit notations, but to the extent that there has emerged any true standardisation in pedal notation, the following snippet from Stockhausen’s Klavierstück IX is representative:

Excerpt from Klavierstück IX by Karlheinz Stockhausen, published in 1967 by Universal Edition.

This notation denotes depressing the right pedal (variously called the damper or sustain pedal) halfway, then depressing it fully, before releasing it back to halfway for a moment – Elaine Gould calls this a retake, which I find an agreeable term – and then keeping it depressed until it is finally released.

Despite being perhaps the most common idiomatic keyboard notation, piano pedalling can be awkward to integrate into a score clearly, and this task is not made any easier by the awkward way it is handled by existing scoring software.

Product A has five preset line styles, which most simply accommodate the Beethoven example above, but which can also be employed to produce the Chopin example, though to insert a retake in the middle of an indication requires the use of a separate line, which is both awkward to input and can lead to difficulties in positioning them precisely to ensure the horizontal line abuts the retake “notch” correctly. Product B also defines a few preset Smart Shapes for both the Beethoven and Chopin examples, as does Product E, which takes a slightly different approach to the handling of retakes, with half of the notch on the right-hand end of one line, and the other half on the left-hand end of the next. In all three of these products it is awkward to position the lines relative to one another with precision, and it can be time-consuming to produce a publication-quality result. These markings are also not imbued with any semantic meaning, beyond perhaps triggering an appropriate MIDI message, with no real connection between, say, the retake and the rhythmic position at which it occurs, and if you should decide after inserting a lot of pedalling instructions that you would like to switch from using the Ped./* style to using the horizontal line/notch style, you more or less have to delete all of the markings and start again. Furthermore, none of Product A, B, or E provide any support for the other two pedals. Of the existing scoring programs, Product C has the richest support for piano pedalling, with a neat way of producing notches for retakes within the span of a single pedal indication, and support for both the una corda and sostenuto pedals.

None of the existing programs, however, support the more precise and detailed notations for pedalling used by composers like Stockhausen and detailed by both Kurt Stone in his book Music Notation in the Twentieth Century and Elaine Gould in Behind Bars. What we are aiming to achieve with Dorico’s support for piano pedalling is to handle not only the simpler cases like the Beethoven and Chopin examples, and do so more efficiently and more elegantly than existing software, but also support the more complex cases too.

An imperfect Dorico rendering of the Stockhausen excerpt.

The picture above shows an example of what is achievable with Dorico with regard to pedal markings at this point in their development. As of right now I cannot move the initial change of pedal level to the right so that it appears in the same position as in the Stockhausen score, but this will be possible by the time the feature is ready for you to use.

We are trying to be somewhat comprehensive with the options provided – for example, for the sign indicating the start of pedalling, you can choose between the ornate Ped. as shown above, either with or without terminating dot, just the ornate P on its own, Ped. written in a standard text font, a pictogram depicting the sustain pedal, or just a plain hook (and if you choose a hook, you can choose, for example, between a vertical or angled hook, denoting the difference between an immediate or gradual depression).

Pedal lines are input using the playing techniques popover (Shift+P) by typing e.g. “ped.” for the sustain or damper pedal, “sost.” for the sostenuto pedal, and “una corda” for (unsurprisingly) the una corda pedal (which appears as text by default, with a restorative tre corde instruction at the end). Retakes are added by selecting the note at which the retake occurs, or positioning the caret at the right position if it doesn’t coincide with a specific note, and typing “^” (circumflex) into the Shift+P popover.

Some of the properties available for pedal lines in Dorico.

Changes of pedal level like those in the Stockhausen example are produced by adding notches, and then adjusting their properties. Notches are normally shown as retakes, i.e. completely lifting the pedal and then depressing it again, but they can also be shown as a change of level. The level of the pedal line is described as a rational value between 0 and 1, where 0 is fully released, and 1 is fully depressed. You can specify a global level for the pedal line, i.e. a value against which all other values are considered relative, or you can adjust the absolute level of the line at any notch position, specifying the end value at that notch (i.e. the value to the left of the notch) and the start value (i.e. the value to the right). By careful manipulation of these values, quite sophisticated and precise pedal instructions can be communicated to the player.

There are still some aspects of the feature to be completed, including adjusting the horizontal position of the start and end of the line, and the positions of the retakes or changes in level along the length of the line, plus important things like playback, but we’re making good progress, and we expect Dorico’s support for piano pedalling to be second to none when it’s completed.

Spelling during step input from a MIDI keyboard

When inputting music from a MIDI keyboard, one of the challenges facing scoring software is choosing the correct pitch. Depending on the prevailing key signature and the current musical context, it’s by no means obvious whether software should choose to notate the black key between C and D as C sharp, D flat, or even B double sharp. This choice of equivalent pitches is often known as enharmonic spelling, and different scoring programs take different approaches.

Product A, for example, uses criteria based on relative sharpness or flatness on the circle of fifths to determine whether to spell notes using flats or sharps. This works pretty well on the whole, and in general it’s not practical for any software to be able to choose the same enharmonic spelling as every user in every circumstance, but its approach does have one big drawback: if you make an adjustment to a note’s pitch because you prefer a different spelling, Product A will not take any notice of that adjustment, and will continue to spell notes of that pitch according to its rules, rather than using your preferred spelling for the remainder of the bar. Product B, on the other hand, provides a means to define specific tables of preferred enharmonic spellings for every key, and also provides generic choices to prefer sharps or flats. This approach offers a lot of control, but it does not respond to changes of musical context, and nor does it take notice of any local adjustments that you might make to the spelling of individual notes.

The current version of Dorico has a pretty rudimentary set of rules for enharmonic spelling that does not go much beyond knowing which diatonic pitches are modified by the key signature, and this means that you are currently quite likely to encounter situations in which you need to adjust the spelling of notes input via your MIDI keyboard. The good news, however, is that we have been working on some pretty neat algorithms for enharmonic spelling that not only produce sensible results within a given key signature without requiring you to specify a table of preferred spellings, and that not only respect any local adjustments you make to enharmonic spelling for future notes you input, but that also takes note of the current musical context — even to the point that Dorico will go back and modify the pitches of earlier notes.

When we introduced Dorico in October last year at Bush Hall in London, I entered Chopin’s Prelude in A major, Op. 28, No. 47, as part of my demonstration. This Prelude has an accented passing note in the third bar that is harmonically strongly inflected: in the key of A major, Chopin writes B# and D# as leading to C# and E. In the key of A major, B# is pretty remote: C natural would normally be a much better default choice than B#. And, indeed, in the demonstration I had to stop and respell several notes, including this chord. But take a look at how Dorico spells this passage now:

When the dyad at the start of the third full bar is first input, Dorico wisely assumes that C natural and E flat would be the preferred spelling, but as soon as I enter the dyad of C# and E natural, Dorico works out from the musical context what to do, and corrects the spelling automatically.

Here’s another simple example, just entering a few notes in C major:

Notice how the A flat at the end of the first bar is automatically respelled as a G sharp when the following note turns out to be an A, and how the E flat following the A is automatically respelled as a D sharp when the following note turns out to be an E.

Try entering these figures into your other scoring software to see how many edits you would need to get to these results. Hopefully you will find that Dorico’s new and improved spelling during MIDI step input will save you a huge amount of time.

Chord symbols

Development work on chord symbols is progressing. After the team all got back into the office at the beginning of January, we had a couple of big meetings to both plan the scope of the 1.0.30 update and the following, larger update, which we knew would have a few areas of focus, with the most important one being the development of chord symbols.

First, we reviewed the requirements for the chord symbols feature, and made some early decisions about what would and would not be in scope for this release. For example, we decided that, unfortunately, showing guitar chord boxes alongside text chord symbols was beyond the scope of what we could achieve in a reasonable timeframe, though of course we will return to add support for these in future, when we are working more generally on support for guitar notations.

Next, we surveyed the various different conventions for how chords are described and how chord symbols look, to the extent that it is possible to divine this. Because chord symbols are a relatively recent addition to common music notation, and because their purpose is very much to communicate a particular harmony in a practical, shorthand fashion, there are an innumerable number of variations in how they are written. We have identified at least six distinct conventions that seem to be in at least somewhat common use (including the Brandt-Roemer style set out in Standardized Chord Symbol Notation, the style used in Jamey Aebersold’s publications, the style used in the Real Book, the style taught at Berklee, and so on), and our goal is to provide easy ways to achieve any of these looks, with plenty of options for customisation so that you can mix and match different elements of each.

Having mapped out the territory of what sorts of chord symbols it will be necessary for Dorico to support, work has begun on implementing the low-level data types that will represent the chords in Dorico projects, and on building the means of representing all of these different kinds of chord symbols graphically, using a mixture of text and music fonts.

There is still a lot more work to do on the chord symbols feature, so I’ll try to provide another update as development progresses.

Signing off

That’s it for this instalment of the diary. I’ll be back again very soon with details of the Dorico 1.0.30 update and the improvements it contains.

In the meantime, if you’re still on the fence about giving Dorico a try, perhaps the incredible 10-page preview in the February 2017 issue of Sound on Sound magazine will persuade you to take a look. Author Mark Wherry writes that “Steinberg are clearly onto something special with Dorico.” Likewise, Mark Sealey of MyMac.com recently awarded Dorico a 9/10 rating, and calls it “a revolutionary product.” You can try all of the features of Dorico out for 30 days by downloading the trial from the Steinberg web site.

Furthermore, my colleague Anthony Hughes has been doing amazing work putting together a series of short tutorial videos taking you through many of Dorico’s key features in concise, bite-sized chunks. Setup mode is explained in a series of seven videos, while Write mode is detailed in ten videos. Anthony is hard at work on the next series, which will cover Engrave mode. Be sure to check all of these tutorials out on the Dorico YouTube channel, and please subscribe to get notified about new videos as they appear.

Finally, another of my colleagues, John Barron, has started running a monthly live video stream to help you get started with Dorico, called Discover Dorico. The first session took place at the end of January and covered Dorico’s page layout features in some detail. You can catch up with the first session on YouTube, and keep an eye on the Dorico forum for details of upcoming sessions.

As always, we’re eager for your feedback, so please leave us a comment here, or contact us via the forum.

52 thoughts on “Development diary, part 16

  1. Chris Smart

    This all sounds brilliant, but I’m locked out until you include some accessibility support for screen reading software. (NVDA under Windows, VoiceOver on the Mac) just a friendly reminder.

    Reply
  2. jamesbmaxwell

    Oooh, always exciting to see a new Making Notes post!

    You know, I never use chord symbols, but after your mention of “low-level data types”, it occurred to me that chord symbols don’t have to be just pretty faces—they could have some smarts. What I mean is, it would (seem to) be totally possible (and this connects somewhat to your discussion of note spelling during step input) to have chord symbols influence scored elements at the same metric/rhythmic positions. This would give us a way of trying out different harmonic possibilities “in vitro”, so to speak, even if we don’t use chord symbols in our scores. That would be kinda cool… (well, maybe even more than “kinda” cool!) (And Cubase has something similar, so maybe it fits Steinberg’s way of thinking about composition tools?) I would *love* a feature like this, to be honest! 🙂

    Reply
  3. Rex Thomas

    I’m hoping that this latest update will have the bass guitar line finally fixed. Yes, it plays back correctly, but note entry should be correct as well & not sounding an octave down from where writ, meaning that low C’s won’t sound on note entry but will sound on playback.
    And coming from one who uses chord symbols a LOT, I’m also hoping that you are considering having chord over bass chords text size to be a wee bit smaller than regular chords. It would be nice if chord over bass chords would just come out that way vs. doing workarounds.
    Thankew….OUT.

    Reply
    1. Daniel Spreadbury Post author

      @Rex: I’m afraid I don’t expect the problem with notes in the bass guitar sounding at the wrong octave when you click on them to be fixed in the 1.0.30 update, but I will check with Paul.

      Reply
      1. Daniel Spreadbury Post author

        @Rex: I’ve just had a chat with Paul about this issue, and although it’s not yet fixed, Paul is in fact planning to fix it before 1.0.30 is released. Fingers crossed we’ll be able to do that.

        Reply
  4. Ernie Mansfield

    You mentioned a few Chord Notation reference books, but you forgot “The Art of Music Engraving & Processing” by Ted Ross copyright 1970. I was a music engraver for many years, and Ross’ rules were – and are – “the standard” for most mainstream publishers (Hal Leonard et al). The jazz chording systems are interesting, but I hope you still consider the Ross as the standard.

    Reply
    1. Daniel Spreadbury Post author

      @Ernie: You’re right, of course, that there are a few pages in the Appendix at the end of Ross about guitar chord diagrams that also include some recommendations about how chords should be presented. We will definitely cross-reference these against the other sources we’ve been looking at. I don’t think, however, that Ross’s recommendations can be considered the standard any more than any of the other conventions in use, which is one of the great challenges in dealing with chord symbols.

      Reply
  5. Frank Gratkowski

    Thanks for the update.
    When approximately will microtonal (at least quartertones) playback be possible?

    Reply
      1. Jan Martin Smørdal

        Hi Daniel, thanks for the update!
        From day one I’ve been waiting for the microtonal support. Can you be more specific about the time frame on this topic (2017/2018?)? And will you include more types of microtonal accidentals?

        Good luck with your work on the update.

        Reply
        1. Daniel Spreadbury Post author

          @Jan: Dorico has pretty decent support for microtonal accidentals now, except for playback. I’m not sure when we will be able to tackle playback: at the very least we need support for VST Note Expression first, which we don’t yet have (this will require both work by us in London and the team in Hamburg), but it could still be a little while. You should be able to define more or less any microtonal accidental you can think of already, provided it uses any EDO system.

          Reply
  6. Max Tofone

    As soon as the playback functionalities to control MIDI CC, expression maps, etc. are in place I will consider Dorico… at the moment not quite there for me… Nevertheless great to see updates released regularly with bug fixes and new added features… All the very best Daniel and team… Chhers, Max T.

    Reply
  7. Per Olsen

    All very fine – but I think that more people than just me needs an update to Cubase Score making it possible for Vocaloids to “sing from the notation leaf”.

    So a Dorico-Cubase-Vocaloid-interface would find good use with demoing composers in the Steinberg user-base

    Reply
    1. Daniel Spreadbury Post author

      @Claude: We’re not working on them right now, but we hope to include at least basic support for ending lines in the same update that will include chord symbols and piano pedalling, all being well.

      Reply
      1. Claude Lapalme

        I’ll keep my fingers crossed for the end of April. Barring that, I have a bit of a workaround in mind. Thanks for your quick reply, as always!

        Reply
      2. David Pickett

        Thanks Daniel! This is an urgent need for me and I am sure many others. I have several projects awaiting me that I would like to do in Dorico, and NONE of them is without 1ma/2da volta markings! In fact, there are very few classical symphonies, such as I am working on, that do not have them!

        Reply
  8. Fabian Dobler

    Hi Daniel, thanks a lot for your constant updates on the development of dorico!

    As right now I’m in the little gap between two projects I’m thinking of buying dorico now.

    BUT for me there are two important questions: when do you think playback functionality will be considerably better than product A or B?

    I’m usually fighting with some plugins (instruments like accordion or bandonion) trying to get them play more or less the dynamics and articulation of the rest of my scores…

    Second important question: as dorico is still work in progress: how long will the 1.-version be supported by updates, when will there be a 2.-Version which one has to buy again?

    Thank you for a quick answer!

    With best wishes,

    Fabian

    Reply
    1. Daniel Spreadbury Post author

      @Fabian: I think quality of playback is to a large degree subjective. It will be a while before Dorico supports all of the various notations that Product A and Product B, but the forthcoming 1.0.30 update will improve playback of tremolos and grace notes, as well as improving the switching between different playing techniques via VST Expression Maps. Each update will include incremental improvements.

      In the future, it is inevitable that there will come a time when we have to charge for an update, but it will be a way off. We have made a commitment to deliver features like chord symbols, repeats, cues, and unpitched percussion in updates to Dorico 1.x, and we plan to keep to that commitment.

      Reply
  9. Hans Nel

    As for me, I’m very excited about the enharmonic spelling feature! I constantly have to correct note (especially sax parts) and hope this is no a devil of the past. Thanks boys! Hiding rests and converting a note from one voice to another is my next wishes! 🙂 Happy coding guys!

    Reply
  10. jfcharles

    In the Stockhausen example, you even have the “Stockhausen” (/James Ingram) straight flags for the 16th notes: can you do this with the current version of Dorico? I couldn’t find the option…

    Reply
      1. Daniel Spreadbury Post author

        @jfcharles: Heh, that’s right. At the moment we don’t have any straight flagged notes suitable for writing tempo indications. Something else to add to the endless list of things to do!

        Reply
  11. Michael

    Quick question: will pedal notations affect playback of both staves in braces (i.e. RH and LH)? This seems such a simple thing, but in a certain other notation program, pedal notation only affects playback on the staff under which it is written. So I’m constantly copying the pedal notations (usually can’t be done for the whole staff), pasting them under the RH staff, and then hiding them. Needless to say this is laborious and it seems like such a simple fix. –Thanks!

    Reply
    1. Daniel Spreadbury Post author

      @Michael: We haven’t done any work on the playback of pedal lines yet, though we anticipate that this will be part of the update. At the moment Dorico always plays the two hands of piano on the same end point (i.e. channel or slot), so the playback will by definition affect both staves.

      Reply
  12. Pingback: Hints on Dorico’s Next Update – drdavewalkerblog

  13. Richard Hermann

    Have you thought of looking at Berio, Sequenza IV and Lachenman, Serynade? These use multiiple simulateous pedals in the manner of Stockhausen. Also, have you looked at Berio, Sequenza VIII (Violin) where there are triple stop unisons?

    Reply
    1. Daniel Spreadbury Post author

      @Richard: Dorico will be able to display multiple pedal markings at the same time for the different pedals without any problems, and they’ll all tuck together nicely, hopefully. I will certainly see if we can find these scores to see how well the notations are accommodated.

      Reply
  14. Mike

    Thanks for sharing!
    I’m also one of the many who is waiting for chord symbol support.
    Two things would be nice:
    1. Chord Symbol Playback (you should be able to turn this on or off)
    2. Enharmonic spelling of chord symbols (always a problem in parts. Who plays a B sharp minor chord? ;-))

    Thanks, looking forward!

    Reply
  15. Michael Philcox

    Thanks, Daniel, for your latest Making Notes – I enjoy every one!

    You didn’t mention figured bass when talking about chord symbols. Will we be able to write figured bass after chord symbols are included in Dorico?

    Reply
    1. Daniel Spreadbury Post author

      @Michael: I’m afraid figured bass will not be included in the work we are doing on chord symbols for our next update. We did discuss it in some detail during the initial planning for the feature, but unfortunately we determined that it was too dissimilar to the work we’re already doing on chord symbols. However, we do certainly plan to add support for figured bass in future.

      Reply
  16. Richard Dudas

    It looks great! If pedal lines have been implemented for the next release, does that mean that other kinds of lines will also be available soon? (I am hoping for dashed, dotted or solid lines that can be used to indicate voices moving from staff to staff or part to part….)

    Reply
    1. Daniel Spreadbury Post author

      @Richard: I hope we will be able to work on more generic line drawing tools in the relatively near future, though I’m afraid this won’t be in either the imminent 1.0.30 update or the one that will include pedalling.

      Reply
  17. David Kornfeld

    Hi there! Thanks for the updates! Will we be able to record pedaling in real time via a MIDI keyboard? My notation software records the MIDI messages when I play with pedal but it would be awesome if it would record the actual pedal markings automatically.

    Reply
  18. Pingback: Dorico 1.0.30 update released, with over 120 improvements | MAKING NOTES

  19. Joseph Karl

    The thesis mentioned in this post is incredibly fascinating. I’ve just started reading it, and after 3 pages, I’m hooked! Many thanks for shining a light on things one would otherwise overlook!

    Reply
  20. Pingback: Dorico 1.1 released: chord symbols and more | MAKING NOTES

Leave a Reply