← Back to Plugins
Voice

Plugin Aws

wirjo By wirjo 👁 28 views ▲ 0 votes

OpenClaw plugin for AWS services: Amazon Polly TTS, Transcribe STT, Nova Sonic realtime voice

GitHub

Install

openclaw plugin install openclaw-plugin-aws

Configuration Example

{
  "plugins": {
    "entries": {
      "aws": {
        "enabled": true,
        "config": {
          "polly": {
            "enabled": true,
            "voice": "Ruth",
            "engine": "generative",
            "region": "us-east-1"
          },
          "transcribe": {
            "enabled": true,
            "region": "us-east-1"
          },
          "novaSonic": {
            "enabled": true,
            "voice": "tiffany",
            "region": "us-east-1"
          }
        }
      }
    }
  }
}

README

# openclaw-plugin-aws

OpenClaw plugin for AWS AI services — **Amazon Polly** (TTS), **Amazon Transcribe** (STT), and **Amazon Nova Sonic** (realtime voice).

All services authenticate via the standard [AWS IAM credential chain](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) — no separate API key required.

## Install

```bash
openclaw plugin install openclaw-plugin-aws
```

## Configuration

Add to your OpenClaw `config.json`:

```json
{
  "plugins": {
    "entries": {
      "aws": {
        "enabled": true,
        "config": {
          "polly": {
            "enabled": true,
            "voice": "Ruth",
            "engine": "generative",
            "region": "us-east-1"
          },
          "transcribe": {
            "enabled": true,
            "region": "us-east-1"
          },
          "novaSonic": {
            "enabled": true,
            "voice": "tiffany",
            "region": "us-east-1"
          }
        }
      }
    }
  }
}
```

## Services

### Amazon Polly (Text-to-Speech)

Provides high-quality speech synthesis with generative, neural, and standard engines.

| Key            | Default      | Description |
|----------------|--------------|-------------|
| `enabled`      | `true`       | Enable/disable |
| `voice`        | `Ruth`       | Voice ID ([full list](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html)) |
| `engine`       | `generative` | generative, neural, standard, long-form |
| `region`       | `us-east-1`  | AWS region |
| `sampleRate`   | `24000`      | Output Hz (8000/16000/22050/24000) |

### Amazon Transcribe (Speech-to-Text)

Streaming speech-to-text transcription with automatic language detection.

| Key            | Default      | Description |
|----------------|--------------|-------------|
| `enabled`      | `true`       | Enable/disable |
| `region`       | `us-east-1`  | AWS region |
| `languageCode` | `en-US`      | Default language |

### Amazon Nova Sonic (Realtime Voice)

Full-duplex bidirectional voice conversations via Bedrock's Nova Sonic model. Supports tool calling, barge-in, and automatic turn detection.

| Key           | Default                  | Description |
|---------------|--------------------------|-------------|
| `enabled`     | `true`                   | Enable/disable |
| `model`       | `amazon.nova-sonic-v1:0` | Model ID (also supports `amazon.nova-2-sonic-v1:0`) |
| `voice`       | `tiffany`                | Voice (tiffany, matthew, amy) |
| `region`      | `us-east-1`             | AWS region |
| `temperature` | `0.7`                    | Sampling temperature |
| `maxTokens`   | `4096`                   | Max output tokens |

## AWS Credentials

The plugin uses the standard AWS SDK credential chain:

1. Environment variables (`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`)
2. Shared credentials file (`~/.aws/credentials`)
3. SSO credentials (`aws sso login`)
4. EC2/ECS instance role (IAM)
5. IMDSv2 instance profile

If you already have Bedrock working, these services will authenticate automatically.

## Audio Pipeline

Nova Sonic handles sample rate conversion at the bridge boundary:

- **Telephony input** (mu-law 8kHz) → upsample to PCM 16kHz → Nova Sonic
- **Browser Talk input** (PCM 24kHz) → resample to PCM 16kHz → Nova Sonic
- **Nova Sonic output** (PCM 24kHz) → downsample/encode to match caller format

## Requirements

- OpenClaw ≥ 2026.6.0
- AWS credentials with appropriate permissions:
  - `polly:SynthesizeSpeech`, `polly:DescribeVoices`
  - `transcribe:StartStreamTranscription`
  - `bedrock:InvokeModelWithBidirectionalStream` (for Nova Sonic)

## License

MIT
voice

Comments

Sign in to leave a comment

Loading comments...