Conversation & voice
Two-way, streamed, interruptible — it feels like talking to a person.
Conversation is the heart of IAMX. A character listens, thinks, and speaks in a continuous loop — no press-play, no canned lines, no awkward pauses while a request round-trips to a server. The whole pipeline is built to hide latency and preserve the rhythm of natural speech, so an exchange with an IAMX character lands the way a real conversation does: fluid, responsive, and yours to interrupt.
This page covers what gives a character that sense of presence, the four ways a player can start talking to one, and how to drive the same loop from text for chat boxes, quests, and scripted triggers.
What makes it feel alive
Any system can bolt speech recognition onto a language model and play back a voice. The difference between "a talking NPC" and "a character you forget is software" is in the timing and the failure modes. IAMX is engineered around four behaviors that players never consciously notice — because when they work, nothing feels off.
Streamed replies
The character starts speaking the moment the first words of its answer are ready — while it's still composing the rest. No spinner, no dead air, no "thinking…" gap. Long answers begin instantly instead of making the player wait for the whole thought to finish.
Interruptible / barge-in
Cut it off mid-sentence and it stops, drops what it was saying, and listens. Just like a real conversation, the player never has to wait politely for the character to finish a paragraph they've already understood.
Echo-guarded
The character never mistakes its own voice — coming back through the room's speakers — for the player talking. It won't interrupt itself, answer itself, or spiral into a feedback loop, even with the volume up and an open mic.
Streaming, in practice
Streaming is what removes the single most immersion-breaking moment in a voice interaction: the silence after a question. Instead of composing a full reply and then playing it, IAMX pipelines the whole chain. As soon as the first sentence of an answer exists, it's spoken aloud — and the next sentences are prepared while the first is still playing.
Player: "What's the fastest route to the harbor?"
│
▼
[ understand speech ]───► [ think / compose ]───► [ speak ]
│ first sentence ready ──► 🔊 starts here
│ rest still composing ──► queued, seamless
▲ │
└────────────── barge-in cancels everything ◄───────┘
The result: perceived latency is the time to the first word, not the time to the last one. A three-sentence reply feels as snappy as a one-word one.
Barge-in, done carefully
Interruption sounds simple but is easy to get wrong — react to every cough and the character is impossible to talk over on purpose; react to nothing and it steamrolls the player. IAMX uses sustained-speech thresholds so a genuine attempt to interject is honored, while a stray noise or a short "mm-hm" isn't. When a real interruption is detected, both the in-progress thought and the audio being spoken are cancelled together, and the character returns to listening immediately.
Echo guarding
Kiosks and installations almost always run an open microphone next to a loudspeaker. Without protection, the character hears itself and treats its own speech as a new user turn — a runaway loop. IAMX suppresses the character's own output at the input stage and applies a short cooldown after it finishes speaking, so room echo settles before the mic is trusted again. The player can still interrupt at any time; only the character's own voice is filtered out.
Speaks 30+ languages
Characters converse in 30+ languages with natural, expressive voices — not flat text-to-speech, but delivery with pacing and emphasis that suits the line. The same character can greet in one language and switch to another mid-conversation when the player does. Numbers, dates, and long identifiers are normalized so they're spoken the way a person would say them rather than digit-by-digit.
Ways to start talking
How does a conversation begin? That depends on where the character lives. A handheld companion wants a button; a always-on kiosk wants to listen for its name; an ambient NPC in a world should only respond to whoever walks up to it. IAMX ships four interaction modes, each a single setting on the character.
| Mode | How it starts | Best for |
|---|---|---|
| Push-to-talk | Player holds or presses a key (default T) to talk; releasing ends the turn. |
Games and apps where the player expects deliberate control and a shared/noisy audio space. |
| Voice-activated | Always listening. Automatically detects when speech starts and stops — no button at all. | Hands-free kiosks and demos where the player just walks up and speaks. |
| Wake word | Sleeps until it hears its name, then wakes and listens for the actual request. | Always-on characters in rooms with background chatter — stays dormant until addressed. |
| Proximity | Only listens to the player standing near it. Walk away and it stops listening. | World NPCs and multi-character scenes where only the nearest character should respond. |
Push-to-talk
The most predictable mode: the player owns the microphone. Nothing is captured unless the key is held (or toggled, depending on your setup), which makes it the safest choice for noisy or shared environments where you never want accidental activation. The bind defaults to T and is fully remappable per character.
Voice-activated
The character listens continuously and figures out on its own when a turn begins and ends — start-of-speech and end-of-speech are both detected automatically, with silence trimming so stray room noise doesn't get treated as a question. This is the mode most kiosks run: the player simply talks, and the character answers. Combine it with echo guarding (on by default) and the post-speech cooldown for a clean hands-free loop.
Wake word
Between requests, the character sits dormant and ignores everything it hears until its name is spoken — then it wakes and captures the request that follows. This keeps a character quiet and unobtrusive in a busy room while remaining instantly available. Great for an assistant that shares space with other conversations it shouldn't jump into.
Proximity
Attention follows presence. The character only listens to a player who is physically near it in the scene; step out of range and it stops listening and returns to idle. In a room full of characters, proximity ensures the one you walked up to is the one that answers — not all of them at once.
Text too
Voice is the headline, but the same conversation loop runs entirely from text — and often should. Use Send Text Input to push a line into the character exactly as if it had been spoken: the character thinks, responds, speaks the reply aloud (or stays silent, your choice), and its animation and state update the same way. Everything that makes voice feel alive — streaming, memory, personality — applies identically to text.
Common uses:
- Chat boxes — let players type instead of talk, for accessibility, quiet environments, or platforms without a mic.
- Quests & narrative — feed the character a scripted line at a story beat and let it respond in-character, on the fly.
- Triggers & gameplay — have a volume, timer, or event drive a spoken reaction ("You picked up the artifact — the character comments on it") without pre-recording a single line.
- Send — call Send Text Input with the line, from a widget, a quest node, or any trigger.
- Respond — the character composes and streams a reply, in character and in context.
- Speak (optional) — the reply is spoken with full lip sync and body animation, or delivered as text only.
IAMX also ships an optional in-game chat UI — a ready-made panel with a mic button, text field, and scrolling message history — so you can add a working chat interface without building one yourself. Toggle it on for a quick prototype, or leave it off and wire Send Text Input into your own UMG. See the Blueprint API for the delegates that fire on each message.
Putting it together
A convincing conversational character is a stack of small correct decisions: begin speaking before the thought is done, stop the instant you're cut off, ignore your own echo, and pick the right way to start listening for the space you're in. IAMX makes each of those a setting rather than an engineering project.