> ## Documentation Index
> Fetch the complete documentation index at: https://docs.innate.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Changing the Voice

MARS uses [Cartesia](https://cartesia.ai/) for text-to-speech. You can customize the robot's voice by changing the Cartesia voice ID.

## Method 1: Using `.env` (Recommended)

The simplest way to change the voice is one line in `.env`. It sets the default voice for both speech paths — the agent's chat replies and the realtime voice loop — at once. No rebuild required.

### Steps

1. Connect to your robot — either [open it in your IDE over Remote SSH](/software/development-setup) (recommended) or [SSH in from a terminal](/robots/mars/connecting-via-ssh)

2. Edit `.env` — open it in your IDE, or directly from the terminal:

```bash theme={null}
nano ~/innate-os/.env
```

3. Set your voice ID:

```bash theme={null}
CARTESIA_VOICE_ID="your-voice-id-here"
```

4. Save the file and restart the robot services (`innate service restart`) for changes to take effect.

## Method 2: Using `config/settings.yaml` (per-node)

Prefer the central [settings file](/software/configuration)? The voice is read by two nodes — `brain_client_node` (chat replies) and `input_manager_node` (the realtime voice loop) — so set `cartesia_voice_id` in **both** blocks to keep the two paths in sync:

```yaml theme={null}
brain_client_node:
  ros__parameters:
    cartesia_voice_id: "your-voice-id-here"

input_manager_node:
  ros__parameters:
    cartesia_voice_id: "your-voice-id-here"
```

Then restart the robot services (`innate service restart`). A value set here takes precedence over `.env`.

## Method 3: Editing the launch file (advanced)

For more permanent changes, you can modify the launch file directly.

### 1. Find the launch file

The voice ID is configured in the brain client launch file:

```text theme={null}
~/innate-os/ros2_ws/src/brain/brain_client/launch/brain_client.launch.py
```

### 2. Change the voice ID

Look for the `cartesia_voice_id_arg` parameter and update the `default_value`:

```text theme={null}
cartesia_voice_id_arg = DeclareLaunchArgument(
    "cartesia_voice_id",
    default_value="9fdaae0b-f885-4813-b589-3c07cf9d5fea",  # Change this ID
    description="Cartesia Alfred voice id",
)
```

Replace the voice ID with your desired Cartesia voice ID.

### 3. Build and restart

```bash theme={null}
innate build
```

## Finding Voice IDs

You can either:

* **Use an existing Cartesia voice** — Browse their voice library to find a voice ID that suits your needs

* **Create a custom voice** — Cartesia allows you to clone a voice with just 10 seconds of audio recording

Check out the [Cartesia documentation](https://docs.cartesia.ai/get-started/overview) to learn more about available voices and how to create your own.
