Reducing Latency in Rocksmith (PC)

April 14, 2013

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).

rocksmith_ini

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…!


TASCAM US-200 Audio Interface

April 3, 2013

Earlier I posted a guide to using a Real Tone cable (which comes with the game Rocksmith) to connect to Guitar Rig 5.  With the success of that experiment I went ahead and bought a proper audio interface.  In this post I will give a rundown of the rationale behind my decisions and highlight the differences between the two approaches.

tascam-us200

The unit that I chose was the TASCAM US-200.  This USB audio interface has 2 microphone-in (one of which can be instrument); gain knobs for each mic input; selectable 48V phantom power for professional microphones; 4 line-out channels (channel assignment software configurable); 1 independent headphone-out (with dedicated volume control); MIDI in and MIDI out.  This cost about $100.

The benefits of running this unit over the Real Tone are:

  • the Real Tone cable is only an audio input device so you need to use ASIO4ALL to bridge the sound output to your motherboard’s sound chip which can be annoying to configure (your settings don’t always ‘stick’)
  • the software bridging performed by ASIO4ALL, combined with the fact that the Real Tone is a budget item, means that latency is high (eminently playable, but clearly noticeable)
  • the TASCAM takes care of both audio input and output so configuration is super easy and reliable
  • the TASCAM has knobs for input gains and output volume so adjustments don’t require driving a mouse around the screen (which gets old pretty quick while you’re trying to play an instrument)

So what have I thought of it so far? Well latency is significantly lower!  I also found the Real Tone cable prone to noise – both clicks from artefacts and analog cable noise.  There are no artefacts with the TASCAM and any cable noise is virtually eliminated (probably in part due to the fact that I can use my better quality instrument cables than what the Real Tone is made from).  Any residual noise, where it may exist, is ruthlessly gobbled up by noise gate settings in GR5.

I also am a huge fan of the ability to set my external speakers and amplifier to a direct line-out and be able to adjust my headphones with the volume control (ie independent of the speakers).  This is a far better outcome than trying to get the single motherboard output to do everything.

The MIDI interface is also a nice bonus.  Although I don’t actually own any MIDI devices I can see the appeal of, say, a simple MIDI foot switch array to mimic the functionality of a traditional pedal board (and to do tap-tempos, etc).  Indeed that might be an excellent project for a future post!

But it isn’t all good news… (the update after 2 months use)

While from a hardware perspective the US-200 is a great bit of kit, the drivers are truly horrendous.  There are a number of pretty big issues with the driver but the greatest is its inability to cope with an operating system that implements suspend or sleep modes.  This little gem is buried away on page 11 of the manual – and I would have thought that this limitation is pretty important information for a buyer to know before they make their purchase.  Windows users have had sleep/suspend for EIGHTEEN YEARS, and yet the plebs at Tascam still cannot wrap their puny minds around writing a driver that can cope.  The result is that any time my PC goes to sleep I lose all sound both in and out.  The only remedy is a full reboot!  Totally unacceptable.

Next, the line out connectors are software-configurable.  Yet the driver is incapable of retaining my choices for more than a couple of hours.  So on a very regular basis I get put into an audio black-hole until I work out that the output routing has changed itself (again!).

And lastly, the drivers periodically just totally crap out and require a complete uninstall and reinstall.  I have had occasions where I’ve wanted to play and then had to restart my computer no less than SIX TIMES to actually return everything to correct working order.  If you want reliability this product is definitely not the one for you.

I have contacted Tascam about all these issues and they don’t even reply to support requests (I’ve waited over a month).  This is not a new product and clearly no new firmware or driver updates are going to come out for it.

Would I recommend this purchase to anyone else? Absolutely not.  Would I buy again?  Absolutely not.  Would I buy another Tascam product after this experience?  No, I wouldn’t – I really can’t think of a more substandard buying experience.

And I have to say this is all such a shame, because when it all works properly it’s a good unit.  Clearly the hardware is sound.  But, my goodness, what a terrible software implementation!  Definitely get an external audio interface (they’re great), but don’t buy a Tascam and don’t buy this one!


