Dia TTS: The Open-Source Model That Generates Real Dialogue, Not Just Sentences
Turn text and recordings into audio you can hear
Dubbing, stems, covers, and sound effects — all in the browser.
- Text to speech, plus voice cloning
- Split stems, or generate a cover
- Sign up to preview — listen first, decide later
Most text-to-speech engines are built to read a sentence out loud. Dia TTS is built to do something harder: generate an entire conversation—two speakers, overlapping emotion, and a laugh in the right place—in one pass from a plain script. If you're building a podcast, an audiobook, a game character, or an AI agent that needs to sound like people talking rather than a narrator reading, this is the model built specifically for that job.
What Is Dia TTS (Dia 1.6B)?
Dia, also known as Dia-1.6B or Dia 1.6B, is a 1.6-billion-parameter text-to-speech model developed by Nari Labs, a small South Korean team founded by two undergraduate developers. Released under the Apache 2.0 license, Dia is fully open-weight: the checkpoints are hosted on Hugging Face and the inference code is public on GitHub.
What sets Dia apart from conventional TTS architectures isn't just the parameter count—it's the training objective. Instead of optimizing for clean, isolated sentence narration, Dia is designed end-to-end for dialogue synthesis: multiple speakers, natural turn-taking, and the non-verbal texture that real conversations actually have. Early comparisons from the community position it as a serious open-source alternative to closed commercial systems like ElevenLabs and Sesame's CSM-1B, particularly in dialogue-heavy use cases where those models still sound noticeably "read" rather than "spoken."
This model remains one of the few open-weight systems built specifically around conversation, rather than adapted from single-speaker narration.
How Does Dia Work?
Dia takes a plain-text transcript and converts it directly into a finished audio waveform—no separate voice-cloning pipeline and no manual splicing of clips per speaker. Three mechanisms drive the output:
Speaker tagging. Wrapping dialogue lines in [S1] and [S2] tags tells the model which voice should speak each line. Dia keeps each tagged speaker's timbre consistent for the full length of the script, so a back-and-forth exchange doesn't drift in voice identity the way stitched-together single-speaker clips often do.
Non-verbal generation. This is Dia's most distinctive capability. Inline cues like (laughs) are rendered as actual laughter, coughing, or a cleared throat—not a synthesized "haha" sound bolted onto the audio afterward. It's the detail that makes a generated conversation sound like two people talking instead of two scripts being read.
Audio conditioning. By supplying a short reference audio clip alongside the text, you can steer the emotional tone, pacing, and delivery of the output, or clone a specific voice for consistent use across a project. Without a reference clip, Dia generates varied voices at random on each run; locking a random seed or supplying an audio prompt gives you a repeatable, consistent speaker.
How to Use Dia TTS?
There are three practical steps, depending on whether you want to evaluate the idea or build with the model:
- Explore a comparable dialogue feature online. Text to Dialogue lets you test the general idea of multiple voices in one scene before committing to a local Dia setup. It is a comparable alternative, not Dia itself, and it does not run Dia's
[S1]/[S2]syntax. - Run Dia locally for production use. Clone the
nari-labs/diarepository from GitHub, set up a Python virtual environment, and install the listed dependencies. Model weights download automatically from Hugging Face on first run, or Dia can be loaded directly through the Hugging Face Transformers library. - Check your hardware first. Dia is comfortable on a single GPU with roughly 8–10 GB of VRAM—a consumer card or a cloud instance such as a Colab T4 is enough to run inference without quantization tricks.
Tips for Better Results
- Keep speaker tags consistent. Use the same
[S1]/[S2]labeling scheme throughout a script; mixing conventions mid-script confuses turn assignment. - Place non-verbal cues where they'd naturally occur.
(laughs)right after a punchline reads differently than one dropped mid-sentence. Treat these tags as direction notes, not decoration. - Lock a seed for repeatable voices. If you need the same character voice across multiple generations (for example, a recurring game NPC), fix the random seed or reuse the same audio prompt rather than regenerating from scratch each time.
- Remember the English-only limitation. As of now, Dia only supports English generation. Plan multilingual projects around that constraint rather than after running into it.
- Use a short, clean reference clip for cloning. Audio-conditioning quality depends heavily on the reference sample being clear and free of background noise.
Dia vs. Other TTS Models
| Dia 1.6B | ElevenLabs | Sesame CSM-1B | |
|---|---|---|---|
| License | Open-weight (Apache 2.0) | Closed, commercial API | Open-weight |
| Multi-speaker dialogue in one pass | Yes, native | Requires separate voice assignment per line | Limited |
| Non-verbal sounds (laughs, coughs) | Generated natively from text tags | Typically requires manual audio editing | Not a core feature |
| Voice cloning | Yes, via audio conditioning | Yes | Yes |
| Self-hosting | Yes, full local deployment | No | Yes |
| Language support | English only | Multilingual | English-focused |
Dia's advantage is concentrated exactly where dialogue matters: turn-taking and non-verbal realism. If your use case is single-speaker narration in multiple languages, a commercial multilingual API may still be the better fit—but for English-language, multi-character audio, Dia's open-source dialogue focus is hard to match at this parameter size.
Frequently Asked Questions
Is Dia TTS free to use?
Yes. Dia is released under the Apache 2.0 license, meaning the model weights and code are free to use, modify, and self-host, including for commercial projects, subject to the license terms.
Does Dia 1.6B support languages other than English?
Not currently. Dia generates English speech only; non-English scripts are not officially supported.
What hardware do I need to run Dia 1.6B locally?
A GPU with approximately 8–10 GB of VRAM is sufficient for inference. A single consumer GPU or a cloud T4 instance both work without additional optimization.
Where can I find the Dia 1.6B GitHub repository?
The official code and setup instructions are maintained at nari-labs/dia on GitHub, with model weights hosted separately on Hugging Face.
Can Dia clone a specific voice?
Yes. Providing a reference audio clip as an audio-conditioning prompt lets Dia match a target voice and emotional tone, in addition to its default random voice generation.
Try a Comparable Dialogue Feature
If you want to hear multi-speaker audio in the browser, try Text to Dialogue as a comparable alternative. It is not Dia TTS, but it lets you prototype two-speaker scenes before setting up Dia locally.