For a phone agent in 2026, start with Kokoro 82M. It is Apache-2.0 and, in our test of seven open models, read tricky text such as prices and abbreviations most accurately with the least compute. Use Chatterbox (MIT) when you need a cloned voice. Orpheus and Qwen3-TTS cost more compute. VibeVoice is research only and XTTS-v2 is non-commercial.
Key Takeaways
- Check the weights' license first, since XTTS-v2 and F5-TTS rule out paid use.
- In our test, kokoro-82m read tricky text best with the least compute.
- Every model we tested misread most dates, so have the agent write dates as words.
This guide sorts open-source voices for phone agents by license, our own reading test, call speed and cloning, then shortlists them. For each voice, we show how it works in Dograh, the open-source AI voice agent platform our team builds. You can self-host it or run it on Dograh Cloud.
What open-source means for a voice model
An open-source voice model is one whose weights you can download, run on your own GPU and ship under a license that allows it. Both halves matter. A model you can download but not sell with is a research tool for a phone agent, however good it sounds.
The license on the weights is the one that counts. A repository can put its code under Apache-2.0 while the weights it loads carry a non-commercial license. Some models are open weights without being open source. NVIDIA's Magpie TTS ships under NVIDIA's own Open Model License, which is not an OSI-approved open-source license, so read its terms the way you would read any vendor agreement.
The voice is one layer of a phone agent. Around it, Dograh is the orchestration layer for the call flow, tools and telephony, and the speech and language models stay a separate layer you pick. Self-hosting Dograh with open models for the voice, speech-to-text and language model keeps call audio inside your own infrastructure. A hosted voice under your own key moves the contract, but the audio still goes to that provider. Our guide to running voice AI on local, self-hosted models covers the whole local stack.
License first: which voices you can ship
Check the license before you listen to a single clip, because a voice you cannot ship only wastes test time. This table puts each model's own terms side by side.
| Model | License on the weights | Paid phone line | Clones from a clip |
|---|---|---|---|
| Kokoro 82M | Apache-2.0 | Yes | No, fixed voices |
| Chatterbox (Turbo, original, Multilingual) | MIT | Yes | Yes |
| Orpheus 3B | Apache-2.0 on its card, built on Llama 3.2 3B | Yes, under its card's terms | Listed as a feature |
| Qwen3-TTS (0.6B, 1.7B) | Apache-2.0 | Yes | Yes, Base models |
| VibeVoice-Realtime-0.5B | MIT, research and development only per Microsoft | Microsoft advises against it | No |
| Magpie TTS Multilingual 357M | NVIDIA Open Model License (open weights) | Read NVIDIA's terms | No, removed |
| XTTS-v2 | Coqui Public Model License | No, non-commercial | Yes |
| F5-TTS | CC BY-NC 4.0 | No, non-commercial | Not relevant here |
Kokoro and Chatterbox are where most teams start. Kokoro's model card puts its 82-million-parameter model under Apache-2.0 and lists 54 voices across 8 languages. Chatterbox, from Resemble AI, is MIT, and every clip it makes carries an inaudible Perth watermark.
VibeVoice is the odd one out. Its code and weights are MIT, but the VibeVoice-Realtime model card says it is intended for research and development only, and Microsoft does not recommend commercial or real-world use without further testing. XTTS-v2 and F5-TTS are plainly non-commercial, even on your own servers. Our comparison of Kokoro vs Chatterbox vs Coqui XTTS goes deeper on those three.
How seven open models read numbers, dates and prices
A phone agent reads out prices, times and booking codes all day, and a voice that says them wrong sounds broken however natural it is. So we tested that. In our TTS verbalization benchmark, seven open models read 1,080 sentences across 27 types of tricky text, such as dates, prices, phone numbers and addresses. Two independent speech recognizers wrote down what each model actually said, and both ranked the models in the same order.
| Model as tested | Score on tricky text | Compute per clip |
|---|---|---|
| kokoro-82m | 0.61 | 0.31 s |
| orpheus-3b | 0.54 | 5.50 s |
| qwen3-tts | 0.49 | 4.99 s |
| chatterbox-turbo | 0.49 | 1.06 s |
| chatterbox | 0.44 | 3.48 s |
| chatterbox-multilingual | 0.25 | 2.40 s |
| parler-tts | 0.03 | 3.06 s |
The score is the share of tricky items a model read the way a person would say them. The smallest model won. kokoro-82m scored 0.61 and used about 18x less compute per clip than orpheus-3b, the runner-up. It read prices almost perfectly, at 0.97 on currency.
Dates are the weak spot for every model. The best date score of any model was 0.23, and kokoro-82m managed 0.10. No model read a hashtag correctly, 0 out of 279. So the prompt should still have the language model write dates and codes as spoken words before the voice sees them. Our post on how to reduce robotic TTS in voice agents gives the rules.
Keep the test's limits in mind. It covered English only, with each model as hosted on Replicate, and it measures reading accuracy, not how pleasant a voice sounds. Compute per clip is the median billed time for a whole clip, which is a different thing from how fast the first word arrives.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Speed on a live call
On a call, the number that matters is the silence between the caller finishing and the agent's first word. A natural turn needs speech-to-text, the language model and the voice to come back in under about 800 ms in total, and speech-to-text is usually the slowest part. So the voice has to stream its first audio fast, which is a different job from finishing whole clips quickly.
Each model's makers give a first-audio claim, measured their own way. Orpheus's maintainers claim about 200 ms when streaming. The Qwen team reports 97 ms to the first packet for its 0.6B model, measured one request at a time on its own engine. Microsoft gives about 300 ms for VibeVoice-Realtime. None of these was measured on a phone line under load, so treat them as a starting point and measure on your own GPU.
Hardware decides more than the model card does. Kokoro-FastAPI, the open-source server most teams run Kokoro in, reports about 300 ms to first audio on a GPU and about 3.5 seconds on an older desktop CPU. A caller hears 3.5 seconds of silence as a dropped line. Plan on a GPU for any of these models, with room for several calls sharing it at peak.
The phone line strips detail too. Most phone calls still reach the agent as 8 kHz audio, while a browser demo runs at 16 kHz and these models produce 24 kHz sound. Pick the voice on a real phone call, never only in the browser.
Cloning a voice, and who can
Cloning splits the shortlist cleanly. Kokoro has no reference-clip cloning. It ships fixed voices, and blending two of them makes a new mix that copies no real person. NVIDIA removed zero-shot cloning from Magpie TTS, and Microsoft withheld the part of VibeVoice that would let users build a voice from their own audio.
Chatterbox clones from a short reference clip, about ten seconds in its own example. Qwen3-TTS clones from about three seconds of audio on its Base models, and Orpheus lists zero-shot cloning among its features. Clone only a voice whose owner has agreed to it, and keep that consent on file with the recording.
Cloning is what makes the hybrid pattern work. In Dograh, the agent can play pre-recorded clips of a real person for fixed lines and fall back to a clone of that same voice for everything else, so the whole call sounds like one speaker. With open models on your own servers, Chatterbox is the permissively licensed option for that fallback. A hosted provider such as Cartesia or ElevenLabs gives you a cloned voice ID instead.
The shortlist by need
Put the license, reading accuracy, speed and cloning together, and the choice for most phone agents gets short. Kokoro is the default. It is Apache-2.0, it read tricky text best in our test, it is light enough to share a GPU, and Dograh runs it as is. Its weak spots are dates and phone numbers, and it ships fixed voices with no cloning. Our Kokoro TTS review breaks down where it reads well and where it slips.
Chatterbox is the pick when the agent must speak in a cloned voice from your own servers. In our test, chatterbox-turbo tied for third at 0.49 and needed 1.06 seconds of compute per clip, the second lightest of the seven. Its server has to return the audio format Dograh plays, covered below.
Orpheus 3B is the expressive one. It takes tags such as <laugh> and <sigh> in the text, and it was the runner-up in our test at 0.54. The cost is compute, since it was the heaviest of the seven at 5.50 seconds per clip. Our post on Orpheus TTS for voice agents covers the serving cost and when the tags earn it.
Qwen3-TTS brings ten languages into one Apache-2.0 model, with nine preset voices and three-second cloning. In our English test it tied for third at 0.49. Our post on Qwen3-TTS for voice agents covers its voices, cloning and how to serve it.
VibeVoice is built for long, multi-speaker audio such as podcasts, and its realtime model is a research release. Our post on VibeVoice for voice agents explains what it is good at and why a business phone line needs something else today.
If voice quality matters more than keeping audio in-house, a hosted API is the other path. Our comparison of the best text-to-speech APIs for voice agents covers speed, price and cloning for hosted voices such as ElevenLabs, Cartesia and Deepgram, all of which run in Dograh with your own key.
Reading accuracy is not how a voice sounds
Our benchmark measures whether a model says the right words. It says nothing about warmth or pacing, which is what blind listening tests rank. On the Artificial Analysis Speech Arena, where listeners vote between pairs of clips, Kokoro 82M v1.0 ranks 63rd of 103 models, Chatterbox 83rd, VibeVoice 1.5B 89th and Qwen3 TTS 92nd. Hosted voices hold the top places, led by Eleven v4, and Orpheus is not on the board.
The two rankings answer different questions, so never merge them. A voice that wins blind votes can still read $322.41 wrong, and a voice that reads every price right can sound flat. For a phone agent, getting the lines it repeats all day right usually matters more than a few places on a listening board.

Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Running an open voice in Dograh
In Dograh, a self-hosted voice runs through the Local Models (Speaches) option in the voice settings. It sends the agent's text to an OpenAI-compatible /v1/audio/speech endpoint on your server and plays what comes back as raw 24 kHz PCM, so the server must return exactly that.
Kokoro fits out of the box. The defaults for Local Models are the model kokoro, the voice af_heart and a speed you can set from 0.25 to 4.0. Our tutorial on how to run Kokoro TTS locally adds Kokoro-FastAPI to the Docker setup and makes the first test call.
Chatterbox, Orpheus and Qwen3-TTS go the same way. Put the model behind a server that answers that endpoint and returns raw 24 kHz PCM, choose Local Models, enter the server's address and model name, then run a test call with your setup before real callers hear it. The page on running open-source voices in Dograh covers Kokoro out of the box, other open models behind such a server and per-agent voices.
The rest of the agent stays the same around the voice. Fixed lines can play as pre-recorded clips, which skip the voice model entirely, so a policy line you record is read right every time. Call traces show the speech-to-text, AI and voice time for each turn, so you can see whether the voice is what slows a reply. You can also switch an agent between an open voice and a hosted one without touching its flow.
Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. An open voice adds GPU time in place of a per-character bill.
How to pick your open-source voice
Pick in this order. Rule out any model whose weights you cannot ship. Then measure first audio on your own GPU over a real phone line. Then check how it reads the dates, prices and codes your agent says most, and record the lines that matter most. Add cloning only if the agent must sound like a real person. For most phone agents that path ends at Kokoro, with Chatterbox when you need a clone.
Each model and option above has its own deep dive:
- Kokoro TTS Review in 2026: Our Benchmark Verdict for Phone Agents
- Orpheus TTS for Voice Agents: What Emotion Tags Cost in Speed
- Qwen3-TTS for Voice Agents: Ten Languages, Tested in English
- VibeVoice for Voice Agents: Long-Form Voice, Not a Phone Line
- Best Text-to-Speech APIs for Voice Agents in 2026: Speed vs Price
Glossary
- Open weights
- A model whose trained weights you can download and run yourself. The license on those weights decides whether you can use the model in a paid product, and it can differ from the license on the code.
- Compute per clip
- In our benchmark, the median billed time to make one whole clip on Replicate. It compares how heavy models are to run, and it is not the time a caller waits for the first word.
- Reference-clip cloning
- Making a new voice from a short recording of a real person, without training the model on that speaker. Chatterbox and Qwen3-TTS Base models can do it, while Kokoro ships fixed voices only.
- Raw 24 kHz PCM
- Plain audio samples with no file header or compression. Dograh's local voice option asks the server for raw PCM and plays it as 24 kHz sound, so a server that returns WAV or MP3 files does not fit as is.

