How to Generate AI Dialogue With Better Turn-by-Turn Control

Generate AI dialogue by building the conversation turn by turn, keeping each character on the same voice, and adding delivery directions only where the spoken line needs extra control. This workflow shows how to separate script emotion from vocal delivery and test difficult lines without rebuilding the full scene.
JoeyUpdated
How to Generate AI Dialogue With Better Turn-by-Turn Control

Quick Answer

A practical way to generate AI dialogue is to build the conversation turn by turn, keep each character on the same voice, and add delivery directions only where the spoken line needs extra control.

In my Astorie workflow, I found a simple rule useful:

Use the script for emotion. Use direction for delivery.

A line such as “Wait—what? Why not?” already carried confusion without an extra tag. Adding [confused, interrupting] made little difference in my test.

Directions were more useful when they changed something audible. [hesitates] created a clearer pause, while [whispers] noticeably changed the way the line was spoken.

For harder lines, I also used a separate one-speaker Dialogue node to test different directions before changing the full scene.

What You Need Before Generating AI Dialogue

Start with the conversation itself, not the voice model.

For this workflow, I created a short suspense scene called Last Train. Maya is a station clerk. Eli is a traveler trying to catch the last train to Westbridge.

Before opening the Dialogue node, prepare:

  • A short scene with a clear beginning and turn
  • Two or more named characters
  • One voice choice for each character
  • Dialogue already separated into speaker turns
  • A few delivery cues only where the wording cannot do the work alone

You do not need to write a full screenplay.

The script only needs enough context for each line to make sense. Keep long character biographies, camera directions, and unrelated scene details out of the dialogue input.

For example, this scene begins as a normal station conversation. It becomes unsettling only after Eli mentions seeing a train leave from platform three.

That change gives the dialogue a reason to shift in tone.

How to Generate AI Dialogue in Astorie

Step 1: Write the Conversation as Speaker Turns

Before generating audio, structure the dialogue in the order it will actually be spoken.

This matters because a dialogue is not organized as:

All Maya lines → All Eli lines

It is organized as:

Maya → Eli → Maya → Eli

In Astorie, I built each line as a separate speaker block. Every time the speaker changed, I added another speaker.

My test scene looked like this:

Maya:
Evening. Can I help you?

Eli:
Yeah. The last train to Westbridge — did I miss it?

Maya:
Westbridge? No. It should be here in about two minutes.

Eli:
Oh, thank God. I thought I saw it leave when I came down the stairs.

Maya:
You saw a train leave?

Eli:
Yeah. Platform three. No lights inside, though. Kind of strange.

Maya:
[hesitates] Which platform did you say?

Eli:
Three.

Maya:
[lowering her voice] Listen to me. When the next train arrives, don't get on it.

Eli:
Wait—what? Why not?

Maya:
[whispers] Because the last train to Westbridge left twenty minutes ago.

The important distinction is simple:

One speaker block represents one turn, not one character.

That keeps the written structure aligned with the actual conversation.

Step 2: Keep Each Character on the Same Voice

Next, assign a voice to each character.

In my workflow, I used Aria for Maya and Will for Eli. Every time Maya returned, I selected Aria again. Every Eli turn used Will.

For multi-character dialogue, using distinguishable voices can make the speakers easier to follow. Once you choose a voice for a character, keep it consistent across that character's turns.

The goal here was not to find the most impressive voice.

I wanted two voices that were easy to tell apart and could stay consistent across the scene.

This also makes later troubleshooting easier. If the delivery changes, I know it came from the line or direction rather than an accidental voice switch.

Repeated Maya and Eli turns using the same two voices

Step 3: Generate a Baseline Before Adding More Direction

For the first full generation, I kept most lines plain.

I only added direction where the scene needed a specific delivery change:

[hesitates] Which platform did you say?

[lowering her voice] Listen to me. When the next train arrives, don't get on it.

[whispers] Because the last train to Westbridge left twenty minutes ago.

I did not label every other line as worried, confused, surprised, or nervous.

That gave me a cleaner baseline.

The lines with delivery tags showed clear changes. The hesitation, lowered delivery, and whisper all sounded different from the untagged turns.

But that did not mean every emotional line needed a tag.

That became clearer in the next test.

Step 4: Use Audio Tags Only When the Text Needs Extra Delivery Control

One of Eli's lines was:

Wait—what? Why not?

The wording and punctuation already suggest confusion and interruption.

I generated another version as:

[confused, interrupting] Wait—what? Why not?

In my test, the two versions did not sound very different.

That was useful.

It showed that adding an emotional label does not automatically improve a line when the dialogue already communicates the same idea.

By contrast, [hesitates] and [whispers] produced more obvious changes because they described something the plain text did not fully specify.

This led to a better rule for writing dialogue directions:

Do not use a tag just to repeat an emotion that is already obvious from the line.

