kenti Posted April 10, 2010 Share Posted April 10, 2010 Dear fellow Logic friends, here's the thing.. Lately I've noticed something weird when playing back external instruments via midi. The midi is constantly fluctuating around a given tempo. Say I record a 4/4 rimshot at 123bpm then align the recorded track to be in sync with the bar/metronome. The first aligned wave is of-course in-sync, but the rest fluctuates randomly around the needed values, sometimes forward sometimes backward. It's never really noticeable like a +/- 1bpm galloping fluctuation, it's a tiny but very annoying fluctuation especially on drums. And it's not just ONE particular midi instrument or audioInterface or Midi Interface. Tried 4 different midi interfaces, 4 different clocks. Tried Logic 8. Erased logic preferences, audioMidi preferences, restarted twice, updated Interface drivers... wtf? Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 10, 2010 Share Posted April 10, 2010 Ok you've tried different midi interfaces etc.. Whats your audio buffer set to in the core audio preferences pane? Try your track again at 32 samples, and see if it's better. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 10, 2010 Author Share Posted April 10, 2010 believe me I've tried 32, 64, 128, 256, you name it, I've tried it. Has nothing to do with Midi interface: Fact. Nothing to do with Audio Interface: Fact. Nothing to do with natural round trip latencies, it's a random fwd. backward. fraction fluctuation: Fact. Nothing to do with Studio-clock: Fact. I'm not sending out any kind of midi sync signals, no MTC, sequencing or the like. Notes/velocity only. This applies to any type of external gear, be it a synth or ANY other midi receiving device controlled via logic. Logic's internal midi is in perfect sync as usual. here's another ongoing discussion, I've started on another forum, I'm not alone on this anomaly as you'll see: http://www.gearslutz.com/board/music-computers/482777-logic-pro-midi-fluctuation.html Quote Link to comment Share on other sites More sharing options...
Minimoog Posted April 10, 2010 Share Posted April 10, 2010 kenti, I think this is due to your audio card,.if i get you. You are looping ext midi back in recording it as audio and seeing an offset. correct? You can search here for "audio offset" fader8 has outlined a detailed thread on audio offset. I dicked around with this but,.gave up. I did find that my audio loopback was about a 1 sample difference. so,.thing is,.tbh...unless you're looking specifically for a discrepancy by doing these comparisions you don't hear it (in my case) when playing a project. external midi devices all have there own oddness, I use a few external modules. They sound great but this technology is 20-some years old unfortunately we are slave to this dated protocol. Now,. Sitting back,...listening to a project, you really shouldn't hear the midi drift in time. IMO, logic has the best midi clocking of any daw and I'm fluent in use with DP, Sonar, Cubase, Nuendo. I at one point was a user of each. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 10, 2010 Author Share Posted April 10, 2010 Thank you for the reply Minimoog. If it were a matter of 1 sample I wouldn't be worried about it at all. We've just established (on another forum) that the minimum latency is 80 sample. you can check out the following screenshots to see that the fluctuation is random and a note will sometimes trigger and record even before it is meant to be "played" via midi but also much later, and all within a single bar. 0) Overview of recorded external device http://img138.imageshack.us/img138/1992/picture3ib.png 1) recorded audio aligned to Bar. http://img69.imageshack.us/img69/8245/picture6kr.png 2) recorded audio fluctuation at 2nd Bar: http://img268.imageshack.us/img268/9894/picture4ou.png 3) recorded audio fluctuation at 4th Bar: http://img232.imageshack.us/img232/631/picture5cd.png Also this has been tested with various recording devices, I do not even use an all-in-one audio card in the classical sense. In this example it's an RME AIO clocked via a Lavry AD-10. Quote Link to comment Share on other sites More sharing options...
David Nahmani Posted April 10, 2010 Share Posted April 10, 2010 It takes about 1ms to transmit one MIDI event through a MIDI cable. @ 44,100 Hz, 1ms = 44 samples. If you have two MIDI events, that's 88 samples. You can't get more precision when using external MIDI. Quote Link to comment Share on other sites More sharing options...
Minimoog Posted April 10, 2010 Share Posted April 10, 2010 wow,..80 samples off is weird, something is just wrong with that,.. btw,..I read the gearsltz thread,...take that with a grain of salt because one clown was posting his midi was playing back and started doing triplets and sixteenths... I mean,...?! still there has to be reasons in your case. I used to use an RME fireface audio card,..no issues really. But is it possible that the driver for your device is not happening? It used to be that Mattias at RME hates Macs,.IMO they are more developed for PC. still. have you tested others DAWS and have you tried other audio cards? Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 10, 2010 Share Posted April 10, 2010 wow,..80 samples off is weird, something is just wrong with that,.. btw,..I read the gearsltz thread,...take that with a grain of salt because one clown was posting his midi was playing back and started doing triplets and sixteenths... I mean,...?! EDIT: My mistake. Thought you were on about the midi tests i'd run. I see the poster saying his midi starting doing jazz time and fox trot swing Quote Link to comment Share on other sites More sharing options...
kenti Posted April 10, 2010 Author Share Posted April 10, 2010 It takes about 1ms to transmit one MIDI event through a MIDI cable. @ 44,100 Hz, 1ms = 44 samples. If you have two MIDI events, that's 88 samples. You can't get more precision when using external MIDI. David, that would be perfectly acceptable if the offset was "constant" or at least unidirectional. In my of recording of 16th single-hit notes it went from (after first 16th aligned to 0 or 1st bar) -30 samples on 2nd hit, to -70 sample on 3rd hit, to -100 samples on 4th to +(PLUS)125 samples on the 5th. This is the very definition of inconsistency and randomness. Of course were I to go on counting offset for the next 20, 40, 100 bars the effect is the same. You can check my screenshots (posted above) for a visual representation of what I'm talking about. Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 10, 2010 Share Posted April 10, 2010 My own tests here, 48k SR, 120 bpm. Sequenced quarter notes, 4/4 time, over 25 bars. So, 100 events. Sending this to an external sampler which is playing back a single pulse in response to each event. I get a jitter value of +/- .505 milliseconds. That includes outliers, it's usually better. I can live with that. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 10, 2010 Author Share Posted April 10, 2010 My own tests here, 48k SR, 120 bpm. Sequenced quarter notes, 4/4 time, over 25 bars. So, 100 events. Sending this to an external sampler which is playing back a single pulse in response to each event. I get a jitter value of +/- .505 milliseconds. That includes outliers, it's usually better. I can live with that. Excellent acceptable values. I'd be happy with those as well. What Logic version were these recorded on? Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 10, 2010 Share Posted April 10, 2010 Excellent acceptable values. I'd be happy with those as well.What Logic version were these recorded on? Logic 9.0.2, OS 10.5.8 running CoreMIDI.framework 1.6.1, Unitor8 with the recent 2.5 driver update from Apple. Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 10, 2010 Share Posted April 10, 2010 Having now set up my recording delay to what I'm satisfied is more or less spot on, i re-ran my midi test. One bar of 16 notes, coming out of a unitor 8 and back into my audio unit via a midi to audio jack cable i wired. 32 samples buffer size, PDC off, software monitoring off, Logic 9.1.1, Unitor 8 with latest drivers. The midi data started at bar 2, and from the screen we can see Logic actually sends out the data 90 samples early. So around 2 ms. (90 divided by 44.1) This test bypasses any midi instrument delay, as it uses a straight midi cable to audio jack. Not good..... Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 10, 2010 Share Posted April 10, 2010 john909kid, I guess I'm not seeing the relevance of your last post. Are you recording the actual MIDI signal for a reason? Is this something you do as part of your production? Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 10, 2010 Share Posted April 10, 2010 (edited) john909kid,I guess I'm not seeing the relevance of your last post. Are you recording the actual MIDI signal for a reason? Is this something you do as part of your production? No... it's just me having too much time on my hands and running tests which attempt to investigate things like midi jitter..... incase it's of interest to anyone. I may get round to making music one day In a perfect world 16ths notes would be spaced apart 5512 samples. So i just did a quick count and i found that from the bar i recorded as audio the timing was more or less spot on. 5510, 5512, 5509.... max variation 6 samples of jitter. So even though Logic is sending midi data EARLY, the rest of the data follows more or less in time. Edited April 10, 2010 by john909kid Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 10, 2010 Share Posted April 10, 2010 My own tests here, 48k SR, 120 bpm. Sequenced quarter notes, 4/4 time, over 25 bars. So, 100 events. . I see you ran a test, except in mine i had 16ths, and i used a midi to audio cable. I think this is a good test method rather than using the timing off a hardware synth which has it' own reaction time to midi data. Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 11, 2010 Share Posted April 11, 2010 If anyone's interested I ran some test in this thread http://www.gearslutz.com/board/electronic-music-instruments-electronic-music-production/131654-what-best-daw-midi-6.html similar to the above one. Really to test how tight, or not Logic is with midi hardware synths. Post 159 onwards is where it may be of interest. I also ran Logic under heavy CPU load, and the timing still held up. Problem now is this midi starting early thing which is bugging me... PS i'm Jauqq in the other thread. Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 11, 2010 Share Posted April 11, 2010 My own tests here, 48k SR, 120 bpm. Sequenced quarter notes, 4/4 time, over 25 bars. So, 100 events. Sending this to an external sampler which is playing back a single pulse in response to each event. I get a jitter value of +/- .505 milliseconds. That includes outliers, it's usually better. I can live with that. Have you tested to see if your midi data starts on time? ie not before the start of the bar. Ski's post in this thread shows this has been going on for some time... http://www.logicprohelp.com/viewtopic.php?p=202696 Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 Have you tested to see if your midi data starts on time? ie not before the start of the bar. Ski's post in this thread shows this has been going on for some time... http://www.logicprohelp.com/viewtopic.php?p=202696 Yeah, you'll see my old sync method further down the page in that thread. I think this is a good test method rather than using the timing off a hardware synth which has it' own reaction time to midi data. Well, I'm only concerned about the whole round trip time, and how much it deviates from it, in context with each synth or sampler. Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 11, 2010 Share Posted April 11, 2010 Kenti, I had a look at the midi interfaces you were using and noted that none of them were of the old Emagic interfaces. Both Fader8 and myself have confirmed we'e getting very minimal jitter (even though notes start early for me... ignore that for now) and you'll also see we both use old Emagic Unitor interfaces. Many people have stated that midi timing was great under Logic 5 using the old AMT time stamping Emagic used back then. And now you'll even see that Apple releases drivers specifically for the Unitor family of interfaces. I believe these latest drivers are just updates of the old AMT code from Logic 5. The code was solid then, so it wont take much to update it to work with the same interfaces today. It may be an idea to try and test your set-up with an old Unitor 8 mk2 or AMT 8..... Just a thought. Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 11, 2010 Share Posted April 11, 2010 Yeah, you'll see my old sync method further down the page in that thread. Had a look over your method, but to be honest i'm a bit lost. Any chance you could up a Logic song file with things set up as you described please? I'd like to investigate this. Thanks Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 believe me I've tried 32, 64, 128, 256, you name it, I've tried it. Has nothing to do with Midi interface: Fact. Nothing to do with Audio Interface: Fact. Nothing to do with natural round trip latencies, it's a random fwd. backward. fraction fluctuation: Fact. Nothing to do with Studio-clock: Fact. kenti, In none of your posts in this thread do you state what version of Logic, what MIDI interface, what audio interface, or what methods you used to test. Had a look over your method, but to be honest i'm a bit lost.Any chance you could up a Logic song file with things set up as you described please? I'd like to investigate this. Thanks Some things have changed in Logic 9 and I haven't had a chance to calibrate a sampler yet, so I'll look into it today and post back. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 11, 2010 Author Share Posted April 11, 2010 In none of your posts in this thread do you state what version of Logic, what MIDI interface, what audio interface, or what methods you used to test. Logic 9.1.1, Logic 8.0.2 Midi Interfaces: RME AIO, Midisport 2x2, Motu Traveller Mk3, E-Mu Xmidi Audio Interfaces: RME AIO, RME 9632, Motu Traveller Clocks: Lavry AD-10, UA 2192, RME AIO, RME 9632 External Devices: Moog Voyager, Poly Evolver DS, PC with V-stack and Cubase 5 as sampler Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 Thanks kenti. Method is important! When I use the external instrument plug-in, then real-time bounce the track, my round trip delay (MIDI to audio captured) is about 563 samples. If I create an external MIDI track, then record in real time to an audio track, that delay becomes 333 samples! (Note: 48k, buffer 64) Something else I've discovered . . from the manual: Common Instrument Parameters The following parameters are available for both software instrument and MIDI instrument channel strips. • Delay: The Delay parameter allows you to compensate for any differences in reaction time between your various MIDI devices, or to create offsets between channel strips. The parameter contains a pop-up menu with the following two settings, common to both software instrument and MIDI instrument channel strips: • Delay in Ticks: Sets the instrument delay in ticks, with a range between –99 and +99. • Delay in Milliseconds: Allows the user to set tempo independent delays (or pre-delays) in steps of 0.1 milliseconds, with a range between –200 ms and +200 ms. This setting does NOTHING in Logic 9.0.2 if you are using the External Instrument Plug-In. So, in order to avail yourself of the new instrument "Delay" parameter, you must use external MIDI instruments by sequencing an external MIDI track, not a software instrument track using the external instrument plug-in. But the Delay setting in the instrument common parameters in the inspector is the key to tightening up external MIDI device response. I'll post a procedure shortly. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 11, 2010 Author Share Posted April 11, 2010 I'm not using an external instrument plug-in. I'm using a regular external midi track, and recording to an audio track. The round-trip latencies are of no concern to me as I'm aligning the recorded result manually to be in perfect alignment with the 1st bar. If you check my screenshots you will see exactly what I mean. If the problem were round-trip latencies or predictable/constant offset, well then there would be no "problem". The actual problem is the wildly varying offset, as in -30/+125 samples between 3 quarter notes. If I record a simple 4/4 bassdrum it's galloping like a retarded drummer. EDIT, here are the screenshots so you won't need to scroll through all the previous posts: 0) Overview of recorded external device http://img138.imageshack.us/img138/1992/picture3ib.png 1) recorded audio aligned to Bar. http://img69.imageshack.us/img69/8245/picture6kr.png 2) recorded audio fluctuation at 2nd Bar: http://img268.imageshack.us/img268/9894/picture4ou.png 3) recorded audio fluctuation at 4th Bar: http://img232.imageshack.us/img232/631/picture5cd.png Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 The actual problem is the wildly varying offset, as in -30/+125 samples between 3 quarter notes. If I record a simple 4/4 bassdrum it's galloping like a retarded drummer. I agree, 3-4 mS of jitter is too much, particularly if it's happening all the time. What OS are you running? What version of CoreMIDI.framework? Open Audio MIDI Setup, there's a menu item called "Core Audio Versions" and that's where you'll find it. Is anything sharing the USB port with your MIDI interface? I just recorded a spike on my sampler from a 100 event MIDI track 12 times, then bounced all 12 tracks together. The pic shows the 2 max jitter amounts I got on these runs collectively. Most were much tighter. 62 samples was the worst case. The tall spikes show where the sample hit 2 or more times in the same place. Quote Link to comment Share on other sites More sharing options...
kenti Posted April 11, 2010 Author Share Posted April 11, 2010 fader8, just wanted to thank you for helping so far. I think it's an issue many users could also benefit from. My CoreMidi Framework is 1.6.1 I'm on 10.5.8 In the case of RME AIO's own midi port there's no USB sharing the port, it's PCIe, by default that's my midi interface of choice for external devices. Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 My CoreMidi Framework is 1.6.1I'm on 10.5.8 OK, same here. That's good, ie apples to apples, as it were. Wow, I just did the same thing in Ableton Live 8. Rendered 10 tracks from a MIDI sequence of quarter notes. Took all those audio files and dropped them into Logic, bounced the mix of them to a single file. About a third of them were bad, and I mean bad! You'd almost think there was some kind of random swing applied. 625 samples is over 14 mSec's at 44.1k! That's an outright flam. Here's a pic of the typically bad jitter examples from Live 8: Quote Link to comment Share on other sites More sharing options...
john909kid Posted April 11, 2010 Share Posted April 11, 2010 [What version of CoreMIDI.framework? Open Audio MIDI Setup, there's a menu item called "Core Audio Versions" and that's where you'll find it. You mean to open the Audio MIDI setup from the Utilities folder? Ive opened that but cant see anywhere about "core audio versions".......?? Id be interested in what version I have too. EDIT: I've found it, it's ok. My CoreMIDI framework is version 1.7 It's found under the preferences> Info tab in the audio midi setup. Quote Link to comment Share on other sites More sharing options...
fader8 Posted April 11, 2010 Share Posted April 11, 2010 Like this: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.