---
title: 'Voice: narration, cloning and voice change'
display: '*Voice*: narration, cloning and voice change'
nav_title: 'Voice: narration, cloning and voice change'
summary:
  - "Turn a script into narration or dialogue, train a reusable voice, or re-voice a take that has the right performance."
  - "Steer delivery with the voice, inline tags in the model's own style, and punctuation, never plain instructions."
  - "Get written consent before you clone or change a voice, and confirm every take, new or changed, with a transcript."
description: Turn a script into narration or dialogue, clone a voice or change one with the speaker's consent, clean the source, and check every word with a transcript.
section: audio
order: 30
type: guide
level: Build
roles: [creator, artist, art-director, marketer, team-lead, admin, developer]
time: { read: 14, do: 25 }
needs: ["Any plan with credits; the example uses ElevenLabs v4", "A final script", "To clone a voice: written consent from the speaker, clean recordings, and a Pro, Max or Enterprise plan"]
last_verified: 2026-11-11
models_checked: ["ElevenLabs v4", "Gemini 3.8 Flash TTS", "Minimax Speech 2.8 HD", "Seed Audio 1.0", "Qwen Audio 3.0 TTS", "Gemini 3.5 Transcribe", "ElevenLabs Voice Changer", "ElevenLabs Voice Isolator", "Lux TTS", "Tada 3B Text to Speech", "ElevenLabs v4 Turbo"]
related: [audio-on-scenario, transcribe-and-subtitle]
pdf: true
run_in: [model_google-gemini-3-8-flash-tts]
thumb: audio/narration-and-speech/thumb.webp
video: tutorials/narration-and-speech.mp4
chapters:
  - { at: 0, title: "The voice and its delivery tags", image: "/media/images/audio/narration-and-speech/ch-01-the-voice-and-its-delivery-tags.webp" }
  - { at: 20.5, title: "The same line on two models", image: "/media/images/audio/narration-and-speech/ch-02-the-same-line-on-two-models.webp" }
  - { at: 65.5, title: "Write for the ear", image: "/media/images/audio/narration-and-speech/ch-03-write-for-the-ear.webp" }
  - { at: 84.5, title: "Breath, feeling, timing", image: "/media/images/audio/narration-and-speech/ch-04-breath-feeling-timing.webp" }
  - { at: 112, title: "No timestamps in speech models", image: "/media/images/audio/narration-and-speech/ch-05-no-timestamps-in-speech-models.webp" }
  - { at: 126.5, title: "Consent and clean sources", image: "/media/images/audio/narration-and-speech/ch-06-consent-and-clean-sources.webp" }
  - { at: 148, title: "Train a voice", image: "/media/images/audio/narration-and-speech/ch-07-train-a-voice.webp" }
  - { at: 168.5, title: "Keep the performance, swap the voice", image: "/media/images/audio/narration-and-speech/ch-08-keep-the-performance-swap-the-voice.webp" }
  - { at: 198, title: "Transcribe it", image: "/media/images/audio/narration-and-speech/ch-09-transcribe-it.webp" }
  - { at: 216.5, title: "Recap", image: "/media/images/audio/narration-and-speech/ch-10-recap.webp" }