Use direction when you need to control how the line is delivered.

For example, hesitation changes timing. Whispering changes vocal delivery. Those instructions add information that the words alone may not provide.

Step 5: Write Delivery Directions Carefully

A direction can work and still produce the wrong kind of performance.

I saw this when testing Maya's warning:

Listen to me. When the next train arrives, don't get on it.

My first version used:

[lowering her voice] Listen to me. When the next train arrives, don't get on it.

The model lowered the voice very noticeably. To me, it sounded almost like Maya was physically pressing her voice down.

The instruction was followed, but the result was stronger than I wanted.

I then tested:

[quietly, controlled] Listen to me. When the next train arrives, don't get on it.

This version also sounded quieter, but the effect was less extreme. It felt more restrained, which fit the scene better.

Before adding a direction, ask two questions:

  1. Does the script already communicate the emotion?
  2. If not, what audible change do I actually want?

That two-step check helped me avoid adding instructions that did not improve the performance.

It also changed how I wrote the directions themselves.

A literal physical instruction can be interpreted very literally. A delivery-focused direction can sometimes give the model more room to produce the intended performance.

For this scene, [quietly, controlled] worked better than [lowering her voice].

The broader lesson is:

Describe the performance you want, not just the physical voice change you imagine.

That does not mean physical cues are wrong. If you truly want a strong whisper, lowered voice, or another obvious vocal effect, a direct cue can be useful.

The point is to choose the wording based on the sound you want to hear.

Step 6: Test Difficult Lines in a Separate Dialogue Node

You do not always need to keep changing the full scene while experimenting with one difficult line.

For Maya's warning, I created a separate Dialogue node with only one speaker and one line.

I kept the same voice, then tested the two directions there:

[lowering her voice] ...

and

[quietly, controlled] ...

This made the difference easier to hear.

It also kept the original full-scene node untouched while I experimented with wording.

I would treat this as a delivery prototype, not as an automatic replacement for the original audio. A line generated on its own may not behave exactly the same way inside a full conversation.

The separate node helps you prototype the wording before changing the main scene.

That is a useful way to work on a node-based canvas: keep the working scene intact, then branch out when one production decision needs closer testing.

What Made the Dialogue Sound More Natural

Better dialogue control did not come from adding more direction to every line.

It came from giving each part of the workflow a clear job.

The turn structure controlled who spoke when.

The voice assignment kept the characters recognizable across turns.

The script wording carried emotions that were already obvious from the conversation.

The delivery directions were most useful when I needed a specific audible change.

That is why [confused] added little to “Wait—what? Why not?”, while [whispers] clearly changed the final line.

The same principle applied to Maya's warning. [lowering her voice] was not wrong, but it pushed the delivery further than I wanted. [quietly, controlled] gave me a subtler result.

The goal is not to direct every sentence.

It is to direct the moments where the performance needs help.

Common AI Dialogue Problems and Fixes

Problem

What to change

The conversation is not alternating correctly

Build a new speaker block every time the speaker changes

A character suddenly sounds different

Check that the same voice is selected every time that character returns

Every line feels over-directed

Remove tags from lines whose wording already carries the emotion

A tag barely changes the result

Ask whether the instruction adds anything that the text does not already express

A direction sounds too literal

Rewrite it as a delivery goal, such as [quietly, controlled]

One line is hard to judge inside the full scene

Test that line in a separate one-speaker Dialogue node first

FAQ

Can AI generate dialogue between multiple characters?

Yes. In this workflow, I built a multi-character scene by adding a new speaker block for each turn and assigning a voice to every block.

The important part is the turn order. Do not group all lines from one character together if the scene is meant to alternate naturally.

Do I need audio tags on every line?

No.

In my test, “Wait—what? Why not?” already sounded confused without an extra [confused, interrupting] tag. The tagged version did not create a major difference.

Tags were more useful when I wanted a delivery change that the words did not clearly encode, such as hesitation or whispering.

How should I write prompts for AI dialogue?

Start with the dialogue itself.

Write clear turns, use natural spoken language, and keep each character's voice consistent. Add short delivery directions only when you need more control over a specific line.

A useful check is:

Does the line already communicate the emotion? If not, what audible change do I want?

Avoid turning every speaker block into a long acting prompt.

Can I use different voices for each character?

Yes.

For multi-character dialogue, voices that are easy to distinguish can make the conversation easier to follow.

Once you choose a voice for a character, keep it consistent across that character's turns.

What should I do if one line does not sound right?

Test that line separately before changing the full scene.

Create a new Dialogue node with one speaker, keep the same voice, and try a more precise delivery direction.

That is how I compared [lowering her voice] with [quietly, controlled] for Maya's warning. The separate test made it easier to choose the direction that fit the scene.

Back to All Guides

Ready to try it on the canvas?

Open Astorie and fan your prompt across every frontier model in one workflow.