Logic and Dorico workflow?

No it’s a fundamental Logic architecture problem. This is for using Logic as a backend to Dorico (because the reverse is kind of pointless as far as I’m concerned), as Logic (or Cubase) is used for further MIDI programming after the music has been written. In Logic use as many IAC ports as you wish, just fine a big orchestra comes in over those, however they all get combined into one internal master MIDI port with 16 channels. To do this at all you have to do some MIDI Studio futzing, but in MIDI studio there’s no way to fix the fact that the original MIDI architecture is lost. Well technically the problem is the Logic internal Sequencer, you DO get all the original ports/channels in MIDI Studio, but then when you try to route it through the internal sequencer to the individual tracks is where it’s decimated to the single port.

Doesn’t matter with me as I’m done with Logic regardless. By the way in Cubase/Nuendo the operation above is trivial, just select a MIDI input port/channel for your track. In Logic you can only select … CHANNEL! Thank you Logic :slight_smile:

IAC comes into LogicPro on separate ports. It is true that they will be funneled through a single sequencer object in the environment in order to record them to tracks. But you don’t have to do that, you can wire up the ports directly to mixer channel strips and then have all your many ports (bypassing the sequencer).

Yeah did that and it works fine for pure playback, however try to record the MIDI as a ‘print’. Dead end. Anyhow matters not anymore for me …

If this is just meant to be a complain-about-logic thread, then I’m out. That is not constructive. Some of us want to use Logic sometimes. I happen to use both Logic and Cubase, they both have their merits and faults.

Well somebody asks how to use Logic with Dorico and forum members discuss the issues they’ve had with doing so, which was the question wasn’t it?

Regarding midi file tempo map export/import, I have been trying to test this between a few different DAW’s;… I actually like to use DP for developing tempo maps because they have the best tools, currently, for that kind of thing. But when I export midi file from DP for tempo map, and import it into Dorico, the frames don’t quite line up exactly in the same place. They drift off over time, this is after making sure I was using the same frame rate, etc…

I concluded that going through the midi file process causes some conversions to take place. The midi files are commonly exported from many DAW’s at 480PPQN for one thing. And then the marker events have to be recalculated on import to the see where they line up as a locked SMPTE marker in Dorico (or another DAW for that matter). 480ppqn, however is plenty of resolution to get it correct within a typical ~30 frame/sec SMPTE frame…so… that doesn’t totally explain it…but what I can say is that my export/import from DP to Dorico didn’t work exactly accurately…to the point that I would personally rather just manually enter in the hit points and tempo changes into Dorico after working out the tempo map in DP…by hand. Yes, it takes a little time, but I feel that the midi file conversion in that process simply brings in too much chance for error since it is not represented in the midi file in locked SMPTE time, its represented in a PPQN manner.

I had similar problems export/import tempo map from DP to LogicPro. In that case, DP uses so called cue points and LogicPro didn’t even know how to read that. In order to do it, I had to create my tempo map initially in DP with locked markers…then just before export, convert all the markers to non-locked markers…then export that…which exports a different kind of marker event in the midi file which LogicPro DOES know how to read. Then once its in LogicPro, lock it again… will the resulting locked SMPTE frames be exactly the same as it was in DP when I worked out the tempo map? not always.

If you have a file that shows this behaviour of the time drifting out then we would be very interested to see it. We base all timing calculations on the tempos defined as they are in MIDI files (as microseconds per quarter note, rather than in BPM), so there shouldn’t be any rounding errors.

FWIW Near as I can tell, neither LogiciPro nor DP are exporting midi files with the SMPTE frame rate at all in the header. They are all using PPQN, regardless of what I have tried to do during the export process in both cases.

Looking at the actual binary midi file, I can inspect the header entry and every time I export from either program, regardless of the various frame rate settings, the division bytes are set to 0x01e0, which = 480 ppqn.

It is definitely is up to these daws to convert locked markers to non-locked beat position delta times during export, according to the tempo, frame rate, etc… and its up to Dorico to re-interpret that during import into smpte locked markers according to the frame rate in Dorico… which may be wrong if you don’t have the frame rates in both programs in agreement, I think at the time its imported…not entirely sure about that. Somehow that is why I ended up with an incorrect import, but its not entirely clear to me right now what the exact steps would be to ensure an export/import will be accurate every time.

I don’t know if many programs out there are actually using the SMPTE frame based midi file header… But I am probably looking into the wrong place in the midi file perhaps not sure…

One test could be to re-import the MIDI file into Logic or DP and set the frame rate manually to see if it’s in the same position.

I think it’s a matter of making sure the frame rates are set exactly the same in the export and import and then trust the conversion through the midifile will work out the same.

