> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# Groq

> Learn how to use Groq-hosted Orpheus TTS voices with SignalWire AI Voice applications.

Groq hosts Canopy Labs' Orpheus text-to-speech models, offering fast, expressive voices
in English and Arabic.

The `groq-tts` engine replaces the retired `playai-turbo` engine.
If you were using `playai-turbo` voices, switch to `groq-tts` with one of the voices below.

## Models

SignalWire supports the following Orpheus models on Groq.
See [Groq's text-to-speech documentation](https://console.groq.com/docs/text-to-speech) for more detail.

| Model                             | Description                                                                   |
| --------------------------------- | ----------------------------------------------------------------------------- |
| `canopylabs/orpheus-v1-english`   | **Default.** English voices                                                   |
| `canopylabs/orpheus-arabic-saudi` | Arabic (Saudi dialect) voices. The shorthand `arabic` also selects this model |

## Voices

Groq's Orpheus deployment provides the following voices:

| Voice    | Description                                                          |
| -------- | -------------------------------------------------------------------- |
| `autumn` | Female. Used as the fallback when an unrecognized voice is requested |
| `diana`  | Female                                                               |
| `hannah` | Female                                                               |
| `austin` | Male                                                                 |
| `daniel` | Male                                                                 |
| `troy`   | Male                                                                 |

Preview the voices in Groq's documentation:

#### [Groq TTS docs](https://console.groq.com/docs/text-to-speech)

Reference for Orpheus models and voices on Groq.

#### [Groq console](https://console.groq.com/)

Try Orpheus voices in the Groq playground.

## Expressive speech

Orpheus supports inline vocal direction tags in the text to be spoken, such as
`<giggle>` and `<sigh>`, to add expressiveness. The `speed` setting is not supported.

## Languages

Each model supports one language:

| Language       | Model                             |
| :------------- | :-------------------------------- |
| English        | `canopylabs/orpheus-v1-english`   |
| Arabic (Saudi) | `canopylabs/orpheus-arabic-saudi` |

## Usage

A voice identifier string has three parts: the `groq-tts` engine code, a voice ID, and an optional model.

**Format**: `groq-tts.<voiceId>:<model>`

* `voiceId` (required): one of the [voices](#voices) above (for example, `autumn`).
* `model` (optional): one of the [models](#models) above. Defaults to `canopylabs/orpheus-v1-english`.

**Examples**:

```text
groq-tts.autumn
groq-tts.troy:canopylabs/orpheus-v1-english
groq-tts.daniel:arabic
```

You can also set the model with the separate
[`model`](/docs/swml/reference/ai/languages#use-voice-strings)
parameter of the [`languages`](/docs/swml/reference/ai/languages) SWML method
instead of appending `:model` to the voice string:

```yaml
languages:
- name: English
  code: en-US
  voice: groq-tts.autumn
  model: canopylabs/orpheus-v1-english
```

---

## Build with Groq on SignalWire

### Create a Space and add credit

If you don't have one yet, you'll need to
[create a SignalWire Space](/docs/platform/signing-up-for-a-space).
Be sure to add some credit to test with.

### Add a new Resource

Navigate to the **Resources** tab in your [SignalWire Dashboard](https://my.signalwire.com) and click **+ Add New** to create a new Resource.

### Create a SWML Script

From the Resources menu, select **SWML Script**.
Name it something fun and recognizable.
Ours is titled Groq Wizard.

Next, paste the following starter script into the text box, and hit <kbd>Save</kbd>:

```yaml
version: 1.0.0
sections:
  main:
  - ai:
      prompt:
        text: |
          You're Autumn, a voice from the Orpheus TTS engine hosted on Groq!
          Introduce yourself, and have a conversation about programmable unified communications on the SignalWire platform.
      languages:
      - name: English
        code: en-US
        voice: groq-tts.autumn
```

### Buy and assign a phone number

Navigate to the **Phone Numbers** section of the Dashboard's left sidebar menu.

Purchase a phone number and assign it to the desired SWML script.

In the Dashboard, open **Phone Numbers** > **Purchased**, select the number, and open its edit page. Under **Inbound Call Settings**, select **+ Assign Resource**, choose the SWML script, and save the settings.

### Give it a call!

Call the number you just assigned to chat with your new AI voice application on the phone.

## Next steps with SWML

Now you've deployed your very first SignalWire voice AI application using Groq-hosted Orpheus voices.
Next, dive deeper into SWML to explore its capabilities!

#### [Methods reference](/docs/swml)

Documentation for all SWML methods

#### [AI in SWML](/docs/swml/guides)

Build advanced AI applications using SignalWire Markup Language

#### [Guides](/docs/swml/guides)

SWML guides and demo applications