MIDI "Jitter" - It Does Exist

Page: < 12345.. > >> Showing page 2 of 18
Author
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 02:01:51 (permalink)
oh another thing you can try is to get one of the midi interfaces that has hardware midi timestamping in it. There are a few. however, I'm not sure which ones have drivers that will get those timestamps all the way into Sonar.

I use a MOTU Midi timepiece, which I believe *DOES* have hardware timestamping in it....and once upon a time I believe I asked MOTU about whether or not it sent the timestamps through the driver, etc..and they said yes it did..... so in theory...when I hit a midi key...the minute that MOTU hardware gets the midi event, it timestamps it and then the driver and Sonar can add it to the track in its own good time, with something that is very close to when I originally played it. However I have never actually tested this or confirmed with Cakewalk that hardware timestamping from the MOTU MTP is actually being used properly by Sonar. Nonetheless, that is really crucial to have one of those if you are doing real time performances.

If you are mostly programming stuff and its jittering on playback, I'm not sure what to tell you. Try longer buffer settings and freezing your tracks whenever you can.




post edited by dewdman42 - 2007/10/07 02:13:05
#31
RTGraham
Max Output Level: -57 dBFS
  • Total Posts : 1824
  • Joined: 2004/03/29 20:17:13
  • Location: New York
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 02:06:39 (permalink)
This became a concern for me a couple of years ago, and I ran a series of tests to prove to myself that my MidiMan MidiSport 8x8s USB MIDI interfaces were introducing jitter into my MIDI timing.

The results were somewhat surprising.

There had been some online discussion about the fact that hardware sequencers and drum machines were known for their tight timing, so I hooked up my old Roland TR-505 to do some A/B/C-ing. I used the TR-505, using its internal sounds, as a sequencer and recorded it as audio in SONAR. I also used it as a sequencer triggering the sounds in my XP-80 (direct MIDI cable), and recorded *that* audio in SONAR. I also used the TR-505 as a sound source only, using SONAR to trigger its sounds via MIDI, and recorded *that* audio in SONAR. I always used separate computers for MIDI and audio just to keep the playing field level.

I also ran a quantized vs. unquantized test.

Just for kicks, I hooked up an old parallel port MIDI interface, as well as an old serial port MIDI interface, and did comparison tests through those interfaces as well.

What I found was that a PC's MIDI jitter, regardless of interface or type of bus, regardless of Windows version or age of computer, was fairly consistently within a 2ms range at a 960ppqn setting. Contrary to popular misconception, the USB interface was not any more jittery than the serial or parallel interfaces - apparently MidiMan has gotten their drivers to a point where the timestamping renders the MIDI stream as reliable as it would be through any other type of bus. This is not to say that the MIDI timing was always fluctuating by 2ms - what I mean is that the most it would fluctuate by was 2ms.

As noted by some of the other user posting in this thread, reducing the ppqn resolution in the sequencer had the potential to reduce the jitter somewhat, but there was still a "jitter floor" that I couldn't get below, and it seemed to be independent of whether the MIDI data was going into or coming out of the computer.

The TR-505 used as a hardware sequencer was, of course, rock solid. No significant jitter that I could measure in the waveforms. I've heard that the Akai MPC-series drum machines share this characteristic, and this is why some producers still maintain that the MPC's "feel" better than a computer.

The bottom line, though, was that the MIDI jitter was indeed present, but not as significant as I would have thought. I did *not* in fact prove to myself that the MidiSport was as problematic as I had thought. With the proliferation of softsynths, it's less of an issue, especially with quantized tracks. Anything that stays within the computer for sound generation isn't subject to the MIDI interface's jitter. However, anything *recorded into* the sequencer via MIDI can have some jitter. I do find that I quantize on computer a bit more than I used to with hardware sequencers. I also find that I generally want to quantize recorded MIDI tracks on the computer, even though I'm usually happy with the timing of keyboard parts that I record straight to audio.

It would be wonderful to see some kind of MIDI 2.0 standard that addresses this issue. For the time being, I, like you, am stuck with the workarounds that we have for making our MIDI timing sound the way we want it to once it's recorded.
post edited by RTGraham - 2007/10/07 02:16:53

