I apologize that this is a niche issue, but the only reason I’m bringing it up is that it’s the deciding factor for me in taking the leap and purchasing Dorico.
I started the 30-day trial and LOVE all the capabilities of Dorico for music I write without interesting playing techniques or special notation. However, my main mode of composing is via algorithms, where I produce a score and then turn to a notation editor. Therefore, I have been sticking with MuseScore, because their native files are really zipped XML files, so all I have to do is write a working XML file and I can open it up and their editor. When I need good sound playback (which Musescore doesn’t have), Sibelius generally works because it has very good MusicXML import, so I can just rely on that.
Unfortunately, one area where Dorico seems to lack is in its MusicXML import, so I cannot, for instance, even use a snap-pizzicato in a musicxml. Furthermore, when you unzip a .dorico file, the resulting .dtn is encrypted, so I don’t know how to write directly to .dorico. I’d also be happy to use a scripting API, but Dorico’s doesn’t appear to be suited to creating entirely new pieces.
TLDR: I want a way to automatically create Dorico projects containing techniques like snap-pizzicato which are not currently recognized by Dorico’s musicxml importer. The only ways around this I can think of are begging for better MusicXML support, seeing if Steinberg’s willing to share their encoding scheme for .dtn files, or seeing if there’s some sort of scripting option, and none of those quite seem viable. Am I missing anything (as I hope I am)?
If you search the forum you will find many, many discussions about MusicXML. I think it’s fair to say Dorico is less tolerant of badly formed XML files than some other programs (though personally I think that is a good thing). But XML is a rapidly evolving format and it will take time for all programs to settle on how they are handled. I’m sure Dorico’s handling of XMLs will improve too, but don’t expect major change in the near term.
I think the basic questions are: what is your goal? and what are your constraints (cash, computing power)? Personally I play around with music21 and scamp in Python and route xml to MuseScore (because it’s quick to load). But it’s really just an ideas-generator, so I’ll do most of the hard work in Dorico.
I wouldn’t hold my breathe for Dorico to share the native file format. That will never happen.
Janus is certainly correct that we have no plans to make available any details of Dorico’s internal file format. However, we do plan to do some work on improving Dorico’s MusicXML support in the relatively near future (though we are currently constrained by not having anybody available to work on it).
If MusicXML support is the determining factor in whether or not you can use Dorico, unfortunately for the time being there’s no way to get around that, but I would encourage you to check back in with us from time to time, as it’s definitely something we are planning to work on.
Hi Janus, thank you so much for your comments. You mentioned that Dorico doesn’t do well with “ill-formed” xml - do you happen to have any tips for choosing formatting such that Dorico will understand better, for instance with articulations or playing instructions?
I think the commonest problems are caused by incomplete bars and complex tuplets in multiple voices or mixtures of grace notes and tuplets. The symptom will be that Dorico just gives up showing notes in one or more parts. (The workaround is to delete the notes in the bar where it occurred and try again! Then manually add back the (now missing) notes)
Dorico’s import error message does give a few clues about what happened, but I find the MuseScore error list more informative.
Dorico (as you know) will ignore esoteric articulations and most text. Have a good look through the long list of xml import options under Preferences>MusicXML Import and you will get a sense of what Dorico might handle. Personally I have all the import options unticked, because I’m only interested in getting notes and am happy to let Dorico place everything else according to it’s own settings. Your needs may be different.
Just as a heads-up to fellow algorithmic composers: I ended up purchasing Dorico after I discovered. that their Midi Import is way better than any other notation software I’ve seen. So I’ve had to change my workflow from generating MusicXML to generating MIDI, but once I import the MIDI it’s. very easy (assuming you have figured out Dorico’s rules for interpreting MIDI) to get everything back from the MusicXML and more.