Camera Overlay icon Camera Overlay — Displays trained object names as overlays on the Camera Device video stream using Camera Device's object-tracking (shows $CameraObjectName). Try it →
 
Windows Speech Engine Robot Skill

Windows Speech Engine

by Microsoft

Local Windows text-to-speech and speech recognition for ARCx: speak, listen, wake-word detect, and run offline without internet or accounts.

Requires ARCx v8 (Updated 9/28/2026)
Tags: Audio
Compatible with: Compatible with Microsoft Windows 10 or 11 Windows

How to add the Windows Speech Engine robot skill

  1. Load the most recent release of ARCx on a compatible operating system (Get ARCx).
  2. Press the + Skills menu from the top menu bar in ARCx.
  3. Choose the Audio category tab.
  4. Press the Windows Speech Engine icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Windows Speech Engine robot skill.


How to use the Windows Speech Engine robot skill

Speech synthesis and speech recognition using the engines built into Microsoft Windows. Nothing is sent to the internet and no account is needed - everything runs locally using the language packs installed on the computer.

This skill is both:

  • a text to speech engine - it provides the voice used by Audio.Say() and by any skill that speaks;
  • a speech to text engine - it provides the recognition used by the Speech Phrase Recognition skill, by Audio.WaitForSpeech(), and by any skill that asks ARCx to listen (such as Autonomous AI).

Because it is local, free and able to listen indefinitely, it is also the engine to pick as the wake word source for an engine that is billed per phrase. That is configured in the paid engine's own configuration, not here: this skill simply gets asked to listen for the wake phrase alongside whatever else it is doing.

Requirements

  • Windows only (the skill is built x64 for Windows and will not load on Linux or macOS).
  • At least one speech recognition language pack installed in Windows. Without one the skill raises "There are no speech recognition languages/cultures installed on this machine." Install more from Windows Settings Time & Language Speech.
  • A working microphone selected in ARCx's audio settings - the skill listens to ARCx's audio input stream, not directly to a device.
  • Only one instance per project.

Adding it to a project

  1. Add the skill to the project (Audio category).
  2. Open its configuration and pick the Language/Culture you will speak. The list only contains the recognizers actually installed on this computer.
  3. Save.
  4. Speech now works: Audio.Say() speaks, and skills that listen start receiving text.

The window

Windows Speech Engine  <a href='/Support/Skills/Skills-Overview' target='_top'>robot skill</a> window

  • Stop Speaking - stops whatever is being spoken right now.
  • Log - the last 25 lines: every recognized phrase with its confidence, engine state changes (silence / speech), and microphone hints such as Speak louder, Speak slower, Background audio too noisy.

Configuration

Windows Speech Engine configuration settings

Setting Meaning
Language/Culture The Windows recognizer to use, for example en-US. Only cultures installed on this machine are listed. If the saved culture is later missing, the skill falls back to the Windows default recognizer and says so in the log.

The synthesis voice is the Windows default voice; it is chosen in Windows, not here.

The Window tab sets the robot skill's window title, its size on the workspace and notes about what it does in this project.

Window configuration tab

The three recognizers

ARCx asks for recognition in three different ways, and this skill serves all three at once, each with its own grammar:

Recognizer Used by
Continuous Continuous listening - the Speech Phrase Recognition skill, Autonomous AI's Listen option, and anything else that wants everything you say.
Single One utterance and stop - the blocking Audio.WaitForSpeech() script command and its popup.
Wake Word Wake word detection, so a skill can wait for "hey robot" before listening properly.

Each is started with either a fixed phrase list (accurate, only those phrases are recognized) or free dictation (Recognize any text), depending on what asked for it.

Opening the configuration dialog stops continuous recognition and restarts it with the same grammar when the dialog closes.

Recognition accuracy

  • A fixed phrase list is far more reliable than dictation. Prefer the Speech Phrase Recognition skill with the exact phrases you intend to say.
  • Watch the log for the microphone hints; they tell you whether the problem is volume, pace or background noise.
  • Every recognized phrase is reported with a confidence between 0 and 1. Consumers such as Speech Phrase Recognition and Autonomous AI can require a minimum confidence.

Using it from a script

Audio.Say("Hello");                                  // speak
Audio.SayWait("Hello and wait until I finish");
var heard = Audio.WaitForSpeech(10, "yes", "no");    // listen for 10 seconds for yes or no

Troubleshooting

Symptom Cause
Skill will not load Not running on Windows. Use Azure Speech To Text Engine for recognition on other platforms.
"There are no speech recognition languages/cultures installed" Install a speech language pack in Windows Settings.
The log says the desired culture is not installed The saved culture was removed; reopen the configuration and pick one from the list.
Nothing is recognized No microphone selected in ARCx's audio input, or nothing in the project has asked ARCx to start listening.
Recognition is poor Use a phrase list rather than dictation, and follow the hints in the log.

See also

  • Speech Phrase Recognition - run scripts when phrases are heard
  • Azure Speech To Text Engine - cloud recognition, works on any platform
  • Advanced Speech Synthesis - natural sounding cloud voices

Control Commands for the Windows Speech Engine robot skill

There are Control Commands available for this robot skill which allows the skill to be controlled programmatically from scripts or other robot skills. These commands enable you to automate actions, respond to sensor inputs, and integrate the robot skill with other systems or custom interfaces. If you're new to the concept of Control Commands, we have a comprehensive manual available here that explains how to use them, provides examples to get you started and make the most of this powerful feature.

Control Command Manual

This skill has no control commands.

It is an engine: it supplies text to speech and speech to text to the rest of ARCx. Other skills and scripts use it indirectly.

Speaking from a script

Script command What it does
Audio.Say("text") Speaks out of the PC speaker and returns immediately.
Audio.SayWait("text") Speaks out of the PC speaker and waits until it has finished.
Audio.SayEZB("text") Speaks out of the speaker on EZB #0.
Audio.SayEZB("text", ezbIndex) Speaks out of the speaker on the given EZB.
Audio.SayEZBWait("text") Speaks out of EZB #0 and waits until it has finished.
Audio.SayEZBWait("text", ezbIndex) Speaks out of the given EZB and waits.

Listening from a script

Script command What it does
Audio.WaitForSpeech(timeoutSeconds, "phrase1", "phrase2", ...) Shows the listening popup, waits for one of the phrases to be spoken, and returns the phrase that was heard as a String. Requires at least one phrase.

Example:

var answer = Audio.WaitForSpeech(15, "yes", "no", "maybe");

if (answer == "yes")
  Audio.Say("Great");

Continuous recognition

Continuous listening is not started by a ControlCommand on this skill. Add the Speech Phrase Recognition skill (which has its own control commands for enabling and disabling listening), or turn on Listen in a skill such as Autonomous AI.

Stopping speech

The Stop Speaking button in the skill's window stops playback. There is no control command equivalent in this skill.


ARC Pro

Upgrade to ARC Pro

With Synthiam ARC Pro, you're not just programming a robot; you're shaping the future of automation, one innovative idea at a time.

#8  

This robot skill has been updated to v8.

What has changed

updated to support latest audio service of ARCx 2026.09.28.02