~~~~~~~~~~
Russell T. Graham
Keys, Vocals, Songwriting, Production
russell DOT graham AT rtgproductions DOT com
www DOT myspace DOT com SLASH russelltgraham
#32
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 02:26:23 (permalink)
Thanks for sharing that!!!

FWIW, The real culprit here is not the midi standard..its the operating system. Because of the way XP and OSX are designed there are certain limitations that require the OS to defer one job in order to finish another, etc.. Even if there is a 1ms timer in the OS, a software program does not have any garantee that it will be able to do what it needs to do every millisecond.

Getting a little technical, in Windows there is a timer that has historically been used, called a Multimedia timer. It is supposed to have 1ms accuracy. However, experiments with this timer have shown that it jitters all over the place in real world situations. Some tests even showed it like +-15ms...yikes! That was a few years back though before XP. In addition, if the software using it is not careful, then GUI use and such can make things even worse.

Some developers have managed to tap into a poorly documented timer that is available in the DirectMusic Api, part of DirectX, which they claim is more solid, but its not really proven to be the case. The thought is that MS did the midi handling for DirectX deeper down in the kernel to ensure solid timing.

What really needs to happen in vista is for Microsoft to move midi handling down into the kernel as they did for some audio stuff. Unfortunately they basically did nothing in vista related to midi. Who needs midi to play Halo?

Anyway, back on topic...RTGraham, I would really be curious to hear if you ever tried using a midi interface that has hardware level timestamping in it. I was not aware that the Midisport 8x8 had hardware timstamping, but maybe it does and maybe that explains the adequate performance you got...or perhaps it does not...and you might be able to get even better accuracy with one that does, at least for incoming midi from your keyboard controller. I'm not sure if midi timestamping is actually used on midi interfaces such as the MOTU, for outgoing midi streams to external midi devices.

This is a subject I would REALLY REALLY love to hear something from cakewalk about.

I know I have had absolutely terrible experiences with USB midi interfaces I have tried and some others that weren't half bad. But I absolutely have been without any question satisfied with the parallel port one I'm using now from MOTU.

#33
Nick P
Max Output Level: -44 dBFS
  • Total Posts : 3112
  • Joined: 2006/09/01 18:08:09
  • Location: Area code 392 - Arlington Hts, IL
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 04:18:15 (permalink)
I'm just glad to hear that I'm not crazy.

Cakewalk Forums - A Great Learning Resource For All Things Cakewalk!
#34
RTGraham
Max Output Level: -57 dBFS
  • Total Posts : 1824
  • Joined: 2004/03/29 20:17:13
  • Location: New York
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 04:25:09 (permalink)
That all makes sense, dewdman42.