Using Rocksmith Real Tone cable with Guitar Rig 5

March 21, 2013

This christmas I picked up a copy of the game Rocksmith.  This half-game/half-tutor allows you to connect a real guitar to a console or PC and is basically Guitar Hero with a proper instrument.  Unlike Hero all the time you invest in getting better at the game actually builds real musical skills, rather than just coming away from it a highly talented coloured button masher.

real tone cable

You supply your own guitar and the connection is made by the Real Tone cable which is supplied with the game.  Inside it is a Hercules board which converts the analog signal from the guitar into a USB digital stream.

But not only can this game provide a leg-up getting the motivation to learn, but the Real Tone cable also allows amp modelling sims to be used outside of the game.  This is not something that is advertised by the game manufacturers but with a free driver, a little fiddling and a copy of Guitar Rig or Amplitube this is pretty easy to do.  And a standard interface for connecting guitar to PC will cost around $100, so Rocksmith really is giving you some excellent value beyond what is already a great game.

The driver that is needed is called ASIO4ALL.  This is because a standard audio interface has both input and output, but the Real Tone cable is input only.  In order to keep latencies low amp modelling software take exclusive control of the audio interface and they expect to only have to use one for both the incoming and outgoing sounds.  ASIO4ALL is needed to work as a ‘bridge’ so that the Real Tone can be selected as the input but a different device selected as the output (for example your motherboard sound chip).  I didn’t find ASIO4ALL super intuitive to use, so I will devote the rest of this post to explaining how mine is configured to get the sound working properly in Guitar Rig 5.

Once ASIO4ALL is installed fire up the amp modelling suite and select ASIO4ALL as the audio device.

realtone_asio1

Whenever a program starts using ASIO4ALL a little green triangle symbol appears in your system tray.  Clicking this brings up the ASIO4ALL configuration menu.  Here you should see your standard PC sound card (probably with a highlighted green symbol next to it indicating that it is the active selection) and your Rocksmith USB Guitar Adapter (which will probably not be selected).  Expand your PC sound card entry by hitting the + and exposing the inputs and outputs.  What you want to do is arrange it so that it looks like mine below, with your PC sound card output selected, your PC sound card input deselected and the Rocksmith USB guitar selected.

realtone_asio3_asiosettings

This might take a little bit of fiddling to select them in the right order – ASIO4ALL has a habit of going all-or-nothing, but trust me it is possible to do it if you find the correct order of operations.

Once this is achieved go back into Guitar Rig and make your input and output selections.  These can be found under the Routing tab.  You want USB Guitar Adapter as input and your PC soundcard as output.

realtone_asio2_routing_in

realtone_asio2_routing_out

While all this is going on I like to have the metronome going, because that way it’s really easy to tell when the output is correctly configured.  If you can hear the metronome and when you strum your guitar you get sound then all is good!

If you strum your guitar and you see the input VU meter move then you know that output is a problem.  If you can hear the metronome but when you strum the input VU does not move then you know that input is a problem.

Lastly, sometimes I have experienced some clicking and clipping using the Real Tone cable in this way.  Often just opening up the ASIO4ALL config menu makes this go away.  Certainly I don’t experience this problem all the time.

This is a different issue to simply interference on the analog side of the cable – which this set up can suffer from (like any guitar setup).  Running the cable too close to your PC, power cables and other electrical devices can impart a hum.  Either have a go at moving the cables around, or do as I do and simply slap a virtual Noise Reduction pedal into your onscreen setup!

Happy shredding…

(UPDATE: here’s a look at a proper dedicated audio interface)


Biscuit tin guitar: attaching body to neck

February 26, 2013

When Mary’s found-by-the-side-of-the-road guitar fell apart, I thought it time to give it a third lease on life.  I’ve seen a few people make oil-can banjos, so I thought I’d have a go at a biscuit tin guitar.

