How to create a playback score for microtonal music?

As playback of microtonal notation is a specialist feature and the programmers of Dorico have decided to use a new, promising but never-tried technique for it (VST 3 parameters), it seems likely that microtonal musicians will have to wait for a very long time before Dorico plays from their notation. Meanwhile, we need some workaround or temporary solution. Inserting pitch bend values either in the score or in the Play editor would be the simplest solution but curiously, Dorico is unable to send pitch bend messages at all, and according to Daniel, this won’t even be addressed in updates in the near future.
The only way to hear a microtonal score in Dorico would be, then, to write a separate score, or separate staves, for playback. A VST instrument that can be pre-tuned with .scl, or .tun. files etc. will be the sound source. Then, a “scordatura” part is written so that that it corresponds to the midi note mapping of the VSTi. To take a simple example, if the instrument is tuned to quarter-tones, midi note 60 is, say, C, and then midi note 61 is C-quarter-tone-sharp, and midi-note 62 is C sharp. On the staff those are written as C, C#, D. This is the playback staff. Then there’s another staff which has the microtonal notation for quarter-tones. This staff is kept mute in the playback. And when viewing or printing the score, the playback staff is hidden or deleted.
Will this work? Is it easy to switch between different versions of a score (with some staves either hidden or visible)? And staves can be muted and soloed, right? I’m new to Dorico. I have it but I haven’t been able to switch to it from Finale yet, as all my projects have at least some notated microtones and I need midi playback.

I don’t know really how practical your workaround is – obviously it would be a lot, lot better if Dorico had some native support for microtonal playback, and I hope that will come sooner than “a very long time” – but you can create multiple layouts that contain only one instrument, and use one instrument for playback and another (muted) one for printing, if you wish.

Thank you for your reply. Great to hear that playback is in the works; it’s just that for the eager and enthusiastic a “very long time” is not necessarily that long… Anyway, you answered my question, that was what I meant. Those multiple layouts will be useful in this. This way of working, while not ideal, is still much more practical than to make the playback file in a DAW and treat the notation software as a purely graphical tool. Besides, this would be the way to write a microtonal keyboard piece: the printed score shows the keys to be played, while a microtonally notated version would be for study purposes only (it shows the notes that are heard but not where they land on the keys).

Hi Daniel, I actually have the same problem. I bought Dorico but can’t use it because of the microtones and still use Finale. How long will it approximately take to implement microtonal payback into Dorico?

I’m afraid I can’t give you a good answer to this, alas. All I can say for sure is that it won’t be included in the forthcoming update. I know this is disappointing news and I’m sorry.

Two possibilities come to mind.

While Dorico doesn’t yet support pitch bend, you can convince it to send CC messages and/or key switches.

So one method would be to use a plugin for playback that would let you do pitch bending with CC events (either directly or with multiple N/RPRNs if you require higher resolution than 128). You’d have Dorico send them using playback techniques that you build in the expressionmap.

Another method would be to ‘remap in real time’ using something like Bidule to build your own microtonal instrument(s) which would again use CC, Program Changes, and key switches. In hosts like these one can transform MIDI (or even convert it to VST events) quite easily before it ever makes it into your favorite plugins.

It could be a lot of work if you’re looking at long scores…but it’s a possibility if you’re wanting to work with instruments that do not support scala remapping or something similar.

Thanks Brian. That sounds possible, although it seems to require quite a lot of preliminary work. Not sure if I followed everything. What’s N/RPRN? I’ve never used expression maps or key switches. What do you mean by “using playback techniques” built in the expression map? Is this a workaround for attaching CC values in the notes?
The CC values should be mapped to pitch bend. I’m not aware of any instrument that allows this, are you? The other solution - using a midi program to convert the CC values to pitch bends - should work.

Hey, I forgot about plugins that support scala (SCL alternate tuning tables). ARIA and sforzando Players can do this. If you’d like to give that a try you can grab a demo setup from here:

Scala is a standard that allows you to map out the tuning of individual notes/keys. In ARIA/sofrzando’s case, It’s done by a text file that you load into the player. Tools also exist that can create the proper ‘data dumps’ to retune instruments with a tuning table (RPN/NRPN/Sysex/etc.)
http://huygens-fokker.org/scala/
https://usermanuals.garritan.com/ARIAPlayer/Content/tuning.htm

Here is a primer on RPN and NRPN messages.

Basically it’s a method for combining multiple CC messages to control things that may require a higher resolution than 127, or might have some other reason for a multiple control stream being required. Examples are things like setting the pitch bend range, changing the course and fine tuning, etc.