I would love to have tried the same tests with something that has been advertised to have hardware timestamping... at the time, the only interfaces I was aware of that publicized timestamping were the MOTU interfaces - but my understanding at that time was that you only had access to the benefit of the MOTU's most accurate timing if you were also using Digital Performer (which I couldn't do on a PC). The Emagic Unitor series also have a reputation for being very solid. I wonder if anybody's ever done a MIDI interface timing shootout.
#35
dstrenz
Max Output Level: -69 dBFS
  • Total Posts : 1067
  • Joined: 2005/12/10 09:59:06
  • Location: Rochester, NY
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 11:04:53 (permalink)
Interesting thread. Midi feels a little sluggish to me too nowadays. My Roland Fantom has a 16 track midi sequencer (I think it's only 192ppq), and it feels more accurate than PC recording.

BTW, there was something of a standard in Roland's MPU-401's 'Smart Mode', which would receive, buffer and time stamp midi input events in the hardware, and trigger interrupts to notify the PC sequencer that there is data available. Maybe the new MIDI 2.0 standard can borrow some from the ideas Smart Mode midi input handler in the MPU-401.

Some of My Stuff
#36
Blades
Max Output Level: -43 dBFS
  • Total Posts : 3246
  • Joined: 2003/11/06 08:22:52
  • Location: Georgia
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 12:53:49 (permalink)
It also depends on what meterial you will be recording to midi. By introducing "slight" quantization switching from 960 to 480 or 240 or whatever on the ppq side depends on the tempo and the material being presented. When playing in midi drums from my td-20, recording the midi, I want to be able to get the resolution of a press roll, which may or may not be on any "real" beat divisions. Going down to 240 ppq at, say 90bpm, can start to get a little too quantized for that sort of thing.

If I am just going to be playing down to reasonable divisions, I can switch this down to a lower level and make it a lot easier on myself because this "quantization" happens at the midi note placement level. Not including the jitter factor at the higher ppq, you are going to automatically get a slightly tighter recording at the lower ppq beacuse of thie quantization - or if you are a bad play, it may place things on the "next" or previous division from where you intended it.

Thinking of the hardware devices, and their built-in sequencing, I have to think that their resolution is significantly lower - especially when thinking of something like an Alesis HR-16 or Sr-16 or something in that age. Not sure about the MPC...

in fact, I just looked it up - an mpc2000 runs at 96ppq. Yep...there's definitely some automatic fixing happening at that level! Even if you are not acccurately putting stuff in, there's a certain amount of placement that is happening on your behalf. MPC4000 has 960ppq. Alesis SR-16 = 96ppq; Roland Fantom = 480ppq ; Korg Karma = 192ppq

So how much does this say about the "feeling" that these are tighter devices? I don't know - try to turn down the 960ppq (default) in sonar and see if you don't suddenlt feel like a better player"!

Blades
www.blades.technology  - Technology Info and Tutorials for Music and Web
#37
mbncp
Max Output Level: -83 dBFS
  • Total Posts : 396
  • Joined: 2003/12/14 19:06:44
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 15:45:30 (permalink)
Are you sure that Sonar stores it's internal MIDI data as integer based PPQ (96,120,480,960,..) ?

I though that most daws where storing this info as floating numbers PPQ (1.0), and the "standard" PPQ settings where only used for display, at least that's the way it works in other apps.
#38
The Bob Campbell
Max Output Level: -90 dBFS
  • Total Posts : 24
  • Joined: 2007/08/27 19:36:20
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 15:55:49 (permalink)
Spare a thought for the poor Cubase users. What timing they put in, they have little hope of hearing it played back. I always find it funny when I see people recommending going back to the 'tight' timing of the Atari ST and early Cubase. I had it, I worked with it for years. The timing on the atari cubase was as tragic as the timing on the current Steinberg offerings. At least in those days they had the excuse of the vehicle not having much 'under the hood', but with current PCs there is absolutely no excuse. Cakewalk has always had above average midi timing imho, nothing to complain about really.

One thing to bear in mind is the midi timing is a function of both the midi interface driver, and the sequencer itself. Logic 5.51 on the pc is unbelievably literal with how it plays back what you put in, but even with it, using a cheap USB midi interface you can still experience random lag and jitter up to 5ms. Ironically the slower serial port midi has always been tighter, but finding serial port devices isnt' easy these days. My recommendation is always to use the midi interface on your PCI audio card (e.g. RME HDSP9652) before using any other ports that you have, as PCI is almost always tighter and more reliable. USB works, but it's never gonna be as tight unless you have time stamped drivers working in co-hort with a host that uses that time stamp, like AMT or Steinbergs equivalent.
#39
RTGraham
Max Output Level: -57 dBFS
  • Total Posts : 1824
  • Joined: 2004/03/29 20:17:13
  • Location: New York
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 16:08:03 (permalink)

ORIGINAL: dstrenz

Interesting thread. Midi feels a little sluggish to me too nowadays. My Roland Fantom has a 16 track midi sequencer (I think it's only 192ppq), and it feels more accurate than PC recording.

BTW, there was something of a standard in Roland's MPU-401's 'Smart Mode', which would receive, buffer and time stamp midi input events in the hardware, and trigger interrupts to notify the PC sequencer that there is data available. Maybe the new MIDI 2.0 standard can borrow some from the ideas Smart Mode midi input handler in the MPU-401.



Wow - the MPU-401.
I still have a Voyetra OP-4001 (an MPU-401 equivalent) plugged into an old computer in storage - I break out that machine every now and then (more rarely nowadays) when I need to use an old algorithmic composition program, or access sounds in an old patch librarian, both of which only ran under DOS.

I did try to program for the OP-4001 / MPU-401 once, as a side project. I never got the program to process MIDI properly in realtime, but I do recall what you're saying about Smart Mode. That thought, along with the apparent success of manufacturer-specific hardware / software timestamping solutions, seems to suggest that if a MIDI 2.0 spec does ever materialize, it should standardize hardware / software timestamping across the board, so that any interface from any manufacturer will achieve that level of timing stability within any MIDI host.

Well, enough technophizing - I've gotta get back into creative mode.
#40
dstrenz
Max Output Level: -69 dBFS
  • Total Posts : 1067
  • Joined: 2005/12/10 09:59:06
  • Location: Rochester, NY
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 16:49:35 (permalink)
Interesting info on the various ppqs used with various sequencers. Now that you mention it, I do recall reading that the Fantom uses 440ppq. It's hard-coded and can't be changed. But I don't really know how much ppq that accounts for the different feel though. The internal Fantom sequencer has the luxury of being able to record while monitoring in real-time, because all of the sounds and effects are built into it too. There is no length of midi cables to worry about, or round trip monitoring, or programs running in the background.. Latency can be calculated and accounted for very precisely since all variables are in the box. I imagine that it uses the old reliable Roland MPU smart mode concept of buffer and timestamp when recording.

Some of My Stuff
#41
altima_boy_2001
Max Output Level: -55 dBFS
  • Total Posts : 2033
  • Joined: 2005/11/04 17:48:01
  • Location: Central Iowa
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 16:55:36 (permalink)
ORIGINAL: dewdman42
Getting a little technical, in Windows there is a timer that has historically been used, called a Multimedia timer. It is supposed to have 1ms accuracy. However, experiments with this timer have shown that it jitters all over the place in real world situations. Some tests even showed it like +-15ms...yikes! That was a few years back though before XP. In addition, if the software using it is not careful, then GUI use and such can make things even worse.

Has anyone done tests to see if increasing Sonar's process priority level affects midi jitter?

Task Manager -> Processes, right-click on Sonar process and increase priority...


If you think timing is being affected by other processes taking up the cpu maybe turning off other programs/services would help alleviate this problem somewhat...
#42
dstrenz
Max Output Level: -69 dBFS
  • Total Posts : 1067
  • Joined: 2005/12/10 09:59:06
  • Location: Rochester, NY
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:05:38 (permalink)
I actually had the Voyetra mpu clone too. As I recall, it only cost about $300 which was significantly less than Roland's. I too wrote a little 8-track sequencer (using smart mode) in Turbo Pascal, and asm for the interrupt handler. That was convenient because it only handled 8 tracks natively. It worked fine. Then I added some brain-damaged brute-force algorithm in a feeble attempt to generate music. I've got an old recording of it playing through an FB-01 but am too embarassed to post a link. What a terrible waste of time.

Some of My Stuff
#43
RTGraham
Max Output Level: -57 dBFS
  • Total Posts : 1824
  • Joined: 2004/03/29 20:17:13
  • Location: New York
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:08:03 (permalink)

ORIGINAL: dstrenz

I actually had the Voyetra mpu clone too. As I recall, it only cost about $300 which was significantly less than Roland's. I too wrote a little 8-track sequencer (using smart mode) in Turbo Pascal, and asm for the interrupt handler. That was convenient because it only handled 8 tracks natively. It worked fine. Then I added some brain-damaged brute-force algorithm in a feeble attempt to generate music. I've got an old recording of it playing through an FB-01 but am too embarassed to post a link. What a terrible waste of time.


LOL.

Mine attempted to use random variables screened through a probability filter to generate, er, music. Yeah, that's what we would call it...

Only problem was, although it would step through the sequence properly when slowing down the compilation process, it would choke in realtime.
Never figured it out - I'm definitely more of a musician than a programmer.
#44
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:15:22 (permalink)
The lower PPQ's are more accurate, less jitter, mostly because they are closer to what the operating system can reasonably handle accurately. If you try to go for too much precision, then sometimes the OS will deliver exactly on time and sometimes it will be late, thus jitter. If you use the lower PPQ, then theoretically....the OS is more likely to have time to deliver on schedule. But a lot of that depends on how the software is implemented. But I do know that I read this in a midi C programming book once, that lower PPQ will result in less jitter.

As far as drums and timing accuracy, I hear you. consider this though. 240 PPQ is 480 ticks per second at 120bpm. That is essentially a 2ms level of precision. That is not really a musical form of quantization but its also barely audible by only a few golden eared people. 480 will give you 1ms if you want. If you can live with the random jitter. RTGraham says he didn't notice much difference going to lower PPQ, but that he always had 1-2ms of jitter anyway. (shrug).

The hardware pieces undoubtedly have much less jitter, but if they are set to 200PPQ internally, then in a sense, they are introducing the same low precision that 2ms of jitter will give you.

Regarding hardware timestamps...to my knowledge the only midi interfaces that ever did this are the MOTU's (possibly not even all of them), the one from Emagic and Steinberg made one also. At the time I remember hearing that you had to use the MOTU one with Digital Performer and the Emagic one with logic and the steinberg one with Cubase, in order to take advantage of the hardware timestamping. However I had some email exchanges with MOTU a while back when I was thinking of using my MOTU midi interface with Logic on the mac and I was told by him that the timestamping should work with Logic too. I will try to dig up the email if people are interested.

This was done at a time when all of the sequencers were suffering badly from Win2k-itis. Since then the XP midi handling has been improved sufficiently enough that they no longer need to market such things. I'm not sure if the Emagic or steinberg interfaces are made anymore, but the MOTU's still are.

Regarding the older MPU-401. My understanding is that it did not actually timestamp midi events in the hardware. The timestamping of midi events happened in the card's driver software. However, those older midi cards were interrupt driven. So when a midi event came in, the driver would usually trump anything else that was running on the cpu to immediately timestamp the event in the driver. Personally I had terrible midi performance with an MPU-401 and early versions of cubase, so I can't say it was any better, but I know the driver is where most midi interfaces timestamp the events.

The difference with the MOTU interfaces is that they timestamp the midi event in hardware the instant it is received on the midi port, then the driver will eventually kick in and use the timestamp that was already created by the hardware. You still want the driver to react as quickly as possible because if you are playing a VSTi or something in realtime, you want low-latency. But the accuracy of the timestamp in that situation is based on an earlier timestamp that did not have to wait for the OS to give the driver time to do it. The only dependency is whether the MOTU driver passes the hardware timestamp along to the host DAW, which MOTU told me once that it does. So as long as the host software is using the timestamp created or recognized by the MOTU driver...then it should be the hardware one. If Sonar makes its own timestamp(which would be dumb), then jitter times would be much much worse and hardware timestaming would be moot.

Playback, however is another story.



#45
evzevz
Max Output Level: -88 dBFS
  • Total Posts : 104
  • Joined: 2003/11/06 14:09:03
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:41:24 (permalink)
Wow this thread came along at the right time for me (pardon the pun)... I've been having some horrible playback on midi stuff lately - the only thing that seems solid is my ez drummer stuff... But everything else has been more off than Steve Martin in the Jerk... turns out my latency setting had been pushed way up beyond where it needed to be (at 137.7 or so), and this was creating the problems... I brought it back down to 26.6 and now all is solid again... Very odd, but thanks to ModBod for the tip...
#46
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:46:06 (permalink)
when you say off? what does that mean? Constantly early/late, or jittery?

I'm surprised to hear that a large audio buffer setting would cause the midi timing to be off. If that is the case, then THAT is definitely a bug in Sonar! Unless you are referring to the fact that with a large buffer setting you hit a key on your keyboard and hear it much later... that has nothing to do with our current discussion if so.


#47
evzevz
Max Output Level: -88 dBFS
  • Total Posts : 104
  • Joined: 2003/11/06 14:09:03
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:51:10 (permalink)
Dewdman - I don't mean latency, I mean playing back midi parts with correct feel and timing - really choppy and inconsistant timing... almost a stuttering, but always varied somewhat - in other words, loop over the same measure and it messes up differently every time thru.
post edited by evzevz - 2007/10/07 18:08:45
#48
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:53:00 (permalink)
Ya, that is jitter alright....and that sounds like a bug to me. A larger audio buffer in theory should give Sonar MORE time to do everything it needs to do, including deliver midi events on schedule.

Well now I want to do some experiments myself... (sigh). I sure hope cakewalk is not losing midi tightness in exchange for all the features they've been adding.
#49
dstrenz
Max Output Level: -69 dBFS
  • Total Posts : 1067
  • Joined: 2005/12/10 09:59:06
  • Location: Rochester, NY
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 17:53:38 (permalink)
ORIGINAL: dewdman42
Regarding the older MPU-401. My understanding is that it did not actually timestamp midi events in the hardware. The timestamping of midi events happened in the card's driver software. However, those older midi cards were interrupt driven. So when a midi event came in, the driver would usually trump anything else that was running on the cpu to immediately timestamp the event in the driver. Personally I had terrible midi performance with an MPU-401 and early versions of cubase, so I can't say it was any better, but I know the driver is where most midi interfaces timestamp the events.

The difference with the MOTU interfaces is that they timestamp the midi event in hardware the instant it is received on the midi port, then the driver will eventually kick in and use the timestamp that was already created by the hardware. You still want the driver to react as quickly as possible because if you are playing a VSTi or something in realtime, you want low-latency. But the accuracy of the timestamp in that situation is based on an earlier timestamp that did not have to wait for the OS to give the driver time to do it. The only dependency is whether the MOTU driver passes the hardware timestamp along to the host DAW, which MOTU told me once that it does. So as long as the host software is using the timestamp created or recognized by the MOTU driver...then it should be the hardware one. If Sonar makes its own timestamp(which would be dumb), then jitter times would be much much worse and hardware timestaming would be moot.

Playback, however is another story.



The mpu definitely did timestamp the events in hardware in Smart mode. In the other mode, UART mode, it merely passed the midi events through, acting like a simple serial port. I had the Voyetra sequencer and an early version of Cakewalk then and one of them, (I ?think? it was Cakewalk), let you choose the mode. As computers got faster, smart mode went away completely.

For playback, smart mode would not work at all today because there would be no way to synchronize it with audio. You'd send a 'start play' message to the mpu. The mpu then began requesting timestamped midi data (again through interrupts), buffering it, and pumping it to the midi out port, taking care of all the timing for you. That was handy but you'd have no way to determine how to sync up audio because the timing was handled in the hardware.

Some of My Stuff
#50
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 18:22:53 (permalink)
your last comment about being sample accurate or not is interesting as relates to playback. None of the midi interfaces mentioned so far have any way to remain locked to the same clock that the audio is following. Usually they are based on some kind of atomic clock, say, number of milliseconds since 1970, or something like that..and its always dealing with offsets since the time it was started. Is that sample locked? No. However with a reasonable degree of accuracy....the playback can still be jitter free...as each midi event can theoretically be queued in the hardware and output on schedule according to an offset time from when it was started. It is up to the DAW software to "stamp" the midi events with the correct offset time to use, that matches up with what the audio is supposed to do with the current buffer settings, etc.. Anyway, that is in theory. The MPU was a long time ago..not exactly sure what smart mode was doing, but does not surprise me if there were problems getting sync'd with audio. But I thought the newer stuff from MOTU, Steinberg and Emagic worked all that out. Not sample locked per say, but still theoretically should have been jitter free.

Again, I would really like to hear more from Cakewalk on this issue, its something I've always wondered. These days I am playing back everything via VSTi's in any case, so to a certain degree...I don't care so much about the midi timestamping on output. However, when I hear that people are having problems with jitter while playing back through VSTi's, well that just makes my blood literally curl in paranoia...
#51
evzevz
Max Output Level: -88 dBFS
  • Total Posts : 104
  • Joined: 2003/11/06 14:09:03
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 18:35:57 (permalink)
Yep - and the odd thing is that my EZ drummer tracks played back perfectly, UNTIL I add EZPlayer on top to try out beats... Very odd... but all my other SoftSynths exhibit the problem, heck, even sending to my hardware Roland XP30 thru my MidiMan 8x8 had the stuttering...
#52
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 18:59:06 (permalink)
Since EZ drummer has its own sequencer and goes directly to a sample playback engine..its not so surprising to me that it would play back perfectly....Toontrack can do any kind of optimizing they want inside EZDrummer and never have to post a midi event to send over a channel to anywhere, if you see what I mean. Yes, it reads a midifile to obtain a drum groove, but when its playing back, it does not have to rely on sending midi events through midi ports. However, I would be surprised if EZD is doing anything other than sending midi events to the same internal sample playback engine that handles incoming midi events from say EZplayer or sonar. So I don't know what to say there.

If Sonar is getting loosy goosy about how it routes midi events around inside itself through all the various virtual midi pathways that can be routed in Sonar...then that is a big problem. I hope that is not the case. So far I have not experienced problems like that in Sonar at all.

#53
Nick P
Max Output Level: -44 dBFS
  • Total Posts : 3112
  • Joined: 2006/09/01 18:08:09
  • Location: Area code 392 - Arlington Hts, IL
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 19:16:44 (permalink)
This has turned out to be an amazing thread. The only thing missing now is some input from Cakewalk reps. How 'bout it guys? Is it time to take a look at this?

Cakewalk Forums - A Great Learning Resource For All Things Cakewalk!
#54
hornplayer
Max Output Level: -70 dBFS
  • Total Posts : 1024
  • Joined: 2004/05/04 03:24:04
  • Location: Sacramento
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 19:27:58 (permalink)
what I play in is not what I hear back.


I can confirm that it certainly is an issue. As a wind synth player, I have to edit recorded MIDI. I'm throwing down a lot of data at once -- note, pitch bend, and breath control.

#55
RTGraham
Max Output Level: -57 dBFS
  • Total Posts : 1824
  • Joined: 2004/03/29 20:17:13
  • Location: New York
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/07 23:35:26 (permalink)

ORIGINAL: evzevz

Dewdman - I don't mean latency, I mean playing back midi parts with correct feel and timing - really choppy and inconsistant timing... almost a stuttering, but always varied somewhat - in other words, loop over the same measure and it messes up differently every time thru.


I would say that this is due to the fact that some softsynths can't handle such high buffer sizes... at extremely high latencies, some softsynths just start getting choppy, like what you're describing. However, the fact that it was happening when sending MIDI out to you Roland hardware unit (as you mention in another post) makes me wonder what else could be going on.
#56
pianodano
Max Output Level: -67 dBFS
  • Total Posts : 1160
  • Joined: 2004/01/11 18:54:38
  • Location: Va Beach Virginia
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/08 00:12:50 (permalink)

ORIGINAL: Nick P

<snip>
My theory (completely unscientific), is that as these software DAW applications have gotten more and more bloated, they put less and less emphasis on tight MIDI timing in the rush to "gold-plate" the application. This combined with how a computer's OS deals with incoming and outgoing data (handling multiple housekeeping chores at once, but still in the final analysis, one at a time, such as mouse moves, screen repaints, etc...) just begs for MIDI timing to be less than 100% accurate. And why should a manufacturer put emphasis on it? Many Sonar users in this forum seem to be guitarists or bassists who are just thrilled to have audio recording available outside of an expensive commercial recording studio. Many users have no idea what MIDI is, how long it's been around, or how it differs from audio recording (get Scott Garrigus' book).

All I know is that my ears hear the difference when MIDI is recorded and played back accurately, versus sloppily, and I am very happy to see that at least one software manufacturer has acknowledged this issue, and has apparently done something about it.

I wish Cakewalk would put aside their rush to audio nirvana for a minute and do some serious MIDI recording and playback tests - i.e. have a seasoned professional keyboardist record MIDI data in real time into Sonar and at the same time record the audio into Pro Tools or something similar. Now record the output of Sonar's MIDI playback from the sound source again into Pro Tools. Compare the timing of the 2 tracks at a high level of magnification. I think a difference would be easily perceptible.

(Edited for grammar/spelling)


At last. Someone else noticed.

We both started with midi at the beginning.

I have recorded to tape and Sonar at the same time. Sonar doesn't always reliably put it where it's played. Period. When I stated my results, some of the "experts" even went so far as to blame the tape recorder as being out of sync. LOL. I use a Timeline microlynx for sync - You can be sure the tape recorder is LOCKED.

Best,

Danny

Core I7, win XP pro, 3 gig ram, 3 drives- Lynx Aurora firewire- Roll around 27 inch monitor, 42 inch console monitor- Motif xs controller - Networked P4's and FX Teleport for samples- Muse Receptor VIA Uniwire for samples and plugs- UAD QUAD Neve - UAD 1- Sonar X1 but favor 8.5 GUI - Toft ATB 32 - Vintage hardware - Tascam MS-16 synched via Timeline Microlynx -Toft ATB32 console
#57
dewdman42
Max Output Level: -74 dBFS
  • Total Posts : 839
  • Joined: 2004/09/20 16:37:27
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/08 00:20:39 (permalink)

ORIGINAL: RTGraham

I would say that this is due to the fact that some softsynths can't handle such high buffer sizes... at extremely high latencies, some softsynths just start getting choppy, like what you're describing. However, the fact that it was happening when sending MIDI out to you Roland hardware unit (as you mention in another post) makes me wonder what else could be going on.


Uhmm, how should the plugin care at all what the buffer sizes are? that is in Sonar's domain I think. No?

I am not a plugin programmer, so i can't speak authoritatively...but I think if the buffer is too small, then the plugins can be starved. If the buffer is too big the only consequence should be long latencies and the plugins shouldn't care at all..but there could be more to it than that I suppose.

So there are two seperate questions. PianoDano is talking about recording midi parts that are played on a midi controller and that he doesn't feel it is accurate. That is one half of the question. The other half is, if the notes are painstakenly edited to be exactly where they need to be, will sonar play them back through plugins, every time, as they are supposed to be, with rock solid timing..particularly during mixdown or track freeze?



#58
kwgm
Max Output Level: -52.5 dBFS
  • Total Posts : 2271
  • Joined: 2006/10/12 00:14:20
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/08 00:28:59 (permalink)
JB,

It's not just Logic and the Mac, but any system using IEEE 1394/Firewire, for instance, Yamaha's mLAN and the host of other 1394a interfaces.

The IEEE 1394a spec (aka Firewire 400) reduces jitter to very low values--3ms if my memory is correct. The faster 1394b spec, supported by the Mac and few others at this time, claims much lower values.








--kwgm
#59
brundlefly
Max Output Level: 0 dBFS
  • Total Posts : 14250
  • Joined: 2007/09/14 14:57:59
  • Location: Manitou Spgs, Colorado
  • Status: offline
RE: MIDI "Jitter" - It Does Exist 2007/10/08 00:41:43 (permalink)
Hmmm... Many opinions, few data points. I did quick test: Set up a MIDI track to send 96 note events at 10-tick intervals at 960 PPQ and 100BPM (.625ms/tick). Plugged a MIDI cable from the Out to the In on my M-Audio Omnistudio USB interface, and recorded the output of the test track. No synths or controllers were involved, just MIDI data making a silent round trip.

Average round-trip delay was 11.1 ticks = 7ms. Assuming delays are equally divided between sending events and clocking them back in, that means MIDI events recorded from a manually played hardware synth might get clocked in 3.5ms (5 ticks) late on average (not including delay between the keys and the MIDI Out on the controller). Not perfect, but I can live with it.

But here's the kicker: Standard deviation of the half-a-round-trip values was 0.5ms (less than 1 tick. So "jitter" is basically a non-issue in this test.

For reference, I ran the same test with the same setup at 96PPQ, giving 96 events at 1-tick intervals. Results were about the same within the limits of the lower resolution. Mean round-trip delay was about 0.9 ticks, and half of that is .45 ticks = 2.7ms, with a standard deviation of about 1ms.

In summary, it does not appear that jitter is a significant problem in this test configuration, and higher clock rates do not have a isgnifcant impact one way or the other. This makes sense, as even 960PPQ is extremely slow compared to system clocks running in the Gigahertz range with a 1000 or more CPU cycles going by between ticks.

I will say, however, like others, that I have had more trouble with MIDI timing errors in the Windows era than with the old MPU-401 hardware interfaces with their onboard clocks running under DOS. But I have always been able to fix these problems with configuration or hardware changes. Based on that experience, and the results of this (admittedly crude) test, I would say that anyone who can actually feel/hear a significant MIDI timing issue on his/her system probably has a system-specific configuration/performance problem that is not inherent in either the OS or the application.

#60
Page: < 12345.. > >> Showing page 2 of 18
Jump to:
© 2024 APG vNext Commercial Version 5.1