Jump to content

Latency with MIDI Controllers


Antipode
 Share

Recommended Posts

I may at last have decided on a brand of keyboard but I have one big question remaining - how bad is latency usually with MIDI controllers (I'd be playing it through FLStudio 7)? I want the sound the MOMENT I press the key 99% of the time or I'll have to go with onboard sound instead. I have a Core 2 Duo and a capable soundcard (Conexant HD card in an HP Pavilion laptop) - how well do you think I'd fare? (I'm looking at a Studiologic 990XP 88 key keyboard.)

Link to comment
Share on other sites

As far as I know and as far as my expierence travels, latency depends more on the amount of ram you have and what kind of soundcard you use. A good sound card with ASIO support can really help with latency. If you're going for latency reduction I would recommend a soundcard instead.

Link to comment
Share on other sites

RAM primarily affects the latency indirectly. Your soundcard and its drivers are the big factors, so choose wisely. Although I'm not exactly sure why, AISO drivers are often preferred. However WDM drivers (which most Windows compatible cards support) can be just as good or better. I've never heard of that particular soundcard, but you should be able to find AISO drivers for it, or use generic drivers like AISO4ALL (which is actually a WDM driver in disguise). Then, depending on how many instruments you want to load simultaneously, you should easily be able to get less than 10ms latency. Fast enough?

Link to comment
Share on other sites

WDM drivers (which most Windows compatible cards support) can be just as good or better.

Oh, I strongly disagree. ASIO allows you to bypass all of the Windows bullshit audio stack nonsense (ie: KMixer) and interface directly with your sound card, reducing the overhead and total latency by a proverbial fuckton. Windows bullshit audio stack nonsense (KMixer) has an INHERENT latency of 30ms that CANNOT BE AVOIDED without the use of ASIO. Additionally, ASIO output is bit identical, whereas Windows bullshit audio stack nonsense (fucking KMixer) taints your signals.

Link to comment
Share on other sites

I can't back it up with anything other than personal experience, but WDM has absolutely always outperformed AISO for my setups, ranging from win98 + Cakewalk Pro Audio + SBLive to my current WinXP + Sonar6 + FastTrack Pro. I can get ~2.9ms latency with WDM but nothing less than 5.something with my soundcard's AISO drivers. If you think I'm setting something up wrong Ty, I'd honestly like to know. Google WDM vs AISO and there are more than a few people out there who have had the same positive experience with WDM. I'm pretty sure that the 30ms latency is compensated for by the sequencer and thus does not affect the MIDI controller latency, as is the concern for Antipode.

Also, although it's a personal preference thing, with AISO drivers Sonar does not allow me to adjust the buffer (effectively the latency) from with the program. Thus, when I want to use large VSTs or whatever, I have to close Sonar, adjust the buffer size in my soundcard's control panel, then reopen Sonar. Hassle.

In the end it really doesn't matter very much at all and the only strong preference I have is for what works. My advice: Try WDM. Take the 5 seconds necessary to switch to AISO and try it too. Use whichever one was faster/more stable/most compatible with your setup.

Link to comment
Share on other sites

Oh, I meant to type 10 anyway. Good. I'm also looking at the Casio WK-8000 - do you happen to know if that also functions as a MIDI controller (in addition to using its own onboard sound)? All I've seen regarding this is that it has a USB port - but I think that may only be for transferring song/instrument data.

Link to comment
Share on other sites

do you happen to know if that also functions as a MIDI controller

Anything with a MIDI port on the back can act as a MIDI controller. The USB stuff is just there so you can hook it up right to your computer instead of buying an USB MIDI interface first.

As for transfer, it's usually oldfashioned MIDI stuff; don't expect audio unless it's listed specifically.

Link to comment
Share on other sites

Anything with a MIDI port on the back can act as a MIDI controller.
Right, but unfortunately Casio has stopped putting MIDI ports on their low to mid-ranged keyboards, including the WK-8000, so he'd be forced to use the usb port. As you mentioned, I guess their target market doesn't really include too many people who have or would want to buy a midi interface.
Link to comment
Share on other sites

My card is an Edirol UA-25, which gives ~5ms latency. I've used it for playing live at church with an M-Audio Axiom 25 and a Korg EC-350, with the Korg's MIDI out sent to the Axiom's MIDI in, with the Axiom sending to the laptop via USB. I ran the UA-25's output through a DI box into the system, and was able to play using only the house speakers (before we got the monitors running) without any noticeable delay. On my old setup, I was at 12ms latency and found it impossible to play with using only one MIDI keyboard and PC speakers or headphones as the audio output source. Basically, your sound card drivers and setup make all the difference.

Link to comment
Share on other sites

Just throwing my hat in for a second.