A MIDI Tuning standard does exist. Not all synths and plugins support it, but then again quite a few do. Some use RPN, some NRPN, and some even do it via Sysex, or with hard set tuning tables (such as scala text files).

https://www.midi.org/specifications/item/the-midi-1-0-specification

As for HALion SE, that ships with Dorico…I’m not sure if it has a way to set up a user tuning table, or if it supports the MIDI Tuning Standards, or any tuning specific N/RPN messages, but I will look into that and follow up here for you. If HALion SE can do this, then it may well be possible to set up a kind of short MIDI dump that would ‘retune’ the instrument to a given scale for you…Dorico wouldn’t know the difference though…it’d think it is doing traditional 12 tone stuff.

I do know that you can automate the course and fine tuning in real time in most HALion SE instruments though…it’s not very difficult to set up. Presently, there is no way that I know of to force Dorico to ‘easily’ send them with every single pitch change though [you’d have to use a fresh technique for nearly every note…might run out available technique nodes in the current version of Dorico, etc.] (Which is where something like Bidule could help out with such plugins…as you could build bidules to handle the re-tuning stuff for you based on regular MIDI Note Names/Numbers). With a full version of HALion 6, I’ve no doubt you could build instruments with alternate tuning tables/scales (Just map it out key by key to the tunings you want).

Keep in mind that you can load lots of plugins in Dorico, and shift the tuning around to be different for each one. Using multiple staves you could come up with a system to create oddball stuff like 24 tone scales and such as that. Dorcio, in page mode is pretty good about merging multiple staves into one if they are assigned to a single ‘player’ and all the parallel bars but one is ‘empty’. You might need to manage separate playback and printing flows. Again, something like Bidule would really come in handy for ‘merging’ lots of different plugins/instruments into something that ‘behaves’ more like a single instrument if you need to create strange scales based on something other than 12 tones. Example: Making a 24tone scale based on quarter pitches, using two different plugins (one shifted a quarter pitch higher or lower than the other, and running this over two different MIDI channels (voices/layers)).

Thanks. I have numerous software and hardware instruments that use the tuning formats you mention, including MTS. They can (with the exception of hardware instruments, AFAIK) be used with Dorico but the problem is that Dorico is not able to re-map midi notes, unlike Finale, where you can set the number of steps in the octave and the number of steps (midi notes) that each user-defined accidental shifts up or down. And this system is not even planned to be included in future versions of Dorico. Presently, we’re left with pitchbend. As the microtonal accidentals don’t affect playback in Dorico (yet), we could write the score with the purely graphical microtonal accidentals and then add pitchbend values to each microtonally affected note (this is how Just Intonation or non-octave tunings are done in Sibelius and Finale, although in Finale, you can assign the pitchbend values to the accidental symbols themselves). But Dorico can’t do pitchbend! Which brings us to the CC / Key switch method. Minimum PB range is +/- 1 semitone, so the scale of the 128 values of RPN is indeed coarse but let’s say we’re happy with the 1.6 cent increments that it gives us. So in Bidule, we’d create a patch that translates a CC value 0…127 to a corresponding pitchbend value -63…+64. Is it possible to write CC values (using the ‘technique nodes’ that you mention?) into the score in Dorico, and force them invisible in the printed score?

As far as I know you can enter from a finite list of playing techniques (text or symbols) in Dorico that will send CC values. You can then change the alpha setting of the technique so it no longer shows up or prints.

Dorico has a couple of different types of playing techniques that are currently supported. Sticky, and momentary.

Examples of sticky techniques are things like pizzicato, snares on, col legno, mute or con sord, etc. These sorts of techniques keep an active node until you intentionally remove them (arco, snares off, senza sord, etc.).

Examples of momentary nodes are things like staccato, tenuto, accents, etc. These apply only to the notes they are specifically attached.
I’m not sure if these sorts of marks can be hidden like the text and symbols described above (I’ll have to check), but you can definitely have them send CC messages.

You can also combine techniques. I.E. pizzicato+staccato can be given a unique translation in the expression map.
Examples:
legato
legato+staccato
legato+mute
legato+staccato+mute
etc…
So a note with just slurs over it would be “legato”
A note with a slur and staccato both would trigger the next technique.
A note under a slur, while the sticky mute is on will match the next technique.
and so on…

Currently I don’t think there is a way to add ‘custom’ nodes or techniques to Dorico, so for the time being you’d have to make do with what they give you (make substitutions using existing techniques). Given the fact you can also set up combinations for translation in the expression map, you should have quite a bit of head-room to get something working until such time as they give us the tools to build our own custom techniques (or better yet, give us something like a DAW controller lane in the play mode).

