February 4, 2022

Rocksmith+ Dev Diary – February, 2022: Audio Updates

During the Rocksmith+ beta we received invaluable feedback from you, our users, on the state of the audio and note detection side of the Rocksmith experience.
Some of this feedback was positive, some was critical, and we made sure to take all of it to heart. We pored through the Discord and forum going through your feedback. The direct interaction we were able to have with many of you pointed us not only songs, but specific phrases, passages, or chords that were proving to be problematic.

To all of you participated and helped us with your feedback I want to take a moment to say thank you. It is your passion for this product that drives us forward and helps to shape the experience, we couldn’t do it without you. As such, we have continued moving forward with the things you enjoyed, and we are working hard to improve the issues that were surfaced. The community has directly impacted our priorities and helped us to home in on the more subjective aspects of gameplay related to note detection as well as our newly added “other interface” support and it is on those subjects that I would like to take a deeper dive today.

The subject of chords is a really interesting one. We have worked on them a lot (please don’t tell production how much) to make significant improvements over how chords were detected in Rocksmith 2014. There is a fine line that we need to walk between outright detection perfection and feel as a player. We can push the limits of the system so that we need to hear every note cleanly ring out, but the fact is, that isn’t really how we play guitar. To require that level of precision every time not only feels robotic as a player but sounds robotic too! So, while it is our goal to help guide you on your musical journey, be that teaching you from the beginning or helping you hone the skills you already have, we don’t want to lose sight of the fact that music is a performative art. Detection needs to feel good and feel accurate while encouraging you to perform and have fun, and therein lies the challenge.

[RS+] ROCKSMITH+ DEV DIARY – FEBRUARY, 2022: AUDIO UPDATES - DevDiaryImage01
This is where we have spent countless hours, staring at wiggly lines that are a visual representation of the instruments’ output. From here we can adjust a multitude of parameters to better reflect what has been played in the results that we get. Building out a robust tool set was a huge leap forward for improving note detection and being able to both see and quantify what detection is hearing.

Our goal in development was to take detection of chords as far as we could, to make it as accurate as possible so we knew what we could do and walk it back from there. As many of you experienced and commented on in the beta chords were strict. We’d walked it back a bit from the zenith of outright perfection, but many of you made it clear that we could loosen things up a bit more to achieve our goal of keeping the experience organic, one that encourages musicality over robotic perfection. So, how do we maintain accuracy while loosening up the feel?
Through a lot of work to be completely honest. You were able to give us reports pointing to phrases and specific chords that were problematic and we went through and played all those songs and hammered away at those chords. Through examining all this data we were able to determine patterns about what was and wasn’t working.

With this data in hand we able to go back and fine tune how we were picking notes in chords and the weight that those notes carry. In Rocksmith+ if we ask you to play a major chord and you play it minor; we know. This was something we struggled with in 2014, and an improvement we remained committed to keeping. Similarly, if there is a seventh in a chord, we are serious about that color tone. Often times, on guitar, a chord will have a series of unique notes as well as some that are doubled. A six-string major bar chord, for example, has three root notes, two fifths, and only one third, but it is that single third that really defines the quality of the chord. This third, along with the root note in the bass of the chord, we weigh the importance of hearing pretty heavily as they are the most defining features of that chord’s harmonic function. There is much more going on behind the curtain, but those are some of the factors we consider in balancing musicality with accuracy.

We also did a complete reevaluation of vibrato detection based on the feedback we received. We realize that vibrato is an expressive tool in your toolbox as a musician and to judge you harshly on how you are expressing yourself in the moment is not what Rocksmith+ is here to do. We were looking for something very specific in this first pass at vibrato detection and many of you were very vocal about not feeling like detection was hearing you not enjoying the experience of playing vibratos. We have redesigned the system from the ground up so you can now choose to be expressive in the way that fits your personal musicality. We hope that you enjoy it, and if you don’t, tell us! We’re listening.

Now, let’s talk a little bit about a new feature we added to Rocksmith+ “other interface” support. Supporting other interfaces on PC is a big change for us and a decision that we did not take lightly. Continuing to only support the Real Tone Cable would have been, by far, the simplest solution for us as it removes a variable that we have to develop around. We know there are a lot of places in the world where getting a Real Tone Cable falls somewhere on the spectrum between expensive and impossible, while other players already have their own hardware that they would prefer to use. We want to welcome all of you into Rocksmith+ in an official capacity with no third-party solutions necessary.

For a lot of you I know the excitement here is going to be ASIO support. In Rocksmith+ we have implemented native ASIO support, not ASIO support through any sort of Windows audio/Wasapi translator. Now there are some positives and negatives to this approach. The biggest positive is the low latency that ASIO provides, the immediacy between hitting a note on your instrument and hearing it play back that is so immersive and just feels right as a player. While we have worked hard to optimize the experience with the Real Tone Cable there will always be operating system overhead that you just can’t get around without integrating ASIO support. The potential downside to ASIO is that it is, by design, full duplex. Full duplex means that your input and your output are coming from a single device, it is even right there in the name, ASIO stands for Audio Stream Input/Output. Being sure to route all your audio through a single device is part of how ASIO achieves such low latency, so you have to decide for yourself if that is a sacrifice that makes sense for your playing experience.

Other interface support is not just limited to ASIO devices, it also works with Wasapi which is the Windows Audio Session API. Wasapi is Microsoft’s low latency audio solution for Windows. Wasapi brings the flexibility to choose nearly any input and output combination that ASIO is lacking, but at the sacrifice of the extreme low latency performance that ASIO brings to the table. This doesn’t mean that Wasapi is high latency; an optimized setup can hit a round trip latency of about 25 milliseconds. Round-trip latency is how long it takes from the time you pluck a note on your instrument to when that sound comes out of your speakers. To put this in perspective this is about the same as standing roughly 25 feet from your amplifier, readily achieved on a good-sized stage, so this is an amount of latency that you could easily experience in the real world with a completely analog setup. Wasapi support means that you can bring a different cable, if that is what is available to you, or you can even play Rocksmith+ with a USB microphone and an upright bass like the dev team has done. The Real Tone Cable is also a Wasapi device. There are a lot of options out there in the world so be sure that any hardware you want to use with Rocksmith+ supports operation at 16 bits and 48 khz.

For the beta this feature came in hot and while it worked perfectly for some others got connection errors, which is a frustrating experience. The team has put in an absolute ton of work to make this system more stable and reliable than what we were able to show in the beta last July. The engineers working on this feature have tracked down and fixed a lot of bugs and we have gone so far as to completely revamp the system that connects you under the hood. In addition to stability improvements, we’ve worked on making some feature improvements as well. Many of you noticed during the beta that you were unable to change the buffer size of your ASIO device, and I am happy to say that we now support being able to change this from inside Rocksmith+ itself. The other thing lacking in the beta was a simple way to choose your input channel for those whose instrument input was not channel one. While there was a work around for this it was complicated and obviously not how the feature was supposed to function. We now support changing your input channel from the settings for your device inside of Rocksmith+.

We have made huge strides in the functionality of our other interface support, but we do still consider this to be a beta feature at launch. While some of us have huge stacks of interfaces on our desks grazing the ceiling there are simply too many options out in the world for us to test them all. Our focus has been on the most popular devices and the ones produced by our partners, and we will be sure to provide a list of known supported devices at launch. As always, thank you for the support, and we’ll be talking to you all again soon!

-Brian Poedy,
Lead Audio Designer

Free

Learning Guide

Get My Guide