Generally, Cakewalk's WDM code outperforms other DAWs. I think they spend more time optimizing their WDM code, especially since they're not cross-platform (it's in their best interest).

With that said, I generally get about 5 to 10 times better latency using ASIO over WDM and I'm a SONAR user with a multiple computer setup where latency compounds.

On my master computer, I have around 5.7ms latency.

Link to comment
Share on other sites

Generally, Cakewalk's WDM code outperforms other DAWs. I think they spend more time optimizing their WDM code, especially since they're not cross-platform (it's in their best interest).

Hmm, makes sense.

With that said, I generally get about 5 to 10 times better latency using ASIO over WDM and I'm a SONAR user with a multiple computer setup where latency compounds.

On my master computer, I have around 5.7ms latency.

I'm really curious as to why I get the opposite behavior. Obviously it may have to do with our differing soundcards and their drivers (what soundcard are you using btw?), but do you get a similar AISO vs WDM comparison using a single computer running SONAR? Is there some other variable I'm missing?

Link to comment
Share on other sites

So are you guys doing anything fancy to measure latency, or are you just looking at the slider in your app's control panel?
Yeah, I'm just looking at the values given in Sonar, which I realize are only estimates. How good of an estimate, I don't know. There should be a more precise way if someone really wanted a solid number.
So, like... all their keyboards?
ha, yeah I guess "low to mid-ranged keyboards" and "Casio" are pretty much synonymous. To their credit though I was helping my mother shop for one of their Privia series digital pianos, and the PX-700 felt and sounded everything like what I would call "high-end." Plus it had MIDI ports :)
Link to comment
Share on other sites

It's not so much that it's an estimate -- it's just that you can configure how low you can get that number by changing the DMA buffer size on the Driver Profiles page in Sonar. Of course, once you set it too low you get dropouts and such.

So if you have a problem of only being able to put it down to, say, 10ms in Cubase, you might be able to tweak a similar adjustment in that software to get the latency lower. Or you might be able to adjust it directly in your driver (mAudios can) -- it's just that Sonar is capable of overriding the values from the driver.

Link to comment
Share on other sites

It's just that you can configure how low you can get that number by changing the DMA buffer size on the Driver Profiles page in Sonar.

:shock: Sir, I am in your debt. I've always glossed over that page because I assumed that when the wave profiler sets those values, it automatically optimizes them based on your soundcard. Now I see what you mean by overridding the M-Audio driver (which the lowest setting for me is 128 samples) to reduce the number of buffered samples. Awesome.

As a test of the raw power of my DAW, I lowered the the 48kHz 24bit buffer sizes to 32 samples and I'm able to get 0.7ms reported latency! For some reason, lowering it further does not change the reported latency. I loaded up SFZ with ns7free kit (huge soundfont with long cpu hungry sample tails), TASCAM's GVI CV Piano (big VSTi), M-Audio's Drum&Bass Rig, a Sonitus compressor, and an FxReverb on the master bus. Even with all of that, no pops and clicks for a little 8 bar improv I did. Add another SFZ and the pops and clicks showup. Still I'm very glad that you mentioned the driver profile page :)

It's not so much that it's an estimate

By estimate I meant that the reported number is only a conversion of the buffer size to milliseconds based on sampling freq: (128samples) * (1sec / 44100samples) * (1ms / 1000sec) ~ 2.9ms

I don't think this takes into account AD conversion for input or DA conversion on output, so the sound you hear may be offset by something other than this reported value.

Link to comment
Share on other sites

:shock: Sir, I am in your debt. I've always glossed over that page because I assumed that when the wave profiler sets those values, it automatically optimizes them based on your soundcard. Now I see what you mean by overridding the M-Audio driver (which the lowest setting for me is 128 samples) to reduce the number of buffered samples. Awesome.

As a test of the raw power of my DAW, I lowered the the 48kHz 24bit buffer sizes to 32 samples and I'm able to get 0.7ms reported latency! For some reason, lowering it further does not change the reported latency. I loaded up SFZ with ns7free kit (huge soundfont with long cpu hungry sample tails), TASCAM's GVI CV Piano (big VSTi), M-Audio's Drum&Bass Rig, a Sonitus compressor, and an FxReverb on the master bus. Even with all of that, no pops and clicks for a little 8 bar improv I did. Add another SFZ and the pops and clicks showup. Still I'm very glad that you mentioned the driver profile page :)

Glad to be of help :) I've never tried putting it that low, interesting to hear that it still functions.

By estimate I meant that the reported number is only a conversion of the buffer size to milliseconds based on sampling freq: (128samples) * (1sec / 44100samples) * (1ms / 1000sec) ~ 2.9ms

I don't think this takes into account AD conversion for input or DA conversion on output, so the sound you hear may be offset by something other than this reported value.

I don't think it does either, but I think the numbers are pretty small. Maybe a little bigger on USB/Firewire interfaces as opposed to PCI. I think I read a SoS article about it, but it's still pay access only on the website :(

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...