What is this latency thing I keep hearing about?

There is a lot of talk about latency when it comes to our wireless guitar controller, but some folks don’t really understand the different types of latency and where they come from.  There is a slight delay between when you play a note and when it is received wirelessly from your controller.  This is VERY slight, like blink of an eye slight.  And, there really isn’t a significant difference, functionally or apparently, between this wireless setup and the wired setup you may have elsewhere.  So, while this could be called latency, it isn’t really what people are dealing with when they are talking about long delays between playing a note and hearing back from the computer.  That is LATENCY, and it exists because of buffering.

This is a simplification, but your computer is trying to turn digital information from your virtual instruments (or really any digital audio) into analog sound from your computer’s output.  It tries, but sometimes it simply can’t make this translation from digital to analog fast enough to provide you that information in real time.  When it can’t, you’ll get digital clicking and popping sounds from your recording software or TriplePlay or whatever.  So, your software and hardware will allow buffering.  Basically, your computer is able to process larger packets of audio samples more quickly, per sample, than small ones.  So the bigger the packet, the less processing  power is required by your computer to get the job done.  How long it is saving up data and waiting to give it to you in audio form has a direct effect on how long a delay you hear between playing and hearing a note.  Low buffering settings are nearly inaudible, and this is sometimes referred to as near zero latency.  To your ear, it will sound like you’re playing the note and hearing it at about the same time.  But, these low settings require more processing power than larger ones.   If you’re interested in some more detailed analogies and discussions of audio buffering, there is a great thread here.  The fellow David Nahmani who posts at the bottom really nails the description of what buffering is and why it is necessary.

How can you adjust this buffering to get a lower delay? Latency settings are usually listed by the amount of data being saved up, but in our user interface, we make a direct correlation to the amount of delay you will hear as well.  You can find the latency settings in the TriplePlay preferences dialog window, available from the pull-down menus under options.  Experiment with lower and lower latency settings, until you hear some artifacts (clicking and popping) and then raise the buffering back up until they go away.  Note that your audio drivers also impact how low you can get this setting before artifacts.  Windows audio is fairly slow, in this regard, so consider using an ASIO driver like ASIO4ALL if you don’t have a dedicated audio output device with its own ASIO drivers.  On my own fairly slow Windows machine below, I manage a 64 sample buffer using the computer’s built-in audio card outputs and the ASIO4ALL driver.

buffering settings found under Options=>Preferences