> For the complete documentation index, see [llms.txt](https://docs.siminsights.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.siminsights.com/hyperskill-studio-authoring/state-machine-reference/actions/speak.md).

# Speak

Enables a virtual person to gesture and speak with generated text-to-speech.

Speak enables a virtual person to gesture and speak, using generated text-to-speech or an uploaded recording.

<figure><img src="https://2704613365-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxYaaXoZ4YGbVdAnAhdcE%2Fuploads%2FgjqqNvcU4NZkjwV10exO%2Fimage.png?alt=media&#x26;token=7cc64699-6589-496c-86a3-cbff6fc0c72a" alt="" width="302"><figcaption></figcaption></figure>

**Message:** The text to speak. Click the **Headphone** icon to preview the spoken text.

**Person:** The virtual person that does the speaking.

**Audio Output Type:** If **Text to Speech** is used, the speech audio is generated. If further customization is required, the **Uploaded Audio** option lets you upload pre-recorded voices.

**Voice:** Only available for an audio output type of **Text to Speech**. The list of voices available for generation.

**Custom voice ID:** Only available for an audio output type of **Text to Speech**. A text field for entering a custom voice ID. Custom voice IDs work with both ElevenLabs and Google Text-to-Speech.

**Audio File:** Only available for an audio output type of **Uploaded Audio**. The file of the pre-recorded voice.

**Animation Type:**

* None: Do not animate the virtual person while speaking.
* Random: (Default) Use a random speaking animation while speaking.
* Selected: Select a specific animation to use while speaking.

**Animation:** Only available for a **Selected** animation type. The animation to play when speaking.

**Wait Until Finished Speaking:** If active, the state machine pauses until the virtual person's speech has finished playing.
