Skip to content

How to create a multi-character audio drama from a script

Build a short English audio scene with two character voices, deliberate pauses and a downloadable real audio example.

By VoiceCast editorial5 min read
The short answer

Write each character on a separate line, parse the script, assign a voice to every role and review the delivery. Generate the scene after checking its credit estimate, then export audio and SRT subtitles.

A dialogue scene needs more than two different voices. The listener needs to recognize who is speaking and have enough time to understand each reply. This walkthrough uses an original three-line scene at a station. It keeps the cast small so you can hear what changes between speakers without music or sound effects hiding the result.

Listen: The last train

A real generated English dialogue sample. It contains two voice presets and 0.45-second pauses between lines. The voices are synthetic; the dialogue is original. No background music or voice cloning was used.

Generated 2026-10-26 · 15.42 seconds · Real speech-service output · No generation request is made when you play this file.

Read the audio transcript

Maya00:00.000–00:04.032
The last train has gone. Are you still waiting for someone?

Noah00:04.482–00:08.922
Not someone. A promise I made a long time ago.

Maya00:09.372–00:15.420
Then I will wait with you. Some promises should not be kept alone.

Source text for this example

Maya: The last train has gone. Are you still waiting for someone?
Noah: Not someone. A promise I made a long time ago.
Maya: Then I will wait with you. Some promises should not be kept alone.

These are original example texts. The audio uses the role-labelled version shown above.

Maya → DaceyNoah → Tim

1. Prepare a script that identifies the speakers

Open the script studio and give the project a descriptive name. Write each line as Character: dialogue. Keep stage directions outside the spoken text unless you want them read aloud. For a first test, three to six short lines are enough to check the workflow.

Paste the sample below or write a scene with your own characters. Click Parse script and check the role beside every resulting line. A misspelled name can create a separate role, so use consistent spelling throughout the scene.

2. Choose voices that are easy to tell apart

Choose currently available voices for Maya and Noah in the voice library. Listen to the same sentence before deciding. Dacey and Tim identify voices used in the published historical sample, not a promise that those labels remain selectable. A portrait or age tag is a casting reference, not a guarantee of the generated voice.

Keep the same voice for repeated appearances of one role. Change a single line only when the scene calls for it. Replacing every line with a different preset makes it harder for the listener to follow the conversation.

3. Direct the pacing before adding strong emotion

Start at normal speed and leave a short pause between replies. The published example uses 0.45 seconds between lines. That value is a starting point for this scene, not a universal rule. A quick interruption may need less space; a difficult answer may need more.

Preview important lines before generating the whole scene. Voice generation uses credits, so check the estimate. If an emotional setting sounds exaggerated, return to a calmer delivery and let the wording carry more of the meaning.

4. Export, then review the complete sequence

Generate the scene and listen from beginning to end. Check speaker order, clipped words, pauses and pronunciation. Download MP3 for a compact listening copy, or use WAV or FLAC when you need another supported audio format. Download SRT separately if you need subtitles.

Save the project before leaving. A downloaded audio file is a finished output; the saved project is what lets you return to the script and voice settings. Keep both when the scene matters.

Theater: generate, play and follow the script

Expand a dialogue line to choose its voice, emotion and speed. Its action changes from Generate to Play and Stop. While audio plays, the source script highlights the corresponding sentence and scrolls to it; long list summaries wrap instead of truncating the text.

Use More actions to rename a role, duplicate, move, delete or regenerate a line. Changing dialogue or delivery requires a new generation; cached replay does not apply the new settings automatically. Review the displayed credit estimate before confirming.

Writing prompts for AI narration, dialogue and game voices

Treat these prompts as writing briefs for preparing your script, not commands to paste into spoken dialogue. Use the existing emotion, speed and pause controls for delivery. A role label such as Narrator: or Merchant: identifies the speaker and is not spoken as part of the line.

Narration brief: write a calm 20-second scene in two short sentences, with no stage directions. Dialogue brief: write six alternating lines for two characters with consistent role labels. Game brief: write one greeting, one warning and one farewell for a fantasy merchant; choose an available character preset, then preview each line.

For SRT video dubbing, ask for short, speakable lines that preserve the meaning and names within your existing timestamps. Count timing by listening: shortening the wording is often better than extreme speed. Review recognition errors and overlapping timestamps before generating the full video.

Before you export

  • Each line belongs to the intended speaker.
  • A recurring role keeps the same voice.
  • The pauses support the conversation instead of interrupting it.
  • The full export matches the previewed dialogue.

Questions about this workflow

Can I use more than two characters?

Yes. Assign a voice to each detected role. Check the active plan limits before generating a larger project.

Will changing the text keep the old audio?

Edited lines need new generation to reflect the change. Listen to the revised export rather than assuming the old audio has updated.

Make your own version.

Bring your own script, review the voice settings and check the credit estimate before generating.

Open the script studio ↗