Importing from Logic Pro X

Perhaps there are other users out there who’ve already solved this one …

Trying to import projects from Logic Pro X but can’t seem to find a way that is successful/workable. Tried to import music XML files - worked one time, but the results were scary to say the least! :open_mouth: So, tried importing another, less complex, piece and Dorico just hung - despite numerous attempts, it refused to open the file and eventually I had to Force Quit each time.

So I tried importing the individual instrument midi files. It worked once, but Doric thought my Double Bass ostinato might be better played by a flute! :confused: So, I tried to change the instrument voice … but there doesn’t seem to be an intuitive way to do it. Surely there must be a way, and I’m just missing it. In any case, I’ve tried numerous times since and I can’t get the midi file to even open now!

It’s probably a user based issue, but the manual seems to be a little scant on details regarding the correct ways to import midi and xml files. I thought that following the “import” dialogue prompts would have been sufficient … but apparently not in all cases.

Unfortunately there seem to be some bugs in Logic Pro X’s MusicXML export. I have a couple of files to pass along to my contact at Apple who can hopefully do something about the problem, but if you would like to send me your files as well, I’d be happy to pass them along.

The basic nature of the problems we’ve seen so far seem to be that the duration values in the MusicXML files overflow, resulting in enormous negative durations that cause Dorico to get its knickers in a twist. Unfortunately the large negative values are not technically invalid as far as the MusicXML schema goes (in which case Dorico would refuse to load the files earlier) but they definitely look wrong and I don’t think it’s reasonable for any application to be expected to open them in their present state.

Thanks for your reply, Daniel!

I know that Logic’s MusicXML files can be imported into Sibelius and Finale without too much fuss - there are many Logic users out there (perhaps the majority who require score notation) who are also Sibelius and Finale users - just take a look on this board. And Sibelius’ and Finale MusicXML files seem to play nice with Dorico … so there certainly is a solution! But it seems a bit counterintuitive (not to mention costly) to now go out and buy Sibelius or Finale just so that I can import MusicXML files into Dorico! :smiley:

In any case, if rumours are to be believed, didn’t the Dorico team originally come from Sibelius? Surely, armed with the intimate knowledge of the way Sibelius handles MusicXML files, I would have expected that the same robust file handling would have been built into the core foundations of Dorico as a matter of basic functionality - MusicXML, after all, is the industry standard format - the format that the overwhelming majority of users will be importing into Dorico! If both Sibelius and Finale don’t have issues reading Logic’s MusicXML files, then surely Dorico shouldn’t either. But, perhaps expecting this basic and fundamental functionality is expecting too much from the “Gold Standard”! :unamused:

Daniel, without the ability to do this most basic of tasks, I can’t even get out of the starting blocks with Dorico.

And, as you said yourself, Logic’s MusicXML files are “not technically invalid as far as the MusicXML schema goes” which means that they’re valid - they conform to the industry standard specifications of the MusicXML schema. Daniel, we’re not talking about arcane file types here, MusicXML is an ubiquitous file format within this industry and has defined specifications. Because it’s the industry standard, Dorico needs to be robust in handling this file format - it’s “ground zero” functionality! If you get it right now, you’ll save yourselves an awful lot of headaches later - trust me on this one! :wink:

Graeme, just because a file is not technically invalid as far as the schema goes, that doesn’t mean that the data it contains is valid. For example, the element in MusicXML is supposed to be an integer number, a multiple of the current value, which can be changed as part of a element’s element. The schema doesn’t specify what the upper limit for is, and therefore what the upper limit for is, but it’s a pretty safe bet that when Michael Good designed MusicXML he didn’t anticipate developers writing overflow bugs that cause large positive integers to wrap around to massively negative integer values, which is what is happening with at least the Logic-produced MusicXML files I’ve seen so far.

MusicXML files produced by different applications behave in very different ways, as MusicXML is a very loosely specified format, which is both a strength (it’s easy to implement something) and a weakness (it’s hard to implement in a way that meets best practices, because the best practices are poorly documented and understood).

We will do our best to make Dorico resilient to the bugs in other applications’ MusicXML export, but the fact remains that the fundamental problem here looks very much like a bug in Logic’s export.

