This has just been released (15th October 2020) and opens up some interesting possiblities - there's nothing quite so arse-clenching as blasting over a flat out crest with only the pace notes you just created on a single sighting-run between you and certain death.

For Dirt Rally 2, first 2 minutes is me going the stage recce recording pace notes, then I restart the stage and run it in anger:


For Richard Burns Rally, this is a fast run after I created the pace notes


CC allows you to build your own stage / pace notes with voice commands during a stage recce run.

It works like this:
- start the stage with the app running in the right mode
- make the voice command "start stage reccy"
- when you pass a corner / obstacle, make a clear voice command. This is surprisingly hard, you only get 1 shot at it and the voice command must be delivered clearly and reasonably quickly. "left 3 don't cut keep in" would work, "left 3 don't cut" then a second later "keep in" might not.
- there needs to be at least half a second or so between voice commands.
- cruise the stage slowly doing all this - crests, bumps, ruts, fords, bridges, corners etc. You have to concentrate and it's easy to get muddled up. Remember to speak clearly and make each command an obvious single set of instructions. This is the hardest part, it takes practice
- if the app doesn't hear it'll tell you and you'll need to repeat the instruction so if you're going too fast this will be difficult / impossible to get the note in the right place
- if you make a call and it's clearly wrong (you screwed it up or it's been mis-recognised, you can replace the last call you recorded by saying "correction, [then the new correct call]"
- when you complete the stage make the command "finish stage reccy"once you've done that, you'll have a new file CrewChiefV4/RBR/[stage name]/pacenotes.json. You can inspect it or you can just tell the game to restart the stage immediately and see if you survive

pacenotes.json has each pace note along with the voice command that triggered its creation and any fragments of the voice command that the app wasn't able to process here's an example where I said "caution ford" but the app misheard is as "caution four"
Code:
{
    "Distance": 1659.67273,
    "Pacenote": "detail_caution",
    "Modifier": "none",
    "RawVoiceCommand": "caution four",
    "UnprocessedVoiceCommandText": "four"
  }
so rather than calling out "caution, ford" it just called "caution". Normally that last line is empty, and a single voice command may create more than one pace note - e.g.
Code:
  {
    "Distance": 1326.0437,
    "Pacenote": "detail_caution",
    "Modifier": "none",
    "RawVoiceCommand": "caution square right don't cut"
  },
  {
    "Distance": 1336.0437,
    "Pacenote": "corner_square_right",
    "Modifier": "detail_dont_cut",
    "RawVoiceCommand": "caution square right don't cut"
  }
One final note, for rbr the pace notes created with this mechanism will replace any that the game may be sending - if the app sees a pace notes file for the current stage it'll use this instead of the games own notes