steps:
  - title: "The same line on two models"
    text: "ElevenLabs v4 with Voice Alice and Stability 0.5 takes square-bracket tags. Gemini 3.8 Flash TTS with Voice Kore (Female) and Language English (US) takes angle-bracket tags; the two styles aren't interchangeable."
    prompt: |-
      [calm] Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. [short pause] The lamp is old, the stairs are older, and the cat, as usual, is already at the top.

      Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. <short pause> The lamp is old, the stairs are older, and the cat, as usual, is already at the top.
  - title: "Write for the ear"
    text: "Spell numbers the way they're said, keep sentences short and let punctuation set the timing. Respell made-up names phonetically and make one take per paragraph."
  - title: "A dialogue in one take"
    text: "On Gemini 3.8 Flash TTS, Multi-speaker › Add Multi-speaker, then a Speaker name and a Voice for each speaker, such as Puck (Male) for the keeper. In Text, write each line as the name, a colon and the words."
  - title: "Direct the delivery on ElevenLabs v4"
    text: "Place each tag right before the words it changes. Stability 0.5 is a good start (lower is livelier, higher is steadier); Similarity Boost 0.75, Output Format WAV when you'll mix, a Seed to repeat a take."
    prompt: |-
      [sighs] The lamp again. [slowly] One more night, and then the keeper rests.
  - title: "Consent and clean sources"
    text: "Get the speaker's written permission before any cloning or voice change, and keep it with the project. Run ElevenLabs Voice Isolator first on a recording with noise, echo or music."
  - title: "Train a voice"
    text: "Create › Train › Audio › Clone a voice › Instant Voice Cloning (IVC) › Next, on a Pro, Max or Enterprise plan. Upload at least one minute of one speaker, every sample five seconds or longer, name the voice, set its language, train, then test it in ElevenLabs v4."
  - title: "Re-voice a take"
    text: "Pick ElevenLabs Voice Changer, add the take under Audio (under 5 minutes) and choose the target: a Public Voice such as George, or your clone under Voice. Click Generate."
  - title: "Transcribe it"
    text: "Create › Text › Gemini 3.5 Transcribe, add the take under Audio, Generate, and read the transcript against the script. If a word changed, such as \"night house\" for \"lighthouse\", raise Stability or re-voice just that sentence."
agent_steps:
  - title: "Connect the Scenario MCP"
    text: "Connect your agent and sign in once at [mcp.scenario.com](https://mcp.scenario.com). Then tell it which Scenario team and project to use, so every file lands there."
  - title: "Give the agent the script and the takes"
    text: "The script, one paragraph per take, and for a re-voice the recorded take: upload it with upload_asset or give its asset ID. Keep the speaker's written permission with the project; a cloned voice is trained in the web app first (Create › Train)."
  - title: "Brief the agent: the same line on two models"
    prompt: |-
      Read model_schema_get for each model first. 1. ElevenLabs v4 (model_elevenlabs-tts-v4), public voice Alice, Stability 0.5, with this text, word for word:
      [calm] Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. [short pause] The lamp is old, the stairs are older, and the cat, as usual, is already at the top.

      2. Gemini 3.8 Flash TTS (model_google-gemini-3-8-flash-tts), voice Kore (Female), language English (US), with this text, word for word:
      Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. <short pause> The lamp is old, the stairs are older, and the cat, as usual, is already at the top.

      The tags set the delivery and must not be read aloud. Quote the cost with a dry run first and wait for my go.
  - title: "Re-voice the approved take"
    prompt: |-
      Run ElevenLabs Voice Changer (model_elevenlabs-voice-changer) on the approved ElevenLabs v4 take, reading model_schema_get first. Target: the public voice George, or my cloned voice if I name it. Quote the cost with a dry run first and wait for my go.
  - title: "Check every take by transcribing it"
    text: "Accept when each transcript matches the script word for word, no tag is read aloud and the voice stays the same across the take. Reject a missing or changed word (\"night house\" for \"lighthouse\"), a spoken tag or a drifting voice; redo only that sentence."
    prompt: |-
      Wait for the jobs with jobs_wait, then transcribe every take with Gemini 3.5 Transcribe (model_google-gemini-3-5-transcribe). Show me each transcript next to the script and mark every word that differs. Quote the cost with a dry run first and wait for my go.
  - title: "File and report"
    prompt: |-
      Create a collection for the narration with the approved takes and their transcripts, and report the models, voices, settings and every asset ID.
updated: 2026-11-11
canonical: https://learn.scenario.com/audio/narration-and-speech
---

Last updated: 2026-11-11

# Voice: narration, cloning and voice change

> Turn a script into narration or dialogue, clone a voice or change one with the speaker's consent, clean the source, and check every word with a transcript.

In short:

- Turn a script into narration or dialogue, train a reusable voice, or re-voice a take that has the right performance.
- Steer delivery with the voice, inline tags in the model's own style, and punctuation, never plain instructions.
- Get written consent before you clone or change a voice, and confirm every take, new or changed, with a transcript.


This lesson turns a script into narration, controls how it's performed, trains a voice of your own, and re-voices a take you already have. You'll use ElevenLabs v4 and Gemini 3.8 Flash TTS for speech, Instant Voice Cloning for a trained voice, ElevenLabs Voice Changer to swap the voice on a take, and Gemini 3.5 Transcribe to check every result.

