Nuance Labs Emma: A Full-Duplex Voice Persona Goes Live

Introduction
Nuance Labs has launched Emma, a talking AI persona built on Nuplex, which the company calls its full-duplex audiovisual foundation model. Co-founder and CEO Fangchang Ma announced it on X on 9 November 2026 at 17:59 UTC, after what he called 18 months of research. You can talk to Emma in the browser today at the Nuance app, and developers can build on the same model through the Nuance Live API, which is in preview.
Full-duplex is what matters for voice. Most voice assistants and avatars still take turns: you talk, they wait, then they answer. Emma listens and reacts while you are still speaking, with small backchannel cues and a face that shows it is following. In voice terms, this is the same shift as the open full-duplex speech models, except here the voice comes with a face attached.
What Shipped
- Vendor / model: Nuance Labs (Seattle), Nuplex full-duplex audiovisual model, with Emma as its first persona
- Modality: real-time speech in and speech out, plus a talking video face, in one streaming model
- Open vs closed: closed model. The JavaScript SDK
@nuancelabs/js-sdkis Apache-2.0 on npm - Runnable today: the public demo at app.nuancelabs.ai (sign-in), and the Nuance Live API in preview
- Concrete facts: English only for both speech and recognition; three API personas (
sam,sonia,mira); conversations run on shared capacity and spend credits by time
How the Model Is Pitched
Nuance Labs was founded by former Apple researchers Fangchang Ma, Edward Zhang, and Karren Yang. It raised a $50M Series A in September, led by Lightspeed, with NVIDIA among the new investors. In its own words, most face-to-face AI today is a chain: speech recognition, then an LLM, then a voice, then an animated face. Each handoff adds delay.
Nuplex is meant to replace that chain with one model that streams audio and video perception in and a matching voice and face out at the same time. The company's target is a reply inside the roughly 500 ms floor of natural conversation, with interjections, nods, and backchannels while the user talks. Emma is the showcase for that.
What You Can Build With the API
The Nuance Live API docs are already public. Here's the flow:
- Your server holds a secret API key (
nk_…) and mints a one-conversation session token (st_…) withPOST /session-tokens - Your page uses the token to create the conversation and join a LiveKit room with the microphone, and the camera if you allow it
- The persona's voice and the user's voice ride the room's audio tracks. Your app exchanges JSON events with the session on the
nuance_livedata topic: live transcripts, asking the persona to speak, stopping it mid-sentence, or holding the floor while the user reads - A backend can run your function tools when the persona hands work off. That's up to 16 tools per run, eight calling steps, and 60 seconds of backend time per task
In a web page, the SDK handles the room for you:
npm install @nuancelabs/js-sdkimport { createNuanceConversation } from "@nuancelabs/js-sdk";
const conversation = createNuanceConversation({
token: async () => {
const r = await fetch("/api/nuance-token", { method: "POST" });
return ((await r.json()) as { token: string }).token;
},
});
// Call from a click so the browser will play the persona's audio.
document.querySelector("#start")?.addEventListener("click", () => {
void conversation.connect();
});There is also a React hook (useNuanceConversation). Native apps can use any LiveKit SDK, including Swift, Android, Flutter, React Native, Unity, and Rust.
Voice and Persona Controls
persona_idpicks the look and voice:sam(default),sonia, ormira. Sam and Mira share one voice, and Sonia has her ownsystem_promptsets who the persona is. You name it, give it a role, and set the contextexpressivenessruns from 0 to 2 and sets how much the face and head move. The default is 1- Turn-taking is handled by the runtime and can't be configured. After the persona's first few replies, a short "mm-hmm" or "yeah" from the user lets it carry on, and other words cut it off
- The camera can be turned off entirely if you want a voice-first experience
Limits
- English only. The persona speaks only English, and the recognizer hears only English. Prompts with non-English characters are refused
- Preview API. Routes and events may change before 1.0, and conversations can be turned away or end early when shared capacity is short
- No self-serve voice or face cloning. Asked about cloning yourself, Ma said that "right now only our team can do it"
- Emma doesn't sing. Ma said so on launch night: "Emma can't sing yet"
- Prompts are reviewed. Medical, legal, financial, political, crisis, and impersonation uses are refused, and the camera runs an under-18 check
- No public price list yet. Credits and concurrency depend on your plan. Ma said running it costs about the same as a pure voice experience but gave no figures
- This is a conversational persona, not a media generator, so it doesn't map to ArtRealmAI Gen
Original Source
Try Emma: app.nuancelabs.ai
Developer docs: Nuance Live API
Conclusion
Emma is the most polished public demo so far of a voice agent that listens while it talks, with a face that reacts along with the voice. For voice builders, the parts worth testing are how it handles backchannels and interruptions, and the plain session-token plus LiveKit setup. Watch the English-only limit and the preview capacity before you put it in front of real users. Five minutes with the demo will tell you whether full-duplex feels different from the turn-taking voice mode you use now.
—Anabel ♡
