Microtonal Support

The JND depends wildly on context. Two sine waves - anyone can hear the difference between 700 and 702 cents.
In some contexts, it is possible to hear less than a cent. I’ve spent years trying to pin down what is ‘good enough’ in terms of equivalent ratios, but without real satisfaction.

Something is wrong there. A frequency ratio of 1.05 is 84 cents (nearly a semitone) not 5 cents. Measuring musical intervals, “cent” means 1/1200 of an octave or 1/100 of a semitone.

Yep. The formula (for anyone that cares) is log (x/y) x 1200/log 2 where x/y is the ratio.

Hello everyone,

Microtonal music is a focus for me both as a composer and programmer. I’m the inventor of Tonal Plexus keyboards and everything found at http://hpi.zentral.zone

I’m very glad to see microtonal support in Dorico, and would like to offer my help to the development team on this topic in whatever way I can. I use an expanded notation system for my microtonal music http://musictheory.zentral.zone/huntsystem1.html and would be very interested to know if Dorico could be used to produce this expanded staff output.

As far as microtonal output, until Dorico’s native microtuned output is working (which it sounds like could take a long while, for reasons related to VST3), a feature which would be very helpful in the mean time would be to provide external MIDI output. I heard from a Dorico team member that this is planned for a future release.

As soon as Dorico supports sending MIDI to virtual ports, Dorico users can simply connect playback to other apps in order to get microtonal playback. The free software Scala provides playback functionality in a limited way, though it’s hard to get it working on a Mac. I’ve written several commercial apps for this purpose, the best known of which is called microsynth. It is a multi-timbral microtonal soundfont synth with a lot of advanced functions not found in any free tool. Features list and download at http://hpi.zentral.zone/microsynth

Also, if anyone has questions for me about microtonal stuff in general, rather than posting on the Dorico forum (where the focus needs to be Dorico!), please reach me through email at http://hpi.zentral.zone/email Thanks.

Best Regards,
Aaron Andrew Hunt

A lot of notation systems (including Ben Johnston’s) would be catered for by being able to define the pitches of notes in a key (for example C major: the ‘white’ notes), as well as self defined accidentals. This isn’t too far from current functionality and would allow a lot of non-equal systems to be easily used.

Indeed. That’s precisely how the above-mentioned Mus2 works but Mus2 has its own internal playback synth. For midi instruments and softsynths it’s a bit complicated; that’s how I write Johnston’s notation in Finale, by first defining the tuning of the white notes using a re-tunable sound module (with .scl files, .tun files etc), and then defining pitch bend values for the accidental symbols.

Aaron’s ideas above are very promising. Aaron, hope you’re in contact with the Dorico team. It’s good to hear virtual midi ports are planned in an update in the near future; for microtonal playback the accidental symbols would need to send pitchbend messages or some midi data, so that would also have to be implemented.
Before that there’s no microtonal playback in Dorico and we just have to wait for the VST3 implementation which is still a big question mark.

The only complication in Finale is that you can’t combine accidentals, so you need a lot of separate ones. I have my own charts for this stuff which anyone is welcome to.

It’s not possible to combine accidentals in Dorico, either, so for an open JI system one has to build an ever-expanding library of accidentals.

I only now noticed that you discussed this with Daniel as long as three years ago. I was in contact with him, on the subject of microtonal notation, about one year ago. What he wrote indicates that using a JI notation system in Dorico with correct playback will be difficult, and probably impossible in Dorico’s own (still nonexistent) microtonal playback implementation:

“Our plan with support for microtonal accidentals is to allow you to define your own system of accidentals; the only practical restriction is that the system must be expressable as an equal number of divisions of the octave.”
“I’m sorry that we’re unable to accommodate just intonation tuning systems completely correctly in our application. We did talk about it at some length, but [–] the complexity of supporting arbitrary unequal divisions was judged to be too great at this stage.”

At the risk of repeating myself, I just don’t understand the complication. Define the pitch of un-accented notes, provide definable, combinable accidentals.

Indeed! It sounds simple. But I guess there must be some complication in programming that as there has never been any notation software that has all those features.

IIRC the “true” fifths and overtones from every note compound as one goes up the octaves, so the true pitches do not always fall on the same microtonal division of the octave as you move through different octaves and different tonics.

I could imagine a situation where the same combination of accidentals implied a different pitch shift on different notes of the staff - or even on different octaves of the same note of the scale. Once you open Pandora’s box, nothing is off limits any more! Over the last few centuries, composers don’t have a strong track record of being entirely logical about notation.

Derek, can you explain?
For my JI writing, I require octaves of any pitch class (or overtone of it) to be doubling or halving.

I could imagine a situation where the same combination of accidentals implied a different pitch shift on different notes of the staff - or even on different octaves of the same note of the scale.

I’ve never come across an accidental in any system that doesn’t shift by the same amount of cents?

Even within a conventional 12-semitone scale, you can get that with any “well tempered” system with unequal semitones. Take a historical temperament like Werckmeister III:
C - C# is 90 cents
D - D# is 102 cents
F - F# is 90 cents
G - G# is 96 cents
A - A# is 108 cents.

Of course you could set up MIDI playback for a 12-semitone tuning independent of all using the tuning options in Dorico, but suppose you decided to use a 24-note “well temperament” based on a higher number of equal divisions (e.g. 53) but notated with “conventional” quarter tone accidentals for simplicity. Maybe it’s not politically correct to call it “just intonation”, but I don’t see why somebody out there wouldn’t want to try it!

I see what you mean, but this would be solved with fixed pitches such as Scala provides.
This unequalness is a product of the tempering and thus designed to reduce the total pitch classes.
JI is (at least theoretically) happy to have vast numbers of distinct pitch classes arising from consistent accidentals.

Hi nylonius. Dorico does not (since it’s not yet possible due to lack of virtual MIDI ports, actually “would not”) have to send anything but send standard MIDI output when used with microsynth or CSE. That’s the idea. Leave the microtuning to the external apps.

Aaron - how would the external apps be able to interpret the midi output from Dorico correctly if the accidental symbols don’t affect the midi file in any way, such as transposition in midi notes or pitchbend?