Automatic Speech Recognition

The ASR service supports a set of keywords that you can use to process hands-free search requests such as:
Note: To start an ASR session, tap the Push-to-talk tab on the taskbar, then wait for the audible cue before you say a command. Shorter commands have lower success rates.

You can use the search module settings in the /etc/asr-car.cfg file to define keys (synonyms) for the supported speech commands. Some of the predefined synonyms might seem strange, but they cover typical recognition errors made by the ASR service when you speak certain commands.

Recognition latency

Several factors affect the latencies of voice-command recognition:

End of Speech (EOS) detection

Too much ambient noise may prevent the ASR service from detecting EOS. In this case, the service uses the max_utterance_seconds setting to limit the audio capture. You can change this setting in the /etc/asr-car.cfg file.

To be certain that this is an issue, connect to the target and run sloginfo -w to determine when the audio capture completes. The time from completion of audio capture to response is the offboard recognition latency.
Note: You can change EOS detection parameters in the asr-car.cfg file. To find the relevant settings, search for eos. Try to tune the EOS detector to perform better for your environment. You can adjust the eos-* values in steps of 50. Slay and restart io-asr-generic after each change, and then test how quickly the ASR service detects EOS. Note also that EOS detection is poor if the signal is not very dynamic. Before you start driving, make sure that the microphone has a fresh battery and that it's pointed in the right direction.
ASR server congestion

Server usage might be higher than usual. Run sloginfo -w to determine if the latency is on the recognition server.

Text-to-speech (TTS) latency

A slow TTS response can affect the perceived responsiveness of the system. The latency of the message that announces what is being done, or an unrecognized command, might appear to a user to be associated with a voice-recognition issue. In this case, the output of sloginfo -w should give you a good sense of the TTS latency as well. The service will log the message to be spoken before sending the request to the ASR service.

Determining unrecognized commands

If you say a command that the system doesn't recognize, it will display the interpreted command on the screen. You can also examine the system log to determine how your command was interpreted. For example, if you say "weather", you can see how that word was interpreted.

To examine the system log and search for a particular command, run the following:

sloginfo -w | grep utterance