View Full Version : Project Cars 2 VoiceAttack (Voice Control) Profile

14-01-2018, 21:10
Project Cars 2 ColorRacer VoiceAttack Profile

I have created a VoiceAttack (VA) profile to manage your in-race car.

But before I get into it, let me say that @MarcusarilliuS_IRL has created a profile that he shared with us a while ago. It has been tested by a lot of people. You can find his profile in this forum by the name of "Voice Control mod".

Now back to why you might want to give this profile a try.

I tried to address three problem areas with VA profiles overall and with Project Cars 2 specifically:

Key Assignments
Allow the profile adapt to your key assignment instead of you having to adapt to the profile key assignments.

Key press "Hold down for" time
Allow you to easily change the time a key press needs to be held down to better work with your system.

The flexible In Car Management (ICM) system
Manage the fact that the ICM is dynamic and not all options are always available.
You can tell the profile, via VA commands, which options are available for the car you're driving to prevent the profile from executing commands for options that are not available therefore getting out of sync.
In addition, giving the profile the proper commands it will allow you to select tires by name such as issuing the "Tires Wet" command.

Key Assignments

One of the reasons that have prevented me from using many profiles developed by others, is that one has to adapt to the key mapping the person who created the profile has set up.
I have made this profile so that all key mappings can be changed in one place so the profile can adapt to your key mapping. If you don't like the default keys the profile uses, you can easily change the profile to adapt to yours.

I have tried to leave the key assignments as standard as I can remember they were. However, the major changes I've made are the ones to navigate the ICM.
As the default, the keys to navigate the ICM were assigned to the d-pad on the wheel. The problem with that is VoiceAttack was not very consistent when using those.
I changed the assignments to be the arrow keys.

Key press "Hold down for" time

