By terryh on Sep 19, 2005
Today I hooked up the MIDI output of my Yamaha digital piano to a USB MIDI interface attached to my Windows XP computer. My first baby steps towards integrating computers and music. I tried playing some of the soft synths that came free with Cakewalk Sonar. However, they seemed to have an extreme amount of latency between me pressing the key and the sound starting. Since the computer is a dual-core Athlon running at 2.4 GHz and has two gigs of RAM, I suspect that the computation is not the bottle-neck. There are plenty of places the latency could be coming from - the keyboard generates a MIDI note-on message, which propogates over a 30' cable, which gets read in by the USB device, sent down the USB stack, read by the program, a waveform is generated, and sent out the sound card, which propogates up a short cable to my speakers, and finally the sound travels back across the room from the computer to the keyboard. The only parts of this I can quantify the latency for are the electrical propogation of the MIDI message, which should be well under a microsecond, and the propogation of the sound waves back across the room, which should be about 15 ms. No doubt having the speakers closer to the keyboard would help, but I feel like the delay is hundreds of milliseconds total.
From the brief research I've done online, it seems like making sure I have the latest drivers for the USB chipset on the motherboard and the Yamamaha USB interface would be a good first step. The USB stack is quite often found to be the culprit in these situations. I shall investigate further tomorrow.