Once again, I invite you to send me the MusicXML file(s) that are giving you problems, and I’ll take a look to see if they exhibit the same overflow bug we have observed in other files.

For what it’s worth, I’ve had really good experience with import from a Logic Pro X Music XML file. I loaded one particular score with 63 instruments and 275 bars. The .xml file size is 42MB. The corresponding Dorico file size is 15MB. There was only one import issue. In four places when importing note C-1 Dorico complained that the octave was out of range. Logic represented -1 as 255 and Dorico thought that was too large a number for an octave. Dorico assumes octaves are in the range 0-9. Logic assumes -1 to 8. So it ignored those notes. But otherwise imported fine. Moving around in the score is fast, but editing anything is pretty slow. But the import looks accurate (for what it does import).

Thanks for your reply, Daniel!
And thank you for the explanation … although you might as well have been talking to me in Swahili for all the sense it makes! :laughing: I’m a composer, not a coder!
One thing I do know though is that if Sibelius, Finale and Logic can all open Logic’s MusicXML files, then surely Dorico should be able to as well. If it wishes to be competitive in the marketplace, it needs to be able to do that. I did a quick test last night and even MuseScore, the freeware notation programme, can open Logic’s MusicXML files. It seems that all the programmes I’ve personally tried, or know about, are capable of handling Logic’s XML file output (admittedly, with varying degrees of complaint!) … except Dorico.
When I have more time I’ll do some tests to see whether stripping out all the dynamics and articulations, importing it into MuseScore, then re-saving it makes any difference to its compatibility with Dorico.
I’m quite happy to send you the file, however I’m reluctant to post it here, publicly, where anyone can download it. It’s a piece that’s slated for its world premiere in just over 8 weeks in Europe (not particularly fond of Europe in winter - especially coming from a southern hemisphere summer!) And it’s subject to an NDA, copyright, blah, blah, blah …

Hi dbudde!
I’m glad you’re having some joy with it - gives me hope! :smiley: The file I’m trying to import is nowhere near as large as yours - 122 bars, 12 parts and the file is only 1.5Mb. I have no idea why it won’t open it … I do have DB playing C-1 … could that be it? Or maybe I’m just not holding my mouth the right way! :laughing: From my very limited experience with Dorico, it seems to be very capricious in its current state. Sometimes it will open a file, yet a minute later, it won’t have a bar of it! (Excuse the bad pun!) “Computer says ‘No’!”.

Daniel et al,

Do you know if “fixing” the quantise before exporting the .xml from Logic helps the situation ?

Regards

Dave Hage

Graeme: stripping out dynamics and articulations won’t help, I’m afraid: it’s the durations of the notes themselves that are in a state.

Dave: it’s possible that doing some kind of quantize operation in Logic would help, if it changes what Logic thinks the durations of the notes are. Graeme, I wonder whether you could try quantizing your sequence before you export it to MusicXML?

Thanks for the advice everyone!
Quantising seems to have done the trick! Have spent the last 2 days going through the entire score (15 parts, 703 bars, 126 pages!) quantising the life out of every single note! :laughing: All of them now start exactly on the beat and go for exact durations - not a millisecond out! I didn’t put any other data in the document except, time signature, key, BPM, and set it up for A3. Does Dorico default to a specific page size?
Another thing I found out, after doing a bit of research into Logic Pro’s XML export “quirks”, is that exporting works best from a fresh start. It seems that if it’s been running for a while it will occasionally corrupt the exported file.
I was surprised, given the size of the piece, that it actually opened at all in Dorico, let alone in a relatively short time. I was even more surprised that the whole thing actually played … well, missed the odd note here and there, but it wasn’t too bad. Not a fan of the HALion samples. Awful! They won’t be replacing mine anytime soon! :laughing:
BTW, does the XML file contain any volume or velocity data? The reason I ask is, that on playback, the brass is quite soft while the Double Basses are completely overpowering.
Looking forward to exploring more …
Thanks again! :smiley:

Dorico doesn’t currently import the page size and staff size information from MusicXML files, though we plan to do this in future.

MusicXML files can contain some basic MIDI-like performance data, but I don’t know whether Logic encodes this, and in any case, at the moment Dorico doesn’t import it.