Vois
Back to BlogCreator Guides

The Complete Guide to Vois Script Formatting

Vois TeamVois Team
March 14, 2026
8 min read

TLDR:Vois scripts use speaker tags for multi-character dialogue, 9 emotion tags for expression ([laugh], [sigh], [gasp], [chuckle], and more), pause nodes for exact silence timing (300-3000ms), and standard punctuation for natural pacing. Slash commands organize long scripts with headings, notes, and sections.

A human narrator reads between the lines. They add inflection, adjust pacing on instinct, and pause before a reveal. In Vois, you can make those performance decisions visible in the script with speaker tags, expression tags, punctuation, and pause nodes.

That control is useful when the recording needs to be repeatable. The editor keeps the structure with the text, so you can review what the listener will hear, revise one beat, and generate again without reconstructing the performance.

The sections below show how each formatting feature supports that workflow, from role assignment through the final pacing pass.

Writer at desk with ideas flowing

How Do Speaker Tags Work?

Every multi-character project starts with speaker tags. They tell Vois who's talking, and each speaker gets their own voice from the 100+ production voices across 21 categories.

To insert a speaker tag, type / anywhere in the editor. Select Speaker from the menu. Type a name (or pick an existing one from the suggestions). Press Enter. A colored pill appears in the editor, and anything you type after it becomes that character's dialogue.

[Narrator]: The letter arrived on a Tuesday.

[Elena]: I wasn't expecting anything.

[Narrator]: She would remember that detail for the rest of her life.

Three speakers. Three voices. Each tagged, each colored differently in the editor so you can see the structure of your script at a glance.

Multi-line continuation works naturally. Text on lines below a speaker tag (without a new tag) continues that speaker's dialogue:

[Narrator]: The sun set slowly over the mountains.
The colors painted the sky in shades of orange and purple.
It was the most beautiful evening anyone could remember.

All three lines are spoken by the Narrator in a single block.

For rapid exchanges, you can place multiple speakers on the same line:

[Host]: What's your take? [Guest]: I completely agree! [Host]: Perfect.

Three separate segments, three voice changes, one line. Natural back-and-forth.

Can You Add Emotion to AI Speech?

When using the expressive engine, you can insert paralinguistic tags that add non-verbal expression to your dialogue. Type [ right after a speaker tag to see what's available.

Vois supports nine expression tags:

Tag Effect Best For
[laugh] Natural, genuine laughter Comedy, warmth, shared moments
[sigh] Audible exhalation Frustration, resignation, relief
[gasp] Sharp intake of breath Shock, fear, surprise
[cough] Natural cough sound Nervousness, interruption
[chuckle] Soft, understated amusement Dry humor, gentle warmth
[groan] Frustrated or pained sound Displeasure, exasperation
[shush] Hushing sound Quieting someone, urgency
[sniff] Audible sniff Crying, cold, disdain
[clear throat] Brief throat clearing Before speaking, nervousness

Place them right after the speaker tag, before the dialogue text:

[Host]: [laugh] That's the funniest thing I've heard all week.
[Guest]: [sigh] I know, right? It gets worse.
[Elena]: [shush] Don't let him hear you.

The nine tags in this list work with the expressive engine. The fast and multilingual engines ignore them. Omni is Pro-only and has its own native tag set, so keep expressive and Omni tags distinct when preparing scripts.

Person listening to audio with headphones

How Do You Control Silence and Timing?

Pacing is what separates natural-sounding audio from a wall of monotone speech. Vois gives you two systems for controlling it: punctuation and pause nodes.

Punctuation as Natural Pacing

Every punctuation mark in your script shapes the audio rhythm. No special markup needed.

Punctuation Use in the script What to listen for
Comma , Keep a related clause connected A smooth phrase rather than a string of fragments
Semicolon ; Join closely related thoughts A deliberate relationship between ideas
Period . End one thought before the next A clear shift in energy or idea
Ellipsis ... Let a thought trail off A hesitation that supports the meaning

Punctuation shapes phrasing rather than giving a fixed silence duration. Short sentences can create urgency, and longer sentences with commas or semicolons can feel measured. Listen to the rendered scene before deciding whether a pause node is necessary.

[Narrator]: She couldn't cry.
Not anymore.
The tears had stopped somewhere around midnight.
Around the time hope had run out.

Four short lines. Staccato rhythm. Emotional weight in every sentence break.

Pause Nodes for Exact Timing

When punctuation isn't precise enough, pause nodes give you exact control. Type / and select Pause. Pick a duration from the presets (300ms, 500ms, 1s, 1.5s, 2s, or 3s). An amber pill appears in the editor showing the duration. Click any existing pause pill to fine-tune it with a slider.

[Narrator]: She opened the envelope.
[pause=2000]
[Narrator]: And there it was.

That two-second gap is a lifetime in audio. The listener sits in the silence, waiting.

You can also cut and paste pause pills like any inline element, or type [pause=500] directly.

Need Use
Natural sentence rhythm Punctuation (periods, commas, ellipsis)
Exact silence duration Pause node ([pause=NNN])
Dramatic beat over 1 second Pause node ([pause=1500])
Scene transitions Pause node ([pause=2000]) or blank line between blocks
Breathing room between segments Pause node ([pause=400])

For more on pacing in fictional dialogue, see our guide on audiobook dialogue pacing techniques.

How Do You Organize Long Scripts?

Real projects have structure beyond just dialogue. Chapter headings. Scene markers. Notes to yourself about tone or delivery. The Vois editor handles all of these through slash commands, and none of them get read aloud.

Type / and pick from:

Command What It Does Read Aloud?
/heading Chapter or section heading No
/title Episode or content title No
/section Visual divider between parts No
/note Editorial comment or reminder No

Each type renders with a small monochrome badge in the editor (H, T, S, N) so you can tell them apart at a glance. Notes appear in italics, titles in bold. But when you generate audio, they're all silently skipped.

[Title]: Episode 12: The Reckoning

[Heading]: Chapter One

[Note]: Open with tension. Elena's voice should feel strained here.

[Elena]: I told you this would happen.

[Section]

[Heading]: Chapter Two

[Narrator]: Three weeks earlier...

That script is organized for editing but clean for generation. The title, headings, note, and section divider exist only in the editor. When you generate audio, they're silently skipped. You can also insert them via / slash commands in the editor, or paste/import them using the bracket syntax above.

For a complete production workflow, check the podcast production guide or the audiobook creation guide.

Magic wand with sparkles

What Does It All Look Like Together?

Here's a full scene using every formatting feature: speaker tags, emotions, pause nodes, punctuation pacing, and organizational comments.

[Heading]: The Confrontation

[Note]: Build slowly. Elena is controlled at first, then cracks.

[Sam]: Where were you last night?
[pause=700]
[Elena]: [sigh] I told you. I was working late.
[pause=400]
[Sam]: That's not what Marcus said.
[pause=1200]
[Elena]: Marcus is... Marcus is lying.
[pause=800]
[Sam]: Is he?
[pause=2000]
[Elena]: [sniff] I can't do this anymore.

[Section]

[Narrator]: The room went quiet.
Neither of them moved.

Speaker tags assign voices. The [sigh] adds weariness, the [sniff] signals she's breaking down. Pause nodes control the silence between lines (the 1,200ms gap where Elena's resolve breaks, the 2,000ms before her confession). Ellipsis in "Marcus is... Marcus is lying" creates a stammer. Short final lines from the Narrator slow the scene to a crawl.

