Dorico 1.0.10 update released, with over 200 improvements

We are pleased to announce the release of Dorico 1.0.10, the first update to our new scoring application. Our team in London and the audio engine team in Hamburg have been working exceptionally hard over the last six weeks to deliver an update focused on improving the overall application performance, fixing bugs, and adding some important new functionality.

If you’ve already bought Dorico, then you can download the update today by going to the download pages on the main Steinberg web site. If you have been waiting for the release of the 30-day trial version in order to test drive Dorico to see if it fits your needs, you only have a few more days to wait: the trial version will be available for download on Wednesday 30 November.

This video summarises the main improvements in Dorico 1.0.10:

You can also download a complete list of the changes (both new features and bug fixes) in Dorico 1.0.10 here.

Performance improvements

One of the big changes we have been able to make in Dorico 1.0.10 is that the application now performs much more quickly than before during note input and editing. Even inputting a series of notes would often show the busy cursor between each note, which was caused by Dorico’s user interface being refreshed more often than necessary, and repitching a larger selection of notes was also visibly slow, because Dorico was prioritising correctness over speed (calculating the accidentals for every possible change one after another, rather than doing it all at once).

We have made a number of significant improvements to Dorico’s performance all across the application, including eliminating unnecessary updates to the user interface, eliminating unnecessary redraws of the music, and refactoring parts of the processing chain to allow edits to be performed much, much faster. You will really notice the difference when you start working with Dorico 1.0.10.

VST Expression Maps support

Initial support for VST Expression Maps has been added in Dorico 1.0.10. In short, VST Expression Maps are files that provide a way for the host application – initially Cubase, and now Dorico – to automatically map between the capabilities of a given virtual instrument or sample library and a set of markings entered into the project that trigger those capabilities. You can read a more detailed description of VST Expression Maps here (and if you want even more information, you could try reading the Expression Maps (Cubase Pro only) chapter in the Cubase Pro Operation Manual, which at the time of writing starts on page 807 of the English-language PDF version, available for download here).

If you’re using the included HALion Sonic SE 2 VST instrument and the provided HALion Symphonic Orchestra sample content, then there’s nothing for you to set up in Dorico 1.0.10: for your existing projects, and for new ones that you create, Dorico will automatically assign the appropriate VST Expression Map to each channel in each instance of HALion Sonic SE that is loaded. You can see which VST Expression Map is assigned to each channel in the new Endpoint Setup dialog, which is accessed by clicking the little cog button in the VST Instruments panel in Play mode.

Click the circled cog button to open the Endpoint Setup dialog.

Clicking the cog button opens the dialog itself, which looks like this:

Endpoint Setup dialog, showing 8 out of 16 channels from HALion Sonic SE.

For HALion Sonic SE, normally the Endpoint Setup dialog will show as many channels as have been populated with sounds by the application (I’ve set the number of channels to 8 in the screenshot above so that it takes up less room). If you are using another virtual instrument, into which Dorico can’t automatically load sounds and assign VST Expression Maps, then you will need to specify the number of channels into which you have loaded sounds, and specify which VST Expression Map to use.

Even if you haven’t got a detailed Expression Map for the virtual instrument you’re using, if your instrument uses e.g. modulation (MIDI controller 1) to determine dynamics, you should still choose the Modulation Wheel Dynamics Expression Map so that Dorico can play dynamics back for you.

To edit the VST Expression Maps available, choose Play ▸ Setup Expression Maps:

Dorico’s Expression Maps editor.

The list at the left-hand side shows all of the Expression Maps that are available, which includes those that are in use in the current project, and those which are available in the default set provided in an empty project. If you create your own Expression Maps, by default they won’t appear in other projects you create, but you can click Export Library to export a file containing the selected Expression Maps, and then import that into another project by switching to that project and clicking Import Library. (In due course we will make it easy to have a particular set of Expression Maps available by default in all new projects.)

The group of options at the top on the right-hand side show various bits of metadata about the Expression Map: it doesn’t really matter whether or not you fill this in, but if you plan to share your Expression Maps, it would probably be a good idea to include a version number, author details, and a detailed description so that it’s easy to keep track of different versions. Click the padlock icon at the top right-hand corner to enable or disable these fields for editing.

The Techniques list shows all of the playing techniques that are defined in the Expression Map. The playing techniques you can create in your project in Write mode each correspond to one of these playing techniques, so when a particular instrument has a specific playing technique, Dorico will look to see if that playing technique is defined in the current Expression Map in order to determine what to do to play it back. You can define behaviours not only for individual playing techniques (e.g. mute or pizz.) but also for combinations of playing techniques (e.g. mute + pizz.).

