The reasons and the Hardware
Hi everyone, i'm an old Logic TDM user, i've worked with Logic TDM for about 15 years and obviously i was not very happy when Avid/Apple have decided to drop the TDM Feature for Logic, but also i was not happy about the limitation of that, as the ESB had only 8 mono outputs to route into the TDM mixer, and in addition TDM was very unstable, many TDM plug-in caused logic to crash or had graphical issue.
For this reason, even before the announcement that logic TDM feature will be dropped, i've changed my workflow and i've started using Logic in core audio + Pro-Tools HD synced, using apple's "Spaces", desktop 1 i have logic, desktop 2 i have pro-tools.
I binded the desktops to my 3rd and 4th mouse buttons in order to switch quickly between them.
i've got a MOTU 2408mk3 that has 3 ADATS, and i've got an old ADAT BRIDGE 24 from Ebay that i've connected as legacy to my digidesign 96 interface, in this way i have 3 adats going from and to Logic/pro-tools, basically i have 24 mono outputs to route into pro-tools that is much better than the 8 available with the ESB.
I've got also another 2408(mk1) from a friend of mine and i have connected another 8 analog outputs to my 96i in order to have another extra 8 analog channels to send, just in case i'm running out of the adats (happened very few times honestly).
I have also the ability to route back into Logic but is a feature that i use very rarely, also because you have to manage a double roundtrip latency going to and back in, but it's possible to do it just in case you need that, with Logic TDM that was impossible to do.
Hardware Speakng i use Pro-Tools master clock and i have got more Word Clock cables, the 2408 then is slave clock from the pro-tools interfaces.
For this reason you have to open Pro-Tools before Logic in order to set up the clock source. if you open Logic before Pro-Tools you'll get a very bad audio playback in logic, the sound will be distorted and out of sync.
Another nice feature using this method is about the Mac internal stereo out, i've changed it from internal to my MOTU, so i have all the audio going into pro-tools without using any cable from the internal output, so for example i can preview any external application (like Metasynth for example, or Audacity or even Itunes or Quicktime) directly into pro-tools and to my speakers, this is crucial for me because i have an equalization on my speaker's out in order to linearize the output and compensate for my (bad) studio resonances, it's a selfmade method using a sine wave in Reaktor + a linear microphone, very similar to the method used by IKMultimedia Arc system, but much more precise, also i've made it 10 years ago, way before ARC was released (but this is another story i will discuss another time if you are interested).
Sync Logic and Pro-Tools throu MTC
As i have both programs on the same machine i'm going to use the internal IAC bus as midi device to send the MTC signal from logic to Pro-Tools, i use logic as master for 2 reasons: the first reason is that it's my main workflow and also i have 2 logic controls so i have logic transport right on my hand, the second reason is that latency between logic and pro-tools it's constant overtime during playback, while if you use Pro-Tools master and logic slave the latency changes slightly overtime, and this is something i don't want to happen.
Here are the settings for Logic
Make sure that bar 1 1 1 1 is set to 0:00:00:00 as smpte time.
Settings for Pro-Tools
As you can see ai've set a sample offset of -500 samples, as in logic my buffer is 512samples, i suggest to set that offset to a value a bit smaller than your current buffer size in logic, so if you use 256 for example i would put that at -240
Now just enable the online button and make sure you have the same bpm for both daws
Now Pro-Tools should be synched with logic and you can control it from the logic transport.
now just for testing choose an audio track and load it in both Logic and Pro-tools
press play, you will notice that there's a flanger effect because tracks are not synched perfectly, now stop and press play again, you will notice that the flanger effect has changed, this means that the sync between the 2 daws changes everytime you press play, this is a logic problem cause i've experienced the same issue using midi clock and synching logic with a PC laptop running Bidule. The good news is that it doesn't change overtime, as you can hear the flanger effect is equal during the same playback.
Until you use Pro-Tools just as a mixer or to make some simple automations is not a big problem, we are talking about some hundreds of samples and you will not notice it if you are using it just for some automations, but if you need to make some advanced automations that requires to be perfectly in sync with logic, or for example if you want to use some pro-tools instruments or audio tracks it can be a problem.
On most of my projects i leave it as is, but sometimes i needed sample accuracy and here's a way to obtain it:
Getting sample accurate sync with Logic and Pro-Tools
In order to get sample accuracy you need the following:
-1 mono digital out from logic to pro-tools
-1 stereo digital out from pro-tools to logic
-Plogue Bidule plug-in version http://www.plogue.com/products/bidule/ 75euro+VAT
-NI Reaktor 5 http://www.native-instruments.com/#/en/ ... reaktor-5/ 379Euro alone or 499 the Komplete 8
-Voxengo Latency Delay http://www.voxengo.com/product/latencydelay/ FREE plug-in
Now the configuration will be a little tricky for the first time, but once you have done it you do not have to do it again, you just save the logic and pro-tools projects as autoloads and then you will start from those projects in the future.
In order to make it work you have to enable delay compensation on both daws, for logic is required while for pro-tools is optional, i mean, if you enable it in pro-tools this method will recognize also that compensation and will keep the sample accuracy.
The method works in this way, logic send a clock signal every beat throu an audio file that is a simple square that goes to +1 at every beat, pro-tools have the same clock on an audio track, then both clocks will be sent again into logic, the stereo input will go into bidule plug-in in logic and will be analyzed by Reaktor (inside bidule) that will calculate the latency, then reaktor will send midi signals to all voxengo latency delay plug-ins in order to delay compensate that latency and keep the sync.
Basically you need 1 voxengo latency delay to be inserted on every logic channel, and using the "controller assignment page" Bidule will send the amout of delay compensation to each plug-in in order to keep the sync using its internal virtual midi.
So, download the zip below that has all the required files.
Now start a new project in logic and add a mono audio track, take the "clock shot.wav" file and put it on every beat, for convenience i'm using audio 255 as audio256 is used to preview audio when you are in the edit window.
now pack it to a folder and enable loop
also add it to hide track so you will be able to remove it from the arrange as you really don't need to see it anymore.
do not merge the audio shots to a bigger file because if you have to change bpm you have to do it again, pack as a folder instead.
Set the output to the one you want to sacrifice for the sync, in my case is adat3 (adat1-2 is used to preview apple loops for example, and also i have the mac out that comes in input 1-2 in pro-tools), and leave the volume at 0db.
Remember also to enable the solo bypass (the red bar on the solo button) as you want this channel to always send the audio to pro-tools also when you are in solo somewhere else.
Now in Pro-Tools make a new project and create a mono aux input and use the same channel going from logic as input (in my case adat3)
As output it has to go to the right channel of the stereo output you want to sacrifice to get the sync,in my case i'm going to use pro-tools adat out 1-2, so i will set the output to adat2.
Now create a new mono audio track and use the same clock shot.wav on every beat like you have just did in logic, group and repeat, i repeated it up to 10 minutes as i've never made a track longer than 10 minutes so it should be enough at least for me.
leave the volume at 0db and set the output to the left channel you have chosed to use, in my case is Adat 1, you will have something like this, the audio track, the audio input from logic, and the output.
Remember to Solo Bypass both channels as you want those channel to send the clock even when you are soloing something else, use command click on the solo button to enable solo bypass (it becomes greyed out).
you can now hide those tracks aswell in pro-tools as you will never need to see those again
Ok now for pro-tools you don't need to do anything else.
Now back to Logic, create the stereo input in order to receive the 2 signals back, and load bidule on insert, open bidule and load the patch in the zip i have provided, then open reaktor in bidule and load the patch i've provided too.
you don't need to set the output as this channel is used only to calculate the latency and to send the values to voxengo plug-ins
If you try now pressing play it should already works and you will see the current latency, stop and play and you will see that the latency value in reaktor changes, that latency value is the value you have to assign to voxengo latency delay in order to reach sample accuracy, you can do it manually but if you have several channels it become a pain, so now we will set up logic in order to automate the process and it will set up the values in latency delay automatically.
As you cen see from the bidule layout Reaktor's midi out is going into Bidule AU1, that is a virtual midi channel that Bidule creates automatically once you insert it in Logic as plug-in.
So now let's put a voxengo latency delay on an audio track, you can load the same audio track also in pro-tools so you can hear the results.
what we are going to do is to link the values in reaktor to the sample values in voxengo, i've chosen some rarely used midi ccs, 123,122,121 and 120, as you can see from the screenshot below 123 will go on the x1000, 122 on the x100 and so on..
in order to reach this we have to use the controller assignment page in Logic, you can find in under logic/preferences/control surfaces/controller assignment
Make a new zone and call it "latency delay" or whatever you want to name it.
now turn on the assign button in Reaktor.
now press the learn button on the bottom right of the controller assignment page, move the x1000 SAMPLE slider on voxengo and then press the x1000 button in reaktor, turn off learn mode.
you should have something like this
now repeat the same procedure for the other 3 knobs, remember to turn off learn everytime you have made a new assignment.
Once you have done turn off the Assign button in Reaktor.
Now you have nearly finished, just select every new assignment you have done and change it like the one below, basically you have to change the channel strip value and put it as "index" and value 1, do it for all 4 assigments.
Doing this you have said to logic to change the value of the latency delay on the first channel of your arrange, what you have to do now is just to copy paste the 4 assignments you have made for the desired number of track you are planning to use in your project, just paste and change the index to 2, then paste again and change index to 3 and so on..
this is an example for the first 4 tracks of your arrange:
If you have not voxengo instanciated on your track it simply does nothing, once you insert it it will recognize and will automate it accordingly.
do some tests and see if it's working, you have finished.
if you try press play now the tracks will not flange anymore, they will be perfectly in sync with an approximation of +-1 sample.
try inserting some plugs that has latency on both pro-tools and logic, you will see that the sync will be kept, at least until you go over the maximum allowed latency in pro-tools, on pt 8 and 9 it's 4096 sample (that's so stupid why there should be a limitation? we will never know)
Another solution for the Voxengo Latency Delays is to put a voxengo on every Output that goes into Pro-Tools instead of every Track, if you use a lot of channels in Logic you may find this solution more clean, easy and less invasive, if,like me, you have 24 mono out from 3 adat for example, you just need 12 voxengo latency delays on all outs and you've done.
Rememeber that the Sync audio track signal must not have the voxengo latency delay, so in my case for example i have to split the stereo output 3-4 and put the voxengo only on the out 4.
I have not tested this solution yet, but it should works, i'll test it next time i need that.
Lastly, go into Enviroiment and click & ports, disconnect the "sum" output from the sequencer in, else you will record the bidule cc used to automate the plug-ins when you record any midi track, so connect to the sequencer in only the midi input you need, in my case i've connected only the midi in from my amt8*2 interface, the Iac Bus and the Network Session.
Also i use a BCF2000 in babyhui mode in order to have a controller also in pro-tools (mainly to have the faders for my multiple speaker's out), you have to remove also that from the connection else the babyhui will send random notes to logic.
A couple of Notes:
1 - if voxengo doesn't receive all the signals correctly, for example 1 knob is not moving, just move it with your mouse once, then it will work forever.
2 - the controller assignments are saved into logic preferences and not into logic project. I have had in the past some problems of preferences corrupted when i had to many latency delay assignments, so for safety just make a backup of your logic preferences before doing this, if your logic quits unexpectedly when you open it just replace the preferences with your backup and you will be ok.
I suggest to make a backup before doing this and also make another backup once you have setted up everything.
the files are in your library/preferences/
3 - the wav file is 16bit format, if you plan to work in pro-tools at 24bit you have to convert it to 24bit for pro-tools, pro-tools doesn't accept multiple bit depths on the same project.
important notes about Pro-Tools versions and compatibility
-if yoy plan to get an old ADAT Bridge 24 please note that support for that card has been dropped with Pro-Tools 9 so you will be stucked with Pro-Tools 8.x
-Pro-Tools 8.1.1 is bugged and it drops the sync connection, latest working Pro-Tools 8 version that syncs properly is 8.1cs2
That's all and hope this helps all logic tdm users that doesn't want to drop Pro-Tools TDM yet.
If you have any question just ask.
and sorry for my english i did my best !!
edit 25/10/2012: added notes about Pro-Tools compatibility and bugs
edit 11/12/2011: removed download link, you can find it on my new website, riccardoferri.net