Quick Reference: All Script Formatting Features

Feature How to Insert Effect
Speaker tag Type / then Speaker [Name]: dialogue text (assigns a voice)
Emotion tag Type [ after speaker [laugh], [sigh], [gasp], etc. (expressive engine only)
Pause node Type / then Pause Exact silence (300-3000ms)
Heading Type / then Heading Editorial label, not read aloud
Title Type / then Title Editorial label, not read aloud
Section divider Type / then Section Visual divider, not read aloud
Note Type / then Note Editorial note, not read aloud
Ellipsis Type ... Trailing thought or hesitation; review it in the rendered line
Period Natural punctuation End of a thought; the voice phrases it in context
Comma Natural punctuation Connects a related phrase without a fixed pause

Your script is the performance. Every pause node, expression tag, and punctuation choice shapes what the listener hears. Build the structure in the Vois script editor, then get started to review the first complete scene in context.

The Vois Team

Frequently Asked Questions

How do I add multiple speakers to an AI voice script?

Type / in the Vois editor and select Speaker. Enter a name to create a colored pill. Each speaker can be assigned a different voice from the 100+ production voices. Multiple speakers can appear on the same line for rapid dialogue exchanges.

How do I make AI voices laugh or sigh?

The expressive engine supports nine paralinguistic tags: [laugh], [sigh], [gasp], [cough], [chuckle], [groan], [shush], [sniff], and [clear throat]. Type [ after a speaker tag to see the full list. These add non-verbal expression that punctuation alone cannot create.

How do I add a pause to AI-generated speech in Vois?

Type / and select Pause. Choose a duration from 300 milliseconds to 3 seconds using the slider or presets. The pause appears as an amber pill in the editor. You can also paste [pause=500] directly for a 500ms silence.

What is the difference between punctuation pauses and pause nodes?

Punctuation shapes natural phrasing, but it does not provide a fixed duration. Pause nodes give you exact control over silence from 300ms to 3 seconds. Use punctuation for rhythm and pause nodes when a specific beat must be held.

Can I add headings and notes to AI voice scripts?

Yes. The / slash command menu includes Heading, Title, Section, and Note. These appear visually in the editor for organization but are excluded from audio generation. Use them for chapter markers, stage directions, or editorial reminders.

TutorialsTipsProductionPacingProsody
Share:
Vois Team

Written by

Vois Team

Product Team

The team behind Vois, building the future of AI voice production.