When you select a particular playing technique in the list, the list in the Actions group shows you exactly how Dorico will handle that playing technique, with any combination of keyswitches, MIDI controller changes, or MIDI program changes, and you can specify a different set of events for the start of the playing technique (On events) and the end of the playing technique (Off events). If you need help translating between MIDI note numbers – needed for keyswitches – and the documentation provided by your virtual instrument, you might find this chart helpful. Dorico uses C4 to refer to MIDI note 60, which is middle C, but make sure you know which octave number is used for middle C in your particular virtual instrument.

You can specify whether a given playing technique should use note velocity or a specific MIDI controller (e.g. controller 1, modulation) for playback of dynamics, and you can also specify deltas to velocity and length for notes. The Exclusion group controls are not properly implemented yet, but when they are, they will allow you to set up groups of playing techniques that should cancel each other out (e.g. arco and pizz. would be in the same exclusion group, because they cannot be played at the same time, while mute and open would be in a separate exclusion group, as it would be possible to play either arco or pizz. and mute at the same time).

If you have Cubase 5 or later, you may have defined your own VST Expression Maps, and these can be imported into Dorico directly (with some limitations at present, as Dorico’s own implementation of Expression Maps is itself at an early stage), and you can also download them from our web site.

Transposing

We have added a new dialog for transposition, which you can find in Write ▸ Transpose. It will operate either on the selection, or, if you have nothing selected, on the entire flow.

Dorico’s new Transpose dialog.

You can choose to transpose either by quality of interval (e.g. major, minor, perfect, augmented, diminished) or by number of divisions of the octave (e.g. +1/12 for raising by a sharp, -3/24 for lowering by a three quarter-tones flat). The Interval list only includes intervals within the span of an octave, so if you need to transpose beyond an octave, you have to specify Number of octaves as well.

Dorico will restrict the possible transposition intervals displayed such that you’d never end up with a key signature that can’t be notated. For example, consider a key signature of D major: you could transpose that up by a minor third to F major, or down by a major third to B flat major, but you could not transpose it up by an augmented fifth as that would end up as A sharp major, i.e. a key signature with ten sharps or containing three double-sharps (Dorico only supports key signatures up to a maximum of eight sharps or flats, i.e. including one double-sharp or double-flat).

The same is true of notes too. In Dorico’s default 12-EDO tonality system, there are accidentals up to and including triple-sharps and triple-flats. Imagine you are transposing a G double-sharp, and you choose to transpose it up by a second. Dorico will show you all of the available qualities for the interval: minor would take you to an A sharp, major to an A double- sharp, diminished to an A natural and augmented to an A triple-sharp. Now imagine you had instead selected a G triple-sharp: in this case, you could not transpose up by an augmented second, as this would produce an impossible A quadruple-sharp, so the augmented quality is simply not shown to you.

These checks to ensure that you cannot end up with impossible results consider everything that you have selected (or the whole flow if you had no selection), so if you selected a B flat major key signature and a G triple-sharp, you’d only see major and minor (and diatonic) as possible qualities for a transposition of an upward second. In this case, the key signature can’t be transposed by a diminished second and the note can’t be transposed by an augmented second, so those options don’t appear.

You can also choose to transpose by number of divisions in the octave if you prefer, and this works both for 12-EDO and for extended tonality systems. Imagine you select a single F natural note (in a flow using a Western key signature) and open the Transpose dialog, choosing to transpose by a number of divisions. Choose a degree of a downward third and you’ll see possible divisions ranging from -6/12 to +0/12 inclusive. As your note will become a D of some description, you can reason about this by counting the number of semitones from the F natural: transposing down by -6 will give you a D triple-flat, -5 a D double-flat, -4 a flat and so on up to 0 which gives you a D triple-sharp.

Because transposition can be complicated, the dialog also includes an interval calculator that you can use to determine the correct settings for the dialog by specifying how you want a given pitch to be written after the operation: click Apply and the appropriate quality and interval are set for you in the main part of the dialog.

In addition to the main Write ▸ Transpose dialog, there is also a Write ▸ Add Notes Above or Below dialog that uses the same logic, but instead of transposing the music, it leaves the original music there, and writes the transposed music above or below the existing music, providing a quick way to add e.g. octaves above a passage of music, or a third below, and so on.

Edit vertical spacing

Although Dorico’s automatic handling of staff and system spacing is excellent, there are certainly times when you will want or need to tweak the results. Dorico 1.0.10 includes a powerful new set of tools for editing vertical spacing, which can be enabled by flicking the switch in the Staff Spacing section of the left-hand panel in Engrave mode.

Before you resort to changing the vertical spacing manually, do make sure that you have fully explored the Layout Options dialog, looking at both the Page Setup page – to change staff size, page size, top and bottom margins within the music frames, and so on – and the Vertical Spacing page – to change the default gaps between staves and systems, as well as the overall thresholds for when Dorico should justify the gaps between systems alone (when the frame is, by default, at least 80% full) and for when it should additionally justify the gaps between staves (when the frame is, by default, at least 60% full).

