
Cartesia’s Sonic 3 landed with a number voice AI teams have chased for two years: sub-100ms time-to-first-audio on streaming synthesis, with laughter, breath, and mid-sentence interruption handling baked into the model rather than bolted on downstream. Within days, Rime shipped aggressive per-character pricing on its Arcana line aimed squarely at high-volume phone support workloads, and the re-benchmarking started. If you run a live phone deployment, this is the week your latency budget got rewritten — not because voices got prettier, but because the gap between “obviously a bot” and “wait, is this a person?” is measured in milliseconds of dead air. Here’s what changed, how to measure it yourself, and whether switching justifies the migration cost.
What’s new in Cartesia Sonic 3
Cartesia Sonic 3 is a state space model (SSM) based TTS system, which matters for a boring architectural reason: SSMs stream natively. Transformer TTS models generally need to see a chunk of text before they emit audio, which is why so many production stacks sit at 200-400ms time to first audio even when the vendor’s marketing page says otherwise. Cartesia’s architecture emits audio from the first tokens, and the company quotes roughly 90ms model latency on its US infrastructure — with the honest caveat that model latency is not what your caller hears.
The genuinely new capability is paralinguistics. Sonic 3 produces laughter, sighs, hesitation, and emotional shifts as inline behavior rather than spliced-in audio files, and it handles interruption gracefully. When your orchestration layer cancels generation because the caller started talking, the model stops cleanly instead of clipping into a half-formed phoneme. Cartesia also widened language coverage substantially and kept voice cloning available from short reference clips. For phone support, the interruption handling arguably beats the latency number, because barge-in is where most voice agents fall apart in real calls.
Rime’s Arcana line takes a different bet. Rime has always optimized for conversational realism over broadcast polish — its voices train on spontaneous speech, so they carry the disfluencies and rhythm of actual phone conversation, and its Mist models target the same sub-100ms territory. The 2026 move is pricing. Rime undercuts on per-character rates and pushes on-prem and self-hosted deployment for teams doing tens of millions of characters per month. In a contact center, a 30-40% delta on synthesis cost compounds into a real line item, and Rime is betting buyers will trade a little voice sheen for margin.
Why it matters
- Time to first audio is the only latency metric that maps to perceived humanity. Callers forgive slightly synthetic timbre; they do not forgive 800ms of silence after they finish a sentence. Optimizing the wrong metric — mean generation time, real-time factor — is why stacks that benchmark well still sound robotic on a real PSTN call.
- Vendor-quoted latency excludes your network path. A 90ms model on us-east means nothing if your orchestrator sits in Frankfurt and your telephony provider adds 120ms of jitter buffer. Your real-time text to speech latency is the sum of ASR endpointing, LLM first token, TTS first audio, and transport — and TTS is usually not the biggest term.
- Barge-in handling is now a first-class differentiator. Models that degrade gracefully on cancellation let you run aggressive interruption thresholds, which makes the agent feel attentive instead of steamrolling.
- Per-character pricing changes your architecture. Cheap synthesis means you cache less and generate more dynamically. Expensive synthesis means you pre-render fixed prompts and only synthesize the variable spans — a meaningful engineering difference driven purely by Cartesia Sonic 3 pricing versus Rime’s rates.
- Voice cloning consent and disclosure are tightening. Both vendors gate cloning behind consent attestation, and phone deployments in several US states now carry disclosure expectations. Bake this into your rollout, not your legal review afterward.
- Switching cost has dropped. Both vendors ship WebSocket streaming APIs with similar shapes, so the abstraction you need is thin — which means you should benchmark quarterly, not annually.
How to run your own streaming TTS benchmark
Do not trust anyone’s published numbers, including the ones in this article. Measure from where your traffic actually originates, with your actual text, at your actual concurrency. Here is a workable path.
-
Install the SDKs and set keys.
pip install cartesia requests websockets export CARTESIA_API_KEY="sk_car_..." export RIME_API_KEY="..." -
Measure time to first audio on Cartesia Sonic 3 over WebSocket. The metric you want is the wall clock between sending the text and receiving the first audio byte — not the full generation.
import os, time from cartesia import Cartesia client = Cartesia(api_key=os.environ["CARTESIA_API_KEY"]) ws = client.tts.websocket() text = "Thanks for holding. I pulled up your account and I can see the charge you're asking about." start = time.perf_counter() ttfa = None for chunk in ws.send( model_id="sonic-3", transcript=text, voice={"mode": "id", "id": "YOUR_VOICE_ID"}, output_format={ "container": "raw", "encoding": "pcm_s16le", "sample_rate": 8000, }, stream=True, ): if ttfa is None and getattr(chunk, "audio", None): ttfa = (time.perf_counter() - start) * 1000 break print(f"time to first audio: {ttfa:.0f} ms") ws.close()Note the 8kHz PCM output format. If your destination is a phone call, synthesizing at 44.1kHz and downsampling wastes both bytes and milliseconds. Ask for telephony format directly.
-
Run the same measurement against Rime Arcana.
import os, time, requests start = time.perf_counter() r = requests.post( "https://users.rime.ai/v1/rime-tts", headers={ "Authorization": f"Bearer {os.environ['RIME_API_KEY']}", "Accept": "audio/pcm", }, json={ "text": "Thanks for holding. I pulled up your account.", "speaker": "luna", "modelId": "arcana", "samplingRate": 8000, }, stream=True, ) for block in r.iter_content(chunk_size=1024): if block: print(f"time to first audio: {(time.perf_counter()-start)*1000:.0f} ms") break -
Report percentiles, not averages. One slow synthesis in fifty is what your customers remember. Run at least 100 iterations per vendor and look at p50, p95, and p99.
import statistics as s def report(name, samples): samples = sorted(samples) p = lambda q: samples[int(len(samples) * q) - 1] print(f"{name}: p50={p(.50):.0f}ms p95={p(.95):.0f}ms " f"p99={p(.99):.0f}ms mean={s.mean(samples):.0f}ms") -
Measure under concurrency, not one call at a time. Serial benchmarks flatter every vendor. Fire 25 concurrent streams and re-measure — this is where hosted tiers start queueing and where the published numbers quietly stop applying.
import asyncio async def bench(n=25): results = await asyncio.gather(*[measure_ttfa() for _ in range(n)]) report(f"concurrency={n}", results) asyncio.run(bench()) -
Chunk your LLM output so TTS starts before generation finishes. This single change usually beats any vendor swap. Stream LLM tokens, flush to TTS at the first sentence boundary, and keep streaming.
import re BOUNDARY = re.compile(r"[.!?]\s") buf = "" for token in llm_stream: buf += token if BOUNDARY.search(buf) and len(buf) > 40: tts_ws.send(transcript=buf, continue_=True) buf = "" if buf: tts_ws.send(transcript=buf, continue_=False) -
Instrument the full turn, end to end. Log four timestamps per turn — user speech end, ASR final, LLM first token, TTS first audio — and put them in your traces. You will almost always find that endpointing, not synthesis, is your worst offender.
How Cartesia Sonic 3 compares to Rime Arcana
| Dimension | Cartesia Sonic 3 | Rime Arcana / Mist v2 | ElevenLabs Flash v2.5 |
|---|---|---|---|
| Quoted model latency | ~90ms TTFA (US, streaming) | Sub-100ms on Mist; Arcana slightly higher | ~75ms quoted, excludes network |
| Architecture | State space model, natively streaming | Transformer-based, spontaneous-speech training data | Proprietary low-latency variant |
| Paralinguistics | Inline laughter, sighs, emotion shifts | Native disfluencies, filler words, breath | Limited in Flash tier |
| Interruption / barge-in | Clean cancellation, explicit design goal | Supported via streaming cancel | Supported, orchestration-dependent |
| Pricing posture | Per-character, volume tiers | Aggressively undercutting per character | Credit-based, priciest at volume |
| Self-host option | Enterprise on-prem available | On-prem pushed as a differentiator | Not generally available |
| Best fit | Expressive agents, consumer-facing brands | High-volume phone support, cost-sensitive | Content production plus real-time |
The honest read: for a streaming TTS benchmark 2026 comparison at realistic concurrency, these three cluster far closer than their marketing suggests. Cartesia wins on expressiveness and architectural elegance. Rime wins on cost at volume and on sounding like a person actually on a phone rather than reading an audiobook. ElevenLabs wins on voice library breadth. None of them will fix an 800ms endpointing delay in your ASR layer.
What’s next
Expect the latency race to hit diminishing returns fast, because the physics stop cooperating. Once model TTFA drops under ~80ms, the dominant terms become network round trip, telephony jitter buffers, and voice activity detection thresholds — none of which a TTS vendor controls. The competitive frontier will move to two places: edge deployment (running synthesis in the same region, or the same box, as your media server) and duplex models that fold ASR, reasoning, and synthesis into one system with no handoff seams. Watch for both vendors to push harder on regional endpoints and on-prem this year.
On pricing, the undercutting pattern rarely stops at one round. Rime moved on per-character rates for voice AI for phone support workloads, and Cartesia has both the funding and the volume tiers to answer. If you are negotiating a contract right now, hold a competing benchmark in hand — vendors in a price war are unusually flexible, and a spreadsheet of your own p95 numbers is worth more than any published comparison.
The regulatory track is the wildcard. Consent requirements for voice cloning, disclosure rules for AI callers, and state-level telemarketing law are all moving. Build a disclosure line into your agent’s opening turn now — it costs 1.5 seconds and it makes the compliance conversation a non-event later. Teams that treat this as an afterthought end up re-recording every prompt in their IVR.
Frequently Asked Questions
Is Cartesia Sonic 3 actually faster than Rime Arcana in production?
On paper, marginally — but the difference sits inside the noise of your own network path. Run both from your production region at your real concurrency. Most teams find a 10-30ms spread between vendors and a 200ms+ spread between their own regions, which tells you where to spend engineering effort.
What is a good time to first audio target for phone support?
Aim for under 800ms total turn latency from end-of-user-speech to first audio out, and under 500ms if you want the agent to feel genuinely conversational. Within that budget, TTS should consume 100-150ms. If TTS eats more than 20% of your turn budget, you have a format or region problem, not a vendor problem.
How does Cartesia Sonic 3 pricing compare for a contact center?
Both vendors price per character with volume tiers, and Rime currently holds the cheaper sticker price. Model your real usage before deciding: a typical support turn runs 200-400 characters, so at 50,000 calls a month with 8 agent turns each you are synthesizing roughly 100-160 million characters. At that scale, a 30% per-character delta is worth negotiating over — and both vendors will negotiate.
Do I need voice cloning, or are stock voices fine?
Stock voices work for most support deployments and skip a consent-documentation burden entirely. Clone when brand voice is a genuine differentiator — consumer apps, celebrity-adjacent brands, or multilingual consistency where you need the same identity across languages. Get written consent from the voice talent, keep it on file, and confirm your vendor’s attestation flow.
Can I self-host either model?
Rime pushes on-prem and self-hosted deployment as a selling point, and Cartesia offers enterprise on-prem arrangements. Both are enterprise-tier conversations with real minimums. Self-hosting mainly pays off when data residency is a hard requirement or when your volume is high enough that GPU amortization beats per-character rates — usually north of a few hundred million characters monthly.
What matters more, latency or voice quality?
Latency, and it is not close for live phone deployments. Listener studies consistently show that response delay drives perceived unnaturalness more than timbre does. A slightly synthetic voice that responds in 400ms reads as competent; a gorgeous voice that responds in 1.2 seconds reads as broken. Optimize real-time text to speech latency first, then spend what is left on voice selection.
Go deeper than this article
This article covers the essentials. Our Creative AI eguide collection gives you the full step-by-step playbooks — prompts, workflows, and copy-paste recipes built for exactly this work.