Rocksmith 2014 remastered et Roland Rubix 22
============================================

:date: 2023-03-26
:tags: blog, roland rubix, roland rubix 22, rocksmith 2014, rs asio
:slug: rocksmith_2014_roland_rubix
:url: rocksmith_2014_roland_rubix

Ou comment jouer à Rocksmith 2014 en utilisant l'interface audio Roland Rubix 22.

Rien de très compliqué, mais il m'a fallu quelques tatonnements pour arriver au bon résultat.

TL;DR (EN): Install the Roland ASIO drivers; install the RS ASIO mod; open the Rubix Control Panel, in the Buffer Settings tab select USB Streaming Mode 1 and then restart the game.

Trop long, flemme de lire (FR) : Installer les pilotes Roland ASIO, installer le mod RS ASIO, ouvrir le `Rubix Contror Panel`, aller dans l'onglet `Buffer Settings`, sélectionner le mode 1 pour `USB Streaming Mode` et relancer le jeu.

. warning:: Ceci est inutile avec Rocksmith Plus, cette interface audio est gérée nativement.

Prérequis
---------

Il faut plusieurs trucs :

* Rocksmith 2014 Remastered (version Steam ici) ;
* Une interface audio Roland Rubix 22 ou 24 (ici, 22) ;
* Une guitare ou basse électrique;
* Un câble jack ;
* Une connexion Internet (il faudra télécharger des trucs).

. note:: Ceci a été testé avec Windows 10 22H2.


Rocksmith 2014
--------------

Successeur de Rocksmith 2011, ce jeu ressemble à Guitar Hero ou Rockband, avec une différence principale : on n'utilise pas une guitare en plastique Playschool, mais une vraie guitare branchée sur le PC ou console, via une interface USB intégrant un câble jack.

. image:: images/rocksmith/rocksmith2.jpg

Capture d'écran du jeu. Partie en cours.

En plus du mode chanson, des mini-jeux, appelés guitarcade sont présents, pour maitriser les éléments de base, comme comment gratter les cordes, jouer la bonne case au bon moment, jouer les accords… en plus de cours explicatifs en vidéo et quelques exercices de base, à connaître pour pouvoir bien profiter du jeu. Le test en vidéo à la fin de l'article montre l'un de ces mini-jeux.

Revenons à l'interface USB.

. image:: images/rocksmith/realtonecable.jpg

Appelé Real Tone Cable, et vivement recommandé par le jeu, cette interface basique n'est pas obligatoire pour jouer, un mod (un patch) externe a été écrit pour pouvoir utiliser n'importe quelle carte son ou interface audio compatible ASIO. Il existe aussi une autre option (utiliser un micro simple) mais je ne la détaillerai pas (RS ASIO étant nettement supérieur).


Roland Rubix
------------

Interface audio USB de Roland (gros fabricant de matériel audio/son/instruments de musique/synthétiseurs), la Rubix se décline en plusieurs versions, avec différentes entrées/sorties.

Ici, c'est une Rubix 22, modèle de base, avec 2 entrées audio et 2 sorties audio (monitoring) + sortie casque et deux connecteurs MIDI (IN et OUT).

L'essentiel étant que la carte ait une entrée instrument Hi-Z Haute Impédance et permettant donc de brancher directement une guitare électrique.

. image:: images/rocksmith/rubix22.jpg

Image de l'interface audio. Source: Site Roland.

Côté caractéristiques, lisez n'importe quel test. Le seul truc à retenir éventuellement, c'est que cette interface audio faible latence monte jusqu'à 192 kHz/24 bits, et se branche en USB 2, via un câble USB type B.

Les pilotes se trouvent ici :

https://www.roland.com/global/support/by_product/rubix22/updates_drivers/

. warning:: Brancher la guitare sur l'entrée 1L et activer le mode Hi-Z en appuyant sur le bouton Hi-Z.

   BAISSER TOUS LES POTARDS/VOLUMES AVANT DE BRANCHER LA GUITARE !!!!!

Monter ensuite le volume d'entrée SENS 1L. Gratter fortement la guitare, régler jusqu'à être à la limite de l'apparition du voyant rouge (il doit rester vert). La position 12h ou 1h donne de bons résultats chez moi.

RS ASIO
--------

https://github.com/mdias/rs_asio

Pour pouvoir utiliser ce mod, il suffit de télécharger la dernière release (RS ASIO 0.6.3 ici), de copier les trois fichiers `avrt.dll`, `RS_ASIO.dll` et `RS_ASIO.ini` dans le répertoire Rocksmith2014, à côté de rocksmith2014.exe

. image:: images/rocksmith/files.png

Configuration
-------------

Lancer les paramètres Sons Windows, ouvrir les propriétés de l’interface audio et sélectionner 48 000 Hz 16 bits pour l'entrée et pour la sortie. C'est le format imposé par Rocksmith.