When you do come to edit the staff spacing, staves can be dragged with the mouse by clicking anywhere in the staff itself, or in the handle at the left-hand side of the system. The whole system can be dragged by clicking in the coloured stripe immediately above the top staff in the system. Hold Alt while dragging a staff or system to also adjust the distance between all of the staves and systems below the staff or system being dragged, when there is no further room at the bottom of the music frame.

Use the up/down arrow keys to select the handles at the left-hand side of the system; use Tab to cycle between selecting handles for systems and handles for staves. Hold Shift and use up/down arrow to extend the selection to the handle above/below.

Nudge the selected staff, staves and/or systems using Alt+up/down arrow, and add Ctrl (Windows) or Command (Mac) to nudge in larger steps. You can also use Alt+J/K (a key command for all you vi fans out there…) to nudge the selected staff, staves and/or system such that the distance between all of the staves and systems below the staves being nudged will also change, once there is no further room at the bottom of the music frame. When a staff or system has an overridden position, its handle or the coloured stripe will turn red.

To specify an exact distance, click on the numeric read-out in the left-hand margin, which allows the entry of a specific measurement, using the preferred units of measurement as determined on the General page of Preferences.

To remove a specific override, select the relevant handle and click Delete. To clear all overrides in the selected frame, choose Engrave ▸ Reset Staff Spacing.

To copy the staff spacing from one page to other pages within the layout, click Copy Staff Spacing in the Staff Spacing section of the left-hand panel. A dialog appears in which you can choose the source page and range of destination pages. The staff spacing will be copied if the destination page has the same number of systems each containing the same number of staves as the source page. If the layout of music within the music frame changes because the music is cast off again, any staff spacing overrides for that passage of music will be removed.

Improved selection tools

You can now make large selections of music much more easily than in Dorico 1.0. Simply click anywhere on a blank part of a bar to select all of the music in that bar (if you’re in open meter, clicking on a blank part of the staff will select everything in the system, and if you’re in galley view, it will just select a chunk of music of 16 quarter notes in length). Hold Shift and click in another blank part of a bar in the same staff or a different staff, and you will select all of the music between those two points.

You can also use Edit ▸ Select to End of System (in page view only, as there are no systems in galley view) and Edit ▸ Select to End of Flow (which works in both page and galley views) to extend any selection. So if you have e.g. the first note in one instrument selected, choosing Edit ▸ Select to End of Flow will select all of the music in that instrument to the end of the flow.

Using the arrow keys to navigate around in Write mode now works much better than before, and allows you to use the up and down arrow keys to hop between notes and other markings like slurs, dynamics, and so on, and eventually to hop to the staff above or below – hold Ctrl (Windows) or Command (Mac) to hop directly to the staff above or below. The left and right arrow keys hop between notes and other objects, and again you can add Ctrl (Windows) or Command (Mac) to hop to the start of the next or previous bar. Hold Shift to extend the selection in the direction you’re moving. You can also start a selection using only the arrow keys: simply hit an arrow key when nothing is selected, and the first item in view closest to the top left-hand corner of the current view will be selected. Use Tab and Shift–Tab to hop to the next or previous barline, which makes it easy to delete the barline, if needed.

Note input and editing improvements

A new scissors tool (default key command U) has been added to the note input toolbox. Outside of note input, the scissors tool will remove any ties in the selected notes and chords. Inside note input, the scissors tool will cut any sounding notes in the voice indicated on the caret that are sounding at the current caret position.

You can also now choose between inputting in written pitch or sounding pitch using the new Write ▸ Input Pitch submenu. This is very useful when copying out music written for transposing instruments.

Finally, you can also now hear notes auditioned as you input them or edit them: if, for some reason, you don’t want to hear them, you can switch off Play notes during note input and selection on the General page of Preferences.

And much more besides

There are more than 200 improvements in total in Dorico 1.0.10, far too many to describe in detail either in the video or in this blog post. Please take the time to read the complete version history for full details of everything that’s changed, and when you’re ready, go ahead and download the update.

We are already hard at work on the next update, and we expect to release a further small update before the end of 2016. Larger features like repeat endings, chord symbols, percussion improvements, and so on, are too big for us to complete before the end of the year, but please rest assured that we will be working on these as soon as possible, and we will share more details about them in due course.

In the meantime, on behalf of the team here in London and the audio engine team in Hamburg, and everybody else at Steinberg who has played a part in getting Dorico 1.0.10 out of the door, we hope you find the improvements in this update valuable and that they make your use of Dorico both more productive and more enjoyable.