With Bidule, it would be possible to get a higher resolution than 128 using CC messages if you really needed it. You could combine 2 or more CC messages and have a Bidule that could do the math to convert that into 24bit pitch bend (or whatever). Or, you could simply have your plugins premapped/tuned, and set up a switching matrix (using key switches, CC messages, or both) to divert the MIDI stream to the plugin/channel desired. You can also remap events on the fly according to note number, velocity, channel, etc…and more. You could also transform any of the pedaling CCs in real time and do creative things like that (I’ve not looked into how piano pedaling works in Dorico yet…is it hard set to CC64, or can we modify the CCs they send inside Dorico? If it’s hard set…Bidule would let you transform them into other things if needed).

Currently it’s a bit of a work around to convince Dorico to do microtonal playback, but it would seem the Dorico team DOES have a development road map to give us all the tools necessary to play back microtonal music. Eventually we will get the ability to send pitch-bend, do channel bounces, set up different velocity ranges, transpose on the fly, etc (All that stuff is working very well in CuBase/Nuendo). Eventually we’ll also get either channel CC controller lanes, or VST3 note-expression dialogues (which can also send traditional channel based CC messages). The underlaying engine is based on Cubase/Nuendo, and all that stuff is working in those DAWs…the Dorico team just needs time to implement it in the UI, and test the mess out of it before making releases. So…great things are coming…it’s exciting to me knowing we’ve got a dedicated scoring package being designed around this engine, but also frustrating playing the wait game :slight_smile:

Thanks again for the thorough answer. Frankly, it seems too complicated and awkward for a temporary workaround, at least with my skills or patience. The wait is indeed frustrating as I’d already waited for years for Dorico and now I’m stuck with Finale (because of its microtonal implementation). Possibly for scores that only have some few microtones here and there, such workarounds would do, although hopefully at least pitchbend messages, such a basic thing, will soon be added - it’s a very strange omission in a MIDI program.

Micro-tonal playback has always been a bit of a pain with Scoring Packages for me. You are correct that Finale is presently the best option for building such scores and making them play back. The reason being, you can make your own symbols and attach MIDI events directly to them, and when that’s not enough you’ve still got the MIDI Tool where you can insert channel events manually.

Eventually Dorico will give us a similar ability I’m sure. Once they put some way in the UI for us to make ‘custom’ techniques/nodes, and link them with any text or symbol we want, and add tools to use your own custom graphical symbols, etc…it’ll be quite similar to working with Finale. Step 1, you’ll create a new node name. Step 2, you’ll build a technique in the expressionmap to interpret that technique (send CC events, or whatever). Getting note expression dialogues or a CC lane on the play tab will achieve the same goals as the MIDI Tool in Finale.

One thing I wish Finale would implement, is an unlimited number of CC Events one can attach to an HP technique. As it stands I think we can only send 2 or three at a time…so I’m having to toggle multiple techniques and run an ‘apply HP’ pass, or use the MIDI tool more than I’d like. This is one thing Dorico has nipped in the bud already…you can send as many events as you like in a single technique. I also wish we could create our own HP nodes (such as sautille, sul tasto, etc.), and that we could get some comprehensive documentation on how Finale decides to auto-interpret the existing nodes.

Another area will Dorico does not yet have any features implemented is in generating grooves. With some practice, Finale is pretty outstanding in being able to apply grooves to a selection of bars. In theory, it won’t be very difficult to add such features to Dorico…but who knows when we’ll see it happen?

I do think the Dorico team has priorities in the right place thus far. Note entry, work flow, and Engraving quality really does need to be top priority at this point. Getting things like fully functional percussion mapping, slates of handy copy/paste tools, etc…yep, all that really needs to be solid ASAP. Once that stuff is in place, adding playback features should be relatively easy…as the underlying sequencer, audio engine, and even HALion is very mature and robust…it’s probably mostly a matter of deciding how the UI should look and act, and implementing code already existing (and well tested through CuBase/Nuendo) in the playback engine.

In short, once they have the Scoring foundation in place…playback features will probably be much faster in the pipeline. Currently there are just far too many MUST HAVE needs in the scoring department (Percussion staves for one).