Son -> Lecture -> Hauts-parleurs Roland Rubix 22 -> Propriétés

. image:: images/rocksmith/settings1.png

Onglet `Enhancements`, tout désactiver.

. image:: images/rocksmith/settings2.png

Onglet `Statistiques avancées`, sélectionner 16 bits, 48000 Hz (Qualité DVD)


Son -> Enregistrement -> Ligne Roland Rubix 22 -> Propriétés

. image:: images/rocksmith/settings3.png

Onglet `Enhancements`, tout désactiver.

. image:: images/rocksmith/settings4.png

Onglet `Statistiques avancées`, sélectionner 16 bits, 48000 Hz (Qualité DVD)

Lancer l'outil Roland Rubix Control Panel (depuis le menu Démarrer).

. image:: images/rocksmith/rubix-control-panel.png

Dans l'onglet `Buffer Settings`, sous USB Streaming Mode, sélectionner 1

Lancer au moins une fois Rocksmith pour que RS ASIO prépare le fichier de paramétrage. Fermer Rocksmith.

. note:: Laissez l'entrée sur `Real tone cable`

. image:: images/rocksmith/rocksmith.jpg

Ouvrir le fichier RS_ASIO.ini, et modifier comme suit si nécessaire :

. code-block:: ini

   # for "EnableWasapiOutputs" you can use -1 to have a message prompting
   # to use either WASAPI or ASIO for output every time you boot the game
   [Config]
   EnableWasapiOutputs=0
   EnableWasapiInputs=0
   EnableAsio=1

   [Asio]
   ; available buffer size modes:
   ;    driver - respect buffer size setting set in the driver
   ;    host   - use a buffer size as close as possible as that requested by the host application
   ;    custom - use the buffer size specified in CustomBufferSize field
   BufferSizeMode=custom
   CustomBufferSize=4

   # if your game hangs or crashes on exit, try setting "EnableRefCountHack" to true.
   # when blank or invalid, the value of "EnableRefCountHack" will be interpreted as
   # true if RS ASIO detects the usage of Asio4All.
   # the same applies for all inputs.
   [Asio.Output]
   Driver=Roland Rubix
   BaseChannel=0
   AltBaseChannel=
   EnableSoftwareEndpointVolumeControl=1
   EnableSoftwareMasterVolumeControl=1
   SoftwareMasterVolumePercent=100
   EnableRefCountHack=

   [Asio.Input.0]
   Driver=Roland Rubix
   Channel=0
   EnableSoftwareEndpointVolumeControl=1
   EnableSoftwareMasterVolumeControl=1
   SoftwareMasterVolumePercent=100
   EnableRefCountHack=

   [Asio.Input.1]
   Driver=
   Channel=1
   EnableSoftwareEndpointVolumeControl=1
   EnableSoftwareMasterVolumeControl=1
   SoftwareMasterVolumePercent=100
   EnableRefCountHack=

   [Asio.Input.Mic]
   Driver=
   Channel=1
   EnableSoftwareEndpointVolumeControl=1
   EnableSoftwareMasterVolumeControl=1
   SoftwareMasterVolumePercent=100
   EnableRefCountHack=

Juste à titre indicatif, mon fichier Rocksmith.ini contient ceci :

. code-block:: ini

   [Audio]
   EnableMicrophone=1
   ExclusiveMode=1
   LatencyBuffer=1
   ForceDefaultPlaybackDevice=
   ForceWDM=0
   ForceDirectXSink=0
   DumpAudioLog=0
   MaxOutputBufferSize=0
   RealToneCableOnly=0
   MonoToStereoChannel=0
   Win32UltraLowLatencyMode=1
   [Renderer.Win32]
   ShowGamepadUI=1
   ScreenWidth=1920
   ScreenHeight=1080
   Fullscreen=1
   VisualQuality=2
   RenderingWidth=0
   RenderingHeight=0
   EnablePostEffects=1
   EnableShadows=1
   EnableHighResScope=1
   EnableDepthOfField=1
   EnablePerPixelLighting=1
   MsaaSamples=4
   DisableBrowser=1
   [Net]
   UseProxy=1
   [Global]
   Version=1

Lancer le jeu.

Le son devrait sortir via la carte Rubix (contrainte imposée par ASIO, même interface audio pour l'entrée et la sortie).

. note:: Penser à brancher un casque ou des enceintes sur la carte audio Roland Rubix.

Si tout est bon, on doit arriver à ceci. Résultat en vidéo :

. raw:: html

   <iframe title="Guitarcade - String Skip Saloon (RockSmith 2014 Remastered)" src="https://tube.nah.re/videos/embed/da6f97b6-d2e2-4df4-a757-895b2ff96ccb" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" width="560" frameborder="0" height="315"></iframe>

Conclusion
----------

En suivant ces instructions, cela devrait fonctionner correctement. En tout cas, `Chez moi, ça marche !` :)