:::note As of November 2026
The models, settings and screens in this article are the ones Scenario offered in November 2026. New models and updates arrive often, so check the app for newer options before you choose.
:::

:::steps Quick version
1. Open **Create** › **Audio**, pick a speech model, then a voice in **Voice** or **Public Voice**.
2. Write only the words in **Text**, with delivery tags in that model's style: square brackets on ElevenLabs v4, angle brackets on Gemini 3.8 Flash TTS.
3. Set **Language** to the script's language, keep one paragraph per take, and click **Generate**.
4. To train a voice: **Create** › **Train** › **Clone a voice** › **Instant Voice Cloning (IVC)**, with the speaker's written permission and clean samples.
5. To re-voice a take: **ElevenLabs Voice Changer**, a target voice, **Generate**. Then transcribe every take.
:::

## Before you start

A speech model performs every character you type, so "say this sadly" is read aloud. You steer it with three things instead:

| Lever | What it sets |
|---|---|
| **The voice** you pick | Age, accent and energy, more than anything else |
| **Delivery tags**, placed right before the words they change | A breath, a sigh, a feeling, a pause, the pace |
| **Punctuation and line breaks** | The timing |

Two models to start with:

| You need | Model | Notes |
|---|---|---|
| The most expressive read, or your cloned voice | ElevenLabs v4 | Square-bracket tags such as `[calm]`, `[whispering]`, `[sighs]`; 21 preset voices or a cloned voice; up to 10,000 characters per take |
| Many languages, two speakers in one take | Gemini 3.8 Flash TTS | Angle-bracket tags such as `<sigh>`, `<laugh>`, `<short pause>`; 30 voices, 24 languages; up to 2 speakers; up to 5,000 characters |
| A few lines in a voice from one short clip, without training | Lux TTS, Tada 3B Text to Speech | Take a reference clip |
| Alternatives to compare | Minimax Speech 2.8 HD, Seed Audio 1.0, Qwen Audio 3.0 TTS, ElevenLabs v4 Turbo | Test on your own script |

ElevenLabs v4 Turbo uses the same voices and tags as v4 and runs faster: draft with it, then re-run the final take on v4. The cost of every take shows on the **Generate** button.

:::flow Script to approved take
Voice | preset, cloned or changed | audio
Script | written for the ear, tags inline | text
Take | one paragraph or scene | audio
Check | transcript against the script | text
:::

## Step 1: The same line on two models

Here's the narration from [Audio on Scenario](https://learn.scenario.com/audio/audio-on-scenario.md) on ElevenLabs v4, voice **Alice**, **Stability** 0.5. Its tags use square brackets:

```prompt
[calm] Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. [short pause] The lamp is old, the stairs are older, and the cat, as usual, is already at the top.
```

<audio controls src="https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/2611eaed75307470b85472412cdf9ca7360d800999e27e9b9b0141bef2cdf57e.mp3"></audio>

On Gemini 3.8 Flash TTS, the same line uses angle brackets. Pick **Gemini 3.8 Flash TTS**, set **Voice** to **Kore (Female)** and **Language** to **English (US)**, then generate:

```prompt
Every evening at six, the keeper climbs the hundred and twelve steps of the lighthouse. <short pause> The lamp is old, the stairs are older, and the cat, as usual, is already at the top.
```

![Gemini 3.8 Flash TTS with the script and its short pause tag in angle brackets, voice Kore (Female), and the 00:13 take in the session](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/1caff1c3828c3964f3c43ab479a911aedec787d5f6514cc3c8c8c87be3fb8bca.webp)

<audio controls src="https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/00545f61c1a95f2ad49dbb9ff1b7db7b94a687d7ec55dfc22034420f2ee93001.mp3"></audio>

The two tag styles aren't interchangeable: a tag the model doesn't know can be read aloud. On Gemini, always set **Language** to the language of the script. A wrong setting gives an accent or mispronounced words.

## Step 2: Write for the ear

