# Custom voices for GPT‑Live‑1

One WebSocket URL and one header put a different voice inside the live stream. The interruptions, the pauses and the "mhmm"s arrive unchanged.

 [Get started](https://livoice.dev/sign-up) [Play demo](https://livoice.dev/#tutor)

## Your GPT‑Live‑1 agent, in a voice OpenAI doesn't ship

- Your own voice, on a Hermes or OpenClaw agent.
- A character or brand voice, on your product.
- Your users' voices, cloned from a minute of speech each.

[Play demo](https://livoice.dev/#tutor)

## Hear the Japanese tutor in both voices

Twenty seconds of one real session on GPT‑Live‑1. Switch between OpenAI's voice and the tutor's. The pauses and corrections are the same.

[OpenAI voice audio](https://livoice.dev/audio/tutor_openai.mp3)

[Tutor voice audio](https://livoice.dev/audio/tutor_livoice.mp3)

   0:20

Sign up to talk to the tutor live.

[Try it live](https://livoice.dev/demo?voice=azuma)

## Swap one URL in your own code or in Pipecat

Point your WebSocket at Livoice, pass your key and the voice in the URL, and move your OpenAI key to one header. It is forwarded for that session and never stored.

```
- wss://api.openai.com/v1/realtime?model=gpt-live-1
+ wss://api.livoice.dev/v1/live/sessions?voice=xvc_maz&key=lv_…
- Authorization: Bearer sk-…
+ X-OpenAI-Token: sk-…
```

Or install the skill and your coding agent does the swap.

```
npx skills add https://livoice.dev
```

[Docs](https://livoice.dev/skill)

## Put your own voice on your Hermes or OpenClaw calls

Neither exposes the GPT‑Live endpoint in config yet, so each needs a small patch. It's in the repo, and the SKILL.md applies it.

[View on GitHub](https://livoice.dev/patch)

## Clone a voice from a minute of speech

Ready in about a minute. Another ten to fine‑tune for a closer match. The speaker has to consent.

Two voices are ready without cloning: the Japanese tutor and Justin's.

[Clone a voice](https://livoice.dev/sign-up?next=/app)

## Nothing about GPT‑Live‑1 changes except the voice

It still waits when you pause to think, cuts in with a correction, says "yeah" and breathes while you talk. Livoice adds about 200 ms.

[Compare voices](https://livoice.dev/#tutor)

## If you haven't picked a voice model yet

Turn‑based models wait for silence, so they jump in when you pause, and while they're talking they aren't listening. GPT‑Live‑1 listens while it talks.

Turn‑based

Turn-based: you and the model speak in alternating blocks; the model starts only after you stop, and stops when you start.

GPT‑Live‑1

GPT-Live-1: the model says short things while you speak, waits through your pause, and cuts in with a correction while you're still talking.

Full Duplex Bench puts it at 80.1 interactivity against 45.4 for GPT‑Realtime‑2.1, and 0.8 s turn‑taking against 1.4 s. It only ships with OpenAI's default voices.

[Play demo](https://livoice.dev/#tutor)

## Try getting a word in edgewise

Ten seconds with a combative Trump parody that cuts you off mid‑sentence and keeps going.

[Audio demo](https://livoice.dev/audio/trump_live.mp3)

   0:11

Sign up for the live one.

[Try it live](https://livoice.dev/demo?voice=xvc_trump)

$0.05 a minute

- Cloning is free.
- 30 seconds to try, no card. Then $0.05 a minute.
- No minimum contract.

[Start free](https://livoice.dev/sign-up)

## Questions? Write to me

Not sure how it fits your workflow? Tell me what you're building and I'll see if there's a way it fits. I'm a solo dev trying to get validation on this, and if you read this far but it's not the right shape for you, I'd love to know why.

[Contact form](https://livoice.dev/#contact) · [Integration guide](https://livoice.dev/skill.md) · [Authentication](https://livoice.dev/auth.md)