I've noticed using VoiceAttack in different applications and different computers that the amount of time you need to hold the key down varies in order to be recognized by the application.
As you can imagine in a profile with over 100 commands the number of places where a key is pressed could be very large. Just think of the "Move Right 250" command. That command will press the "Right" key 250 times.
If your computer were to take a different amount of time to recognize the key press than what is set in the profile, you would have to go through all command and change the time for each of the key presses. BTW, the difference between my laptop and my gaming computer is pretty significant. So I have first-hand experience with this problem :(

In this profile, there are only four places you would have to change if you find that the "Hold down for" time doesn't work very well in your computer instead of possibly hundreds or thousands of places.

The flexible In Car Management (ICM) system

This is the trickiest part of a Project Cars 2 profile. As we all know the ICM is controlled by navigation keys (Up, Down, Left and Right). There is no other way at the moment (hint, hint SMS) to control the ICM.
In addition to the fact that it can only be controlled by navigation keys, it is also dynamic based on the car being driven. For instance, sometimes to get to the Fuel Map option you will press the down arrow key twice after you open the ICM. Sometimes, you might only need to press it once if the Brake Bias is not available. And sometimes you might not have the Fuel Map option at all.
Since the profile has to rely on navigation keys, it is possible that it would get "messed up" if you were to issue a command for an option that is not available for the car you're currently driving.

How does this profile try to minimize the impact of dynamic options?

When the profile first initializes all dynamic options are set to Off. The reason for that is that if the option is not available for the car you're driving, it is less likely that the profile will get out of sync with the ICM since it will not execute any of those commands when you request them.

The profile has commands for you to turn On or Off any of the dynamic options depending on whether the feature is available or not based on the car you're driving.
For instance, you can issue the "Set ABS Available On" to let the profile know that ABS function is available in the ICM for the car you're currently driving.

In addition to the individual option commands, I have commands for specific car categories that will set the appropriate dynamic options for those. These commands assume that you have Authentic assist turned on.
Not only do these specific car category commands set the appropriate options in the ICM, but they also set the proper tire category so that tires can be changed by name.

As examples, if you're driving a GT3 car you can call the "Set GT 3 Settings" command. If you're driving a GTE car, you can call the "Set GTE Settings".
However, I do not have all cars specific command. Refer to the commands guide in the downloaded zip file to see all available commands.

If you try to execute a command for which the profile setting says is not available, the profile will ignore the command. So let's say that you first load the profile and are running a GT3 car. You get on track and execute the "Fuel Rich" command. The profile will ignore that command even though it is available in the ICM since all options are set to Off when the profile first starts.
As you can see by setting the options to not available as default, the profile is less likely to get out of sync. You don't have to remember not to issue the command that can possibly get the ICM and profile out of sync.

Download the Profile

When you click on the link below you will be able to download a zip file (Project Cars 2 ColoRacer-Profile.zip) that contains 4 main files and at least one image. One of the files is the profile itself which is a file that has an extension of "vap". The other three main files are HTML pages describing the profile.

You want to open the readme.html file as your starting point once you unzip the downloaded file.

Download Profile from Here (https://www.dropbox.com/s/wq7nh5svpkzl6lw/Project%20Cars%202%20ColoRacer-Profile.zip?dl=0)

Why would you want to use VA with PCars 2?

Here are some examples of when you would want to use VoiceAttack to make your racing more enjoyable.

Saving Fuel
Let's take the following case. You're doing a GT3 race at Long Beach. You're running low on fuel and you want to save fuel in the twisty parts by changing the engine fuel mix.
So between T1 and T2 you want:
"Fuel Lean"
Then coming out of T3 you want:
"Fuel Rich"
About to enter T9 you want:
"Fuel Lean"
Coming out of T11 you want:
"Fuel Rich"

If you had to do that with the d-pad on a GT3, for every change, you would have to press the d-pad 5 times. So per lap, you would press the d-pad 20 times. If you want to save fuel for the last 5 laps. That's 100 times you have to press the d-pad. And you would be doing that in the twisty sections where you need the most concentration.

Using this profile, you will just execute the four commands per lap.

It is a lot easier saying "Say Hi" than finding a key on your keyboard to press. Especially, if you're using VR.

Changing Strategy as you come into the Pits
Whether you want to change to a pre-set strategy or change individual settings, changing strategies with the ICM is very time-consuming. I find it that the straights are not long enough for me to press all the keys that I need to make my changes.
Let's say that I want to add 21 units of fuel. I would have to press the d-pad 25 times.
With this profile, I can just say "Add 21". I'm done.

15-01-2018, 20:50
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.1

Changed "[Move;] Left [1..5,50]" and [Move;] Right [1..5,50] To "Large [Move;] Left [1..5,50]" and Large [Move;] Right [1..5,50]
These command were causing problems as sometimes they were being confused with the regular other move commands.

Changed [Move;] Right [1..5] and [Move;] Left [1..5] To [Move;] Right [1..20] and [Move;] Left [1..20]

Added the rest of the car categories so you can set the ICM dynamic options for each car and be able to select tires by name for each of the cars.

18-01-2018, 12:32
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.2

Fixed a typo when changing the brake bias. I had Break instead of Brake.

28-01-2018, 13:31
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.3

To move around the ICM one should use the "Move" commands. The profile also includes "Navigate" commands that should only be used outside the ICM (in menus).
I changed the profile to prevent the "Navigate" commands to be used while the ICM is opened by accident.

11-02-2018, 12:29
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.4

Changed the Category for the "Tires None" command to "Pit".
Changed the "Fix ..." commands to be "[Fix;Repair] ...". This will allow us to say for instance: "Fix Aero" or "Repair Aero".

06-03-2018, 13:21
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.5

Change "Set Formula Renault Settings" to "Set [Formula Renault;F.R. 3 5] Settings" For easier access
Added "Cycle Camera" command
Added "Look Back" command
Added "Next Camera" command - For replay
Added "[Previous;Before] Camera" command - For Reply
Modify "Set Vintage [Prototype B;GTC;GTD] Settings" to "Set Vintage [Prototype A;Prototype B;GTC;GTD] Settings" for the new Porsche Pack DLC "Vintage Prototype A" category
Added "Set [CanAm;Can Am] Settings" for the new Porsche Pack DLC "CanAm" category

The four new commands required new keys to be added to the "xinitializeKeys" command. The key variables added are:


08-04-2018, 13:04
Project Cars 2 ColorRacer VoiceAttack Profile Version 1.6

Changed "More Gain" to "More [Gain;Volume]"
Changed "Less Gain" to "Less [Gain;Volume]"
Added "Set Ferrari Series Settings" for the new Ferrari Challenge

27-10-2018, 20:54
Thank you very much for this. I am trying to understand this setup. I use a Thrustmaster TX wheel. trying to see how to make this work with the actions mapped to wheel buttons. Is your profile for keyboard users only ?

28-10-2018, 01:32
Thank you very much for this. I am trying to understand this setup. I use a Thrustmaster TX wheel. trying to see how to make this work with the actions mapped to wheel buttons. Is your profile for keyboard users only ?

Hi skidrock, This is not wheel, keyboard or controller dependent. If you look at the sig you will see that I use a wheel.
Were you able to follow the readme.html that is in the Zip file? It goes through how to set it up.

Disclaimer: the profile has not been updated since August 4th, 2018. There have been changes to PC2 since the last update to the profile. It is possible some changes might affect the profile. I've not played PC2 in a while.

If you describe in more detail what problems you're having, I will try to help you.

28-10-2018, 16:26
Hi Coloracer,

I was impatient I think :) . Thanks for responding quickly. Later yesterday, I went thoroughly through the readme.html and understood the process.
Then I even modified the xinitializeKeys function to update the key mapping to my own. It is working very well. And your profile is a very through one, in the sense of software design too, thanks a ton for all the work.

Just to add a few things, I was using a wireless keypad as button box on my racing chair, and the keys ( as you had already done for a few) are represented by text value of [NUMENTER] , i.e. no space between NUM and the key value. It was working then.

The ICM related functionality wasn't working initially, that made me understand the need of joytokey tool, and I mapped POV hat keys on my wheel (Thrustmaster TX) to keyboard arrow keys and in joytokey , I changed the ICM bindings in game to keyboard arrow keys. It made the voice commands on ICM work, but the POV usage on the wheel makes in game 'menu navigation' jump twice . I will now try to map the POV hat switches to "DirectInput" arrows in joytokey and try.

Overall, it is very useful piece of work, and thanks again.

28-10-2018, 23:00
One area I am stuck at is with mapping the D-pad (POV) on my TX wheel to keyboard arrow keys, and then not being able navigate in game menu one step at a time. What I mean is that when I press any of direction buttons on the D-pad, menu item selection moves two steps, instead of just one.

I am using joytokey for button mapping to keyboard keys and I have tried " xInput only and DirectInput only" in preferences. And also tried different key emulation modes in Joystick options. But nothing make the menu navigation on D-pad work normally.

27-11-2018, 14:11
Apparently the D-pad is read directly by the game, no matter what sort of mapping we do on the joytokey tool. Therefore I mapped D-pad buttons to some random keyboard key (7,8,9,0 to be precise and updated the VoiceAttack profile to use those keys for direction/arrow control. Also in joytokey , I think I set the input mode to X-input only.

That solved the problem, but when trying to navigate in text field ( for example chat box or setup name field), those mapped key values get printed instead of cursor movement. I am doing away with a tiny wireless keyboard for those tasks.