- **Spell numbers the way they're said:** "a hundred and twelve", not "112". The same goes for times and abbreviations: "six p.m.", "Doctor".
- **Keep sentences short.** Long clauses flatten the read.
- **Punctuation is timing.** A comma is a breath, a period a stop, a paragraph break a longer pause.
- **Respell made-up names** phonetically ("Ah-LAY-ah") and keep that spelling in every take.
- **One take per paragraph.** Short takes are easy to check and redo.

## Step 3: A dialogue in one take

Gemini 3.8 Flash TTS can voice two speakers in one take:

1. Open **Multi-speaker** and click **Add Multi-speaker**.
2. For each speaker, fill in **Speaker name** and pick a **Voice**, for example **Puck (Male)** for the keeper.
3. In **Text**, write each line as the name, a colon, and the text: `Keeper: ...` then `Cat: ...` on the next line.

![Multi-speaker open on Gemini 3.8 Flash TTS, with a Speaker name field, Voice Puck (Male) and Add Multi-speaker](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/949afdb68afcac503539ddba95ad79082f54a40d597aa3e525f4282df44d8a9f.webp)

## Step 4: Direct the delivery on ElevenLabs v4

On ElevenLabs v4, tags go further than pauses: a breath or a sigh, a feeling, or the pace of the next words. Place each tag right before the words it changes:

```prompt
[sighs] The lamp again. [slowly] One more night, and then the keeper rests.
```

![ElevenLabs v4 with the sighs and slowly tags in Text, voice Alice, and the 00:07 take](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/6f4b44619b647fda1c001b1a549aa6149604baee4ca3f284c63c466793f299e6.webp)

Listen to the take: no tag is read aloud, and the sigh is there. Tags can be single words like `[sighs]` or `[whispering]`, or short directions.

### Stability

**Stability** sets how much the read varies:

- **Lower** is livelier and more emotional, but less predictable from take to take.
- **Higher** keeps a long narration even.
- **0.5**, the default, is a good start.

![The ElevenLabs v4 voice settings: Public Voice Alice, Stability 0.5, Similarity Boost 0.75, Output Format MP3 44100Hz 128, Seed](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/80aae562435bc1c77a1ccbf52d8a6a9274f108d8d95572a933398518281d4e8d.webp)

The other settings:

- **Similarity Boost** (default 0.75): how closely the take holds to the voice.
- **Output Format**: MP3 by default; pick WAV when you'll edit and mix.
- **Seed**: set it to repeat a take exactly.

### Exact timing

Speech models don't take timestamps. For narration that must land on a cut, use pause tags, or make one take per line and place each one in your editor.

## Step 5: Consent and clean sources

