It is finally possible to get a near-zero latency keyboard on a PC! It's most excellent to have.
However, some tweaking is needed to get a stable, effective system; you have to do more than plug in a new sound card. Herein I give you what worked for me, so you can hopefully get what you want quickly, avoid a fair bit of fiddling, and most important, never get that uncontrollable urge to throw your computer out the window.
A little background
To put things in context: my old setup was OK: I had a decent, but old sound card - a Creative Labs' Sound Blaster X-FI Titanium HD “Audiophile Sound Card”. It has a in-house Creative Labs' ASIO driver. which gave me, it said, about 20 ms latency - noticeable at first touch, but consistent and I could live with it; I knew of nothing better in a windows platform. I had tried the on-board sound with the ASIO4 ALL driver, which gave me the same or greater latency.
However, the X-FI card and/or the Creative Labs driver started to give me grief - it would freeze my computer at random times - being intermittent it took a long time to track down. Likely the card / firmware was too old for Windows 7 or had an intermittent hardware glitch.
Looking over the rather scarce options - there aren't many sound cards out there these days - I saw the Sound Blaster Zx for $125 Cdn, advertising "one millisecond latency".
First, does my setup like it?
First, Windows and the SB ASIO driver seem to work together well:
My venerable copy of DPC Latency checker v1.2.0 reports a latency peak of .170 milliseconds; i gather that this means my desktop Windows is well behaved and meshes well with the hardware.
The numbers look good
The card meshes well with my Kontakt 5 player, which estimates a 2.0 ms latency.
Also the card has 5.1 outputs, and a nice clean sound. It was easy to set up, with one important tip: clean out all of your old SoundBlaster driver's and software first. I didn't because some of the old software packages were useful. Big mistake, that. ;)
Blow me down - The SB Zx does work
It makes my jammer keyboards very nicely responsive: press key; instant sound.
... but you need two sound outputs
Per instructions from the SoundBlaster manual, I tried to use the single SB sound card, by disabling the on-board sound. But Windows error messages began popping up. for everything. Kontakt 5 & Sound Blaster's ASIO driver apparently grab exclusive use of the audio card (think of it; this makes sense if microsecond response is to happen).
Windows messages, system sounds and internet browser messaged simply could not get a sound in edgewise with this cozy couple. The attempting routines would eventually give up, issue an error message or just plain freeze up.
My solution: keep the old motherboard based sound system going, and plug a small pair of stereo speakers into the motherboard. Windows and the others seem to actively prefer sending messages to the on-board sound card. If one does not have a pair of extra speakers handy, I imagine that you could combine the outputs from the 2 sound systems with a Y-jack.
Now, how can I do the same to my laptop?
Alas, now my portable jammer's laptop 20 ms latency is much more evident. Fixing this is problematic - USB is designed for high throughput, not quick response.
Please let me know, dear reader, if you have a solution.
I hope this helps.
Ken.
first posted March 1 Updated March 29
Sorry to be tardy in replying - I'm on the US East Coast on vacation.
I used the DPC latency checker, to see if anything obvious was amiss - but this checker runs inside of windows, so perhaps doesn't see what is happening in the real world.
The real test would have been to record the sound of a key being pressed, and the following sound of the synth software creating the sound, then eyeball the lag using audio software, i.e. Audacity. That I didn't do.
However I'm pretty confident that the Max/MSP note remapping is very fast - in the order of microseconds; it's designed to be very fast, even a decade ago when machines were much slower.
That leaves the sound creation software, the virtual synth. I use Kontakt 5. When I set up Kontakt's preferences, it estimated the latency would be 1 ms in the sound card (it talks directly, I gather, to the Creative sound card), and 1 ms in Kontakt itself.
This is what I hoped for, and my ear reports that the latency is very low.
Ken Rushton, MusicScienceGuy
Posted by: Ken Rushton | Mar 13, 2015 at 07:45 PM
Thanks for looking into this. How did you measure the latencies?
Posted by: Carl Lumma | Mar 06, 2015 at 11:12 PM