Spoof the voices used in the browser's Web Speech API.

| Property | Type  | Description                                                                                                                    | Example |
| -------- | ----- | ------------------------------------------------------------------------------------------------------------------------------ | 
| `voices` | array | An array of maps for each voice. Each map must contain the keys `isLocalService`, `isDefault`, `voiceUri`, `name`, and `lang`. | <pre>[<br>  {<br>    "isLocalService": true,<br>    "isDefault": true,<br>    "voiceUri": "Ting-Ting",<br>    "name": "Ting-Ting",<br>    "lang": "zh-CN"<br>  },<br>  ...<br>]</pre> |
| `voices:blockIfNotDefined` | bool | Whether to block system voices. Default is `false`. | `true` |
| `voices:fakeCompletion` | bool | Return a successful TTS completion when a fake voice is used. If disabled, an error is thrown instead (default in RFP). Default is `false`. | `true` |
| `voices:fakeCompletion:charsPerSecond` | double | Playback rate of a fake voice in characters per second. Default is `12.5`, which is ~150wpm. | `15.0` |

!!!warning
Using `voices:fakeCompletion` is not fully implemented. It can be hypothetically detectable if a website measures the utterance duration and compares it with the elapsed time taken. However, anti-bots will never play TTS to detect you.
!!!