I’m still very much in a state of using different Apps for different projects. Most of my Clients tell me what format they want a product delivered in, so I’m all over the map…using Sibelius, Finale, CuBase, etc. As much I like Dorico so far…I think it will be a bit of time yet before it becomes a mainstream format (at least in my neck of the woods). I personally intend to use it as much as possible when Clients only require printed or pre-rasterized materials (love the look of the engraving, and how easy it is to get there), but when it comes to delivering ‘working scores’, I’ve little choice but to keep delivering those in Finale, Sibelius, or MuseScore formats (each client has their preference). So far I’ve yet to have clients demand Lilypond projects.

Brian, attaching MIDI events (usually pitch bend) to symbols is indeed one method of making microtonal notation with playback in Finale. However, it’s also possible to define the number of divisions in the octave and the number and position of diatonic (“white”) and chromatic (“black”) notes, and use your own symbols as proper accidentals, with key commands, transposition, correct spacing etc., and have polyphonic playback without pitch bend. A similar implementation is Dorico’s eventual goal but where Finale uses a pre-tuned instrument and transpositions in midi notes (steps) - which is awkward in large pitch gamuts as there are only 128 notes per channel -, Dorico’s microtuning solution is VST3 parameters. (When they figure out how to use them for microtuning.)

Yes, the future is full of promising options.

A bit off topic, but for discussion sake…

CuBase supports micro-tuning through “MIDI Inserts” on the track inspector (not sure to what degrees, and how good it can be as I’ve never tired to use it). I can’t look at it right now, but if memory serves, it throws up a keyboard where you can manually tune each key for a MIDI or Instrument track, and you can save the alternate tunings as presets . You could do it pre-or post track events, etc. Since it’s possible to make this insert work as a ‘post event’ effect, and you can have up to 4 inserts on a single track…each pointing to whatever plugin/channel you like…it could make for some interesting possibilities.

When it comes to trying ‘score’ the stuff in Cubase, again I’m not sure how that might work best. I suppose you could use the custom drum map feature to build all sorts of interesting schemes for displaying one thing and ultimately sending something else. One interesting thing about the drum mapping in Cubase, is that you can easily set it up to send events on to any plugin and channel you like based on staff position and note shape.

Yeah, I’m a Cubase user, too. The microtuner midi insert is cool but very limited and only works for some of the VSTis. It’s been discussed on the Cubase forums (by me and others). For microtonal sequencing, the best solution is a fully microtunable instrument, such as u-he Zebra, Pianoteq, Omisphere, FM8 and Kontakt 5, to name some of the best.

The best way I have found to deal with microtones in Cubase is just to use note expression, and draw in the pitch reset, whatever param I used to set it, PB or CC. (I use it in in the realm of Middle Eastern music, not contemporary classical)

Interestingly, there’s a scoring app called Overture that has a great and simple solution for one-off microtones- you can attach two midi commands to a note- one for the start, one for the end. This means any VST or hardware synth can be made to play microtonally. Really simple solution. Overture also uses Smufl fonts, and includes Bravura, which is designed by Daniel.

I’t 10 months ago I asked the last time. Will microtonal playback (at least quarter tones) implemented anytime soon or do I have to stick with my old software? I bought Dorico when it got released and until now I didn’t use it for one score, waiting for an proper update.

I’m afraid I can’t say for sure when microtonal playback will be implemented. Support for VST note expression is a high priority for us, and that will allow microtonal playback, but it’s not possible for me to give a cast-iron schedule for when this will be done at the moment. I know this is very frustrating, and I’m sorry.

Will it allow accidentals to be defined in cents? To at least a couple of decimal places?
This, plus being able to specify a fixed deviation from ET in cents for each (white) note, would allow numerous unequal systems.

If everything were housed in a single staff, what MIDI data could Dorico even send on a per-accidental basis?

Unless Steinberg figures out how to wave a wand and get other developers on board… I just wonder if there’s not a solution via gold old fashioned MIDI to do this? It’s easy enough to script an instrument in Kontakt that tunes some groups differently than others. But the accidentals and MIDI data is what I’m more curious about. I’ve always just tuned two pianos on separate MIDI channels. But that’s piano-exclusive. I wouldn’t want to write vocals on two for obvious reasons, and I don’t love pitch bending on the fly for obvious reasons. The only thing I can think of is making an instrument that says “if you receive x data, play this note via these samples/tunings instead”. But anything I can think to put for x is certainly nothing that would become a standard way of doing this.

Does this have to be VST3 to really be an effective playback option from Dorico?

This isn’t an anti-Steinberg thing. It’s more of a “I’ve switched companies enough times over the years to prefer to do things on the instrument level” thing. I value consistency enough to not want a mess later on (or even just using multiple companies, which certainly isn’t a crime lol).

Any thoughts? Anyone? Bueller?

-Sean