In the past few days I have done a lot of research about midifiles and the feature supported by midifiles for using real-time smpte frames as the deltatime instead of PPQN. It was very interesting but not a single Daw I tested exports midifiles in that format. They all use PPQN, usually at 480; but they are all based on the tempo and ppqn.

I tried to manually create a smpte based midifile by using midicsv, I could correctly encode a midifile with a smpte frame rate instead of PPQN, and then I could manually put in a few markers in the csv, to see what happens on import to a few daws. Results were all bad. Dp crashed, logic imported nothing. Dorico and reaper imported markers in the totally wrong place. It’s possible that reaper or dorico were doing something right since they at least imported something, it’s possible the midifiles I made were not correct in some way but I don’t think so. Reaper and dorico both interpreted them differently also

In short what I can say is that while the midifile spec supports the ability to code midifiles in real-time smpte frame and subframe precision; none of the mainstream daws are using that approach, it’s a midifile feature that is simply not being used by anyone as far as I can see.

We have to assume midifile transfer of tempo tracks will go through a conversion process where marker locations are converted to tempo+PPQN type of representation during export and then during import dorico will convert it back to a fixed smpte frame. I think in that process we must make sure to set the frame rate in dorico before doing the import and after doing the import check it again to make sure it didn’t get changed somehow

Dorico seems to make assumptions about frame rate even when the midifile does not have any frame rate encoded in it. I have no idea how or why. So I still do not have an ironclad procedure to follow to ensure the markers will end up in the same place in dorico due to frame rate assumptions, but sometimes I got it to work right and sometimes not.

In the future I will try to methodically figure out exactly the steps to ensure correct conversion,

It does seem that the alternative MIDI file encoding to use timecode positions isn’t well supported. In my 20+ years of developing MIDI import and export I have never encountered any requests for it, until now.

The Dorico project has a frame rate which (as I recall) is initialised when you attach a video. MIDI files don’t actually specify the frame rate.

Perhaps then the issue here is that you need to create a new empty project, then set the frame rate, and then import the MIDI file into that project? This would then use the correct frame rate when calculating the marker positions.

To be clear I wasn’t requesting that. You suggested earlier that it should be possible so I tried it out. But I found it’s not possible.

I also learned about the SMPTE-frame timing mode of midifile spec in the process, so thank you for mentioning it because previously I did not even know the midifile spec supported that. It was interesting to learn about and try out, but I’m just saying…it doesn’t work between ANY of the DAW’s I tried… So it appears to be a part of the midifile spec that basically nobody is using.

I happen to think this particular use case would be the perfect use case for that mode, but it can only work if all the various DAW’s and tools also support that mode…so its kind of a moot point.

Back to topic…when I get more time I will try to do more methodical testing of Dorico together with LogicPro and other DAW’s doing export/import, keeping track of the frame rates as they are set in each place while doing so and keep notes of what happens. I don’t have time to do that any time soon…but perhaps I can draw some conclusions.

The only reason I spoke up on this thread was because the original question was about importing tempo maps…and I just think its important that people realize, its not a foolproof process…you have to be aware of certain factors to be sure the import will be correct. This includes between all the DAW’s as they all seem to have slightly different nuances about the way they export and import midi files.

Hi Benwiggy,

Sorry this took a while. So, I often use Logic Pro and Dorico at the same time and it causes Dorico to crash quite often. Often there are problems with sound. If Logic is already on when I start Dorico, there’s no sound. Sometimes I get it working changing the sample rate to 44.1 and then back to 48. But often Dorico crashes when I try to change it back. Another common problem: Dorico doesn’t recognize my Akai MPK Mini keyboard if it’s already attached to the computer (as it usually is) when launching. When I disconnect and connect again, Dorico crashes. Find the diagnostics attached, please. (Dorico crashed few times because of the reasons mentioned before and I printed the report after re-launching the software, I hope it helps).

Best regards,
Tero

Dorico Diagnostics.zip (405 KB)

Unfortunately there are no crash logs contained inside your diagnostic report. I’m not sure why that would be.

You should try to determine why you are experiencing a sample rate mismatch. Another application on your computer must be changing the sample rate. Can you check each audio-related application you use and make sure that they are all set to use the same device and sample rate? That includes applications like Zoom or other video conferencing software.

Hi everyone, I’m wondering if anything has changed/improved on this subject, since the last time it was discussed?
I’m wanting to use Logic & Dorico synced.

There are plenty threads on this forum discussing this very subject of sync and they all point to this plugin : TXL Timecode Plug-In - Single Device - TXL20

This works great when properly set, and allows you to have Dorico being the master of Logic.

1 Like

Thanks for your reply.