UBTECH Alpha Servos UBT-12HC icon UBTECH Alpha Servos UBT-12HC — Control UBTECH Alpha UBT-12HC smart servos via ARC using EZ-B v4/IoTiny UART, assign virtual ports, set baud, custom bits and position mapping. Try it →
 
Basic Speech Synthesis Robot Skill

Basic Speech Synthesis

by Synthiam Inc.

English-only cloud TTS for ARCx using classic Windows voices; speaks project audio on PC or EZB speaker with one-login setup

Requires ARCx v5 (Updated 9/29/2026)
Tags: Audio
Compatible with: Compatible with Microsoft Windows 10 or 11 Windows Compatible with ARM Linux (Raspberry pi, etc) ARM Compatible with Linux Linux Compatible with MacOS MacOS

How to add the Basic Speech Synthesis 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 Basic Speech Synthesis 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 Basic Speech Synthesis robot skill.


How to use the Basic Speech Synthesis robot skill

English-only text to speech. This robot skill is a text to speech engine: it does not speak on its own, it is what ARCx uses when anything in the project asks for speech.

Audio is rendered by Synthiam's cloud service using the classic Windows voice and played out of the PC speaker (or out of an EZB, depending on which script command is used).

Requirements

  • You must be logged into your Synthiam account in ARCx. The audio is synthesized by Synthiam's web service, and without a login the skill raises "There is no user logged into ARC."
  • An internet connection.
  • Only one instance of this skill is allowed per project, and only one text to speech engine skill should be in a project at a time. If you want natural sounding or non-English voices, use Advanced Speech Synthesis instead.

Adding it to a project

  1. Add the skill to the project (Audio category).
  2. That is the whole setup - there is nothing to configure.
  3. Anything that speaks now works: the Audio.Say() script command, the Autonomous AI skill's voice, speech responses from other skills, and so on.

The window

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

  • Stop Speaking - stops whatever is being spoken right now, immediately.
  • Log - the last 25 lines of activity, including what was spoken and any errors.

Configuration

There is no configuration for this skill. The voice is fixed.

Speaking from a script

Audio.Say("Hello, I am a robot");          // PC speaker, returns immediately
Audio.SayWait("Hello, I am a robot");      // PC speaker, waits until finished
Audio.SayEZB("Hello from my own speaker"); // EZB #0 speaker
Audio.SayEZBWait("Hello", 0);              // EZB #0 speaker, waits until finished

Every one of these routes through whichever text to speech engine skill is in the project - this one, if it is the one you added.

Troubleshooting

Symptom Cause
"There is no user logged into ARC" Log into your Synthiam account in ARCx.
Nothing is spoken and nothing is logged No text to speech engine skill in the project, or something else in the project is speaking through an EZB rather than the PC.
The voice is robotic or you need another language Use the Advanced Speech Synthesis skill, which uses Azure neural voices.

See also

  • Advanced Speech Synthesis - natural sounding, many languages
  • Windows Speech Engine - offline synthesis using the voices installed in Windows

Control Commands for the Basic Speech Synthesis 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 a text to speech engine. It does not receive commands; it provides the voice that ARCx uses whenever something asks for speech.

How to make it speak

Use the Audio object from a JavaScript or Python 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.

Example:

Audio.SayWait("Hello, my name is Six");
Audio.Say("I am going to move now");

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

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.