A tin does not have the structural rigidity to take the tension between either end of the guitar caused by tuning the strings up to pitch.  My solution was to lengthen the neck of the guitar by adding a wooden spine.  The tin would then float over this.

The other consideration is ‘scale length’.  This is the distance between the nut and the bridge of the guitar, and is important because it can vary from instrument to instrument and each of the frets has been specifically calculated as a subdivision of this overall length.  This should be measured before you hack up the donor guitar, but if that’s not available you can measure the distance from the nut to the 12th fret and double it.  Once you know the scale length (mine was 25.5″) then you can start thinking about what sort of size can you will need to allow for the right scale length and a little extra so the bridge isn’t right on the edge of the can.

The first step (after liberating the neck from the old guitar body) was to cut some lengths of wood for the new spine.  An L-shaped notch is made the length of the can so that the top surface (soundboard) of the can will not touch the spine underneath and therefore be free to vibrate.

tintar - spine

I then glued the three lengths together to build up the thickness.  I also radiused the front edge where the can meets the fretboard, because my can has a rounded end.

tintar - spine laminations

Next the spine is glued to the fretboard.  This connection is going to need to be able to take quite some stress so I epoxied it and added a couple of screws.

tintar - fretboard

Then the tin goes on.  A hole is needed on the front edge for the spine to slot through.  If it is cut in such a way that it creates flaps that fold in not only will those flaps centre the spine in the hole but a screw through one of those flaps will also hold it in place.  When you’re happy that the fretboard sits parallel to the surface of the soundboard screw the end of the spine to the end of the tin can.

tintar - tin mounting

Coming up… tail piece, bridge, strings, music!


Pedal Board

March 16, 2012

Again, this one fits into the category of things that I’ve had for a while but should probably get a run on the blog…

I’ve been noodling about with guitar for a couple of years now.  I began because I had a stressful, life-encompassing job at the time and thought it might be a good idea to have a challenge to provide a bit of escapism.  I am by no means a great guitarist, and probably not even a good one – but I can’t help but think that it’s healthy to not always fill your life with things you’re instantly good at.  And as someone that never played as a child, I find it fascinating to be involved in producing music no matter how limited.

Now the sight of a well-stocked pedal board in the hands of a novice probably makes a whole bunch of armchair Hendrixes (Hendrices?) roll their eyes smugly, but I have to point out that this particular board is as much a product of the enjoyment of collecting and making, as much as it is mindless Gear Acquisition Syndrome.  All of these effects are second hand and I thoroughly enjoyed tracking them on ebay and only pouncing when one came up at a mind-bogglingly low price.  Every now and then something just fails to get noticed and limps in for the reserve price – and I lived for that moment (behind my desk in a shitty cubicle-farm…)

So a quick rundown of the effects platoon… Behringer TU300 Chromatic Tuner, Boss AC3 Acoustic Simulator, Boss AW2 Auto Wah, ElectroHarmonix Small Stone phaser, Behringer CS100 Compressor/Sustainer, Behringer TO800 Vintage Tube Overdrive, ProCo Turbo Rat distortion, Boss DS1 Distortion, Boss CH1 Super Chorus, Boss BF2 Flanger, ElectroHarmonix Stereo Pulsar tremolo, Behringer DD400 Digital Delay, Boss RC2 Loop Station.  A couple of these, apparently, are even collectible – many are no longer in production and the BF2, for example, has the correct colour screws to make it a suitably collectible Made In Japan model.

I made the pedal board itself out of MDF and built up laminations so that the pedals in the rear are accessible and at an appropriate height.  The pedals are held in place with individual sections of chain link (which are essentially a dog-bone shaped tab with a hole at either end).  I have a switchmode power supply to provide the 9V DC required by each pedal, and the loom distributes it taking careful note of the polarities required by each effect (which are not always consistent).

All in all, I’m pretty pleased to have such a thing.  It slides nicely out the way under my bed, only requires three things to be plugged in for a jam sesh (power, guitar in, signal out) and certainly provides a wide range of tones to suit most music styles.  Has it made me an instant guitar-hero?  No, but then that was hardly the point…