Before any cloning or voice change, you need the speaker's **written permission** for that use, and you keep it with the project. That includes teammates and hired actors. Never clone a public figure or anyone who hasn't agreed. See [Usage restrictions and content policy](https://learn.scenario.com/browse#t-hc-accounts-legal).

Every voice tool copies what's in the source, including noise: a clone learns background noise as part of the voice. If a recording isn't clean, run **ElevenLabs Voice Isolator** first. Find it by name in the model menu: it removes noise, music and ambient sound and returns the voice. It can't recover a word the noise covered.

| You have | You want | Use |
|---|---|---|
| Clean recordings of one speaker | That voice for any new script | A trained voice clone, then ElevenLabs v4 |
| A recorded take with the right performance | The same words, timing and emotion in another voice | ElevenLabs Voice Changer |
| A take with noise, echo or music | The voice alone | ElevenLabs Voice Isolator |

## Step 6: Train a voice

Voice cloning is a training job, so it needs a Pro, Max or Enterprise plan.

1. Open **Create** › **Train** and start a training.
2. Under **Audio**, choose **Clone a voice**, then **Instant Voice Cloning (IVC)**, marked **Start here**. Click **Next**.

![Train, Choose a Model: Clone a voice selected, with Instant Voice Cloning (IVC) checked and Professional Voice Cloning (PVC) below](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/1420f9d34955fe2dd513f867ae010a06bea4260926c49af527c4ad8390a114b8.webp)

3. Upload the samples: **at least one minute in total**, every sample **five seconds or longer**. One speaker, no music, natural speech with varied intonation. The upload takes mp3, wav, m4a, ogg or flac, up to 25 files of 10 MB each.
4. Name the voice so your team recognizes it, set its language, and train. An instant clone is ready in seconds.
5. Test it in ElevenLabs v4 on a neutral sentence, a long paragraph and an emotional line, and transcribe each take.

![Cloning a voice, consent first: written consent, clean samples, at least 1 minute in total with each sample 5 seconds or longer, train Instant Voice Cloning from Create > Train, then test and transcribe](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/a03c778459610e1231f2b514a70a178378ff8add68e8cd83980e1551854c9e81.svg "Consent first, clean samples, then train and test the clone.")

**Professional Voice Cloning (PVC)** shows **Access required**. It's for demanding production work, and needs your organization's own ElevenLabs API key under **Settings** › **Organization** › **External Keys** and a one-time consent recording read by the voice owner.

## Step 7: Re-voice a take

To keep a performance but change who speaks, use **ElevenLabs Voice Changer**. It keeps the words, timing and emotion.

1. Pick **ElevenLabs Voice Changer** in the model menu.
2. Under **Audio**, add the take (under 5 minutes). Here, the ElevenLabs v4 narration.
3. Choose the target: a **Public Voice** such as **George**, or your own clone under **Voice**.
4. Click **Generate**.

![ElevenLabs Voice Changer with the narration under Audio and Public Voice George, next to the source and the re-voiced take, both 00:12](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/72654b8466de168a85b9b9f9bcd380a5f64e9d7825c9847beebd35c9b8211127.webp)

The re-voiced take has the same length and pacing as the source:

<audio controls src="https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/bc10c10551d3d79b8244681189c6b469e2e5884ea4b60a2650255f187edaef45.mp3"></audio>

Its other settings include **Input File Format**, **Remove Background Noise**, **Stability**, **Similarity Boost**, **Style Exaggeration** and **Speaker Boost**.

## Step 8: Transcribe it

Transcribe a changed voice like any narration: **Create** › **Text** › **Gemini 3.5 Transcribe**, add the take under **Audio**, **Generate**, and read the transcript against the script.

![Gemini 3.5 Transcribe on the re-voiced take, with the transcript in the session: every word matches](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/c7cbcf93cae7aedb836c9328a24fea08bc0b0155a2075bfbebd10668715eb01e.webp)

Here every word matches; numbers come back as digits. Voice changes can soften a sound, though. In one of our tests, "lighthouse" came back as "night house". You only catch that by reading. If it happens, raise **Stability**, or re-voice just that sentence.

:::check
**Accept when:** the transcript matches the script word for word, names sound the same in every take, no tag is read aloud, a cloned or changed voice stays the same voice across a long paragraph, and the pace leaves room for the picture.
**Reject when:** a word is missing, added or changed (as in "night house"), a number is read the wrong way, a tag is spoken, the voice drifts mid-take, noise comes through as part of the voice, or the last word is cut off.
:::

## Common problems

| What you see | What to do |
|---|---|
| The model reads your instructions aloud | Move them into tags, or remove them and choose a different voice |
| A tag is spoken | It's the wrong tag style for that model (square or angle brackets), or a tag the model doesn't know |
| An accent or wrong pronunciation on Gemini | Set **Language** to the language of the script |
| A word is mispronounced or changed | Respell it phonetically, raise **Stability**, and redo only that sentence |
| The voice drifts over a long take | Raise **Stability**, or split the script into shorter takes |
| The narration doesn't land on the cut | Use pause tags, or one take per line placed in your editor |
| The clone sounds noisy, muffled or like two people | Fix the samples: isolate the voice, cut other speakers, train again |
| A sample is refused | It's shorter than 5 seconds, or the total is under 1 minute |
| The job failed or is stuck | See [Failed or stuck jobs](https://learn.scenario.com/browse#help-center) |

## What's next

Next, [Sound for video](https://learn.scenario.com/audio/sound-effects-and-foley.md) makes effects from a description and sound timed to a locked clip. To go further with transcripts and subtitles, see [Transcribe and subtitle](https://learn.scenario.com/audio/transcribe-and-subtitle.md).

Source: https://learn.scenario.com/audio/narration-and-speech
