Recently I have been posting about the Real Tone cable for use as a guitar audio interface for amp modelling and other Digital Audio Workstation duties. I’ve also been comparing its performance with a proper audio interface. One of the areas that I noted a large difference was that of latency – the gap in time between plucking a string and having the computer emit the sound as a note through the speakers. Lower latency of course is always desirable, but a little latency can be lived with without ruining the experience. However, once it climbs too high it becomes unplayable.
What I haven’t discussed much is using the cable for what it was originally designed for: playing Rocksmith! Plenty of criticism comes from the latency present in-game – and I agree, it can be distracting. Ideally I would like to be able to use my new TASCAM audio interface as my guitar input, but Ubisoft also use the Real Tone cable as their form of copy protection. You must own the cable to play the game. There are No-Cable hacks which allow you to play the game using your on-board soundcard (which presumably would suffer from high noise issues without the proper pre-amps of an instrument specific interface), and this hack should allow me to use my hardware instead of the Real Tone (one should imagine). But I’m loathed to hack about my game in a way that could make it look like I’m pirating something on Steam that I totally legitimately own, just so that I can use some hardware that never would have been considered when they designed this game for console (grrr, console-ports).
Thankfully however, there are some configuration settings that can be tweaked to improve the performance of the Real Tone cable. The file that you’re looking for is rocksmith.ini located in your Steam/steamapps/common/Rocksmith directory. And it would seem that these are set by default very conservatively (resulting in high latency).
The two key variables here are LatencyBuffer and MaxOutputBufferSize. In effect, the resulting latency of the system is proportional to LatencyBuffer x MaxOutputBufferSize. By default LatencyBuffer is set to 4 and MaxOutputBufferSize is set to 0 which means automatic, although in practice this almost always ends up being 1024 for pretty much all standard motherboard soundcards.
The purpose of the buffer is to provide uninterrupted sound when the processors cannot keep up and it does this by introducing a lag (hence, buffer) allowing time gap in which everything can catch up before you hear an interruption. So the first thing to do is to set both variables to their default states of 4 and 1024, respectively, and then work them down until clicks and other artefacts start appearing. Then just back them up a little.
Looking at the maths of it all, simply changing the value for LatencyBuffer is going to make a big difference so I started by moving it down from 4 to 2. In one step this reduces latency by a full 50% and I found it to be the difference between a noticeably laggy, somewhat annoying in-game experience and a very playable, acceptable one! And to put this in perspective I don’t have an epic gaming rig, yet making this change improved gameplay without degrading the sound at all. Clearly those default settings are very conservative indeed.
I encourage all owners of Rocksmith to give this a go. It’s not complicated or time consuming, and if it doesn’t work out then just bump the numbers back again. But I’m confident that you’ll be pleasantly surprised at what a difference it makes. Why this isn’t a prominent option available through the in-game menus boggles me – but then anyone who’s played the PC version probably knows it’s best not to get started on that infuriating menu system…!