Skip to content

Cartesia 深入介紹:從 Sonic 串流 TTS 到即時語音 Agent Pipeline

2026年8月22日 1 分鐘
TL;DR Cartesia 的核心是 Sonic 即時 TTS、Ink STT 與串流推論;雖然 2026 年已有 Line voice-agent 平台,選型時仍要分清模型層與電話 orchestration,並把 voice cloning 同意、資料保存與 fallback 自己設計好。
目錄
  1. Sonic:為串流輸出設計的語音模型
  2. WebSocket:把 LLM token 變成可播放音訊
  3. 聲音控制:先看模型版本再寫產品需求
  4. Voice cloning 與 localization:技術容易,權利鏈更難
  5. 放進完整 agent pipeline
  6. 和相鄰工具怎麼選
  7. 整體來說
  8. 參考資料

🌏 English version

Cartesia 最精確的定位,是為即時互動提供語音模型與推論平台:Sonic 做 text-to-speech(TTS),Ink 做 speech-to-text(STT),API 把音訊以串流方式送進 agent pipeline。截至 2026 年 8 月,Cartesia 也提供名為 Line 的 voice-agent 產品;但採用 Sonic API,不等於電話號碼、通話狀態、轉接、LLM 與工具 orchestration 都會自動完成。

這個界線決定怎麼比較產品。若你已用 LiveKit 或 Vapi 管會話,Cartesia 可以只是 TTS provider;若你採 Line,才是把 Cartesia 的 agent control plane 一起納入。本文主脊放在 model → streaming inference → voice cloning/localization → agent pipeline,因為這是 Cartesia 最具辨識度、也最容易被「voice agent 平台」四個字混淆的部分。

Sonic:為串流輸出設計的語音模型

Cartesia 的 Sonic 系列建立在 state space model(SSM)研究路線上,產品重點是低延遲、逐段接受文字並持續產生音訊,而非等整段回答完成才合成。2025 年 Fortune 報導公司完成 6,400 萬美元 Series A、累計募資 9,100 萬美元,並轉述執行長稱 Sonic 延遲由 90ms 降到 45ms、已有超過 10,000 個客戶使用。這些延遲與採用量是公司向媒體提供的數字,不是跨供應商同條件 benchmark。

到 2026 年,主力已是 Sonic-3.5。舊模型、voice embedding input 與部分 endpoint 在 6 月停用,官方changelog要求新 API 使用 voice ID;production 應 pin dated snapshot,而不是永遠追 latest,否則語調或發音可能在沒有程式碼 diff 的情況下改變。

WebSocket:把 LLM token 變成可播放音訊

官方WebSocket APIcontext_id multiplex 多次 generation。同一 turn 的文字 chunk 使用同一 context,Sonic 才能延續 prosody;新 turn 應使用新 context。連線最好在第一批文字到達前建立,避免把 handshake 算進首段音訊延遲。

import asyncio, json, os, websockets

async def speak(text, voice_id):
    url = (
        "wss://api.cartesia.ai/tts/websocket"
        "?cartesia_version=2026-03-01&api_key=" + os.environ["CARTESIA_API_KEY"]
    )
    async with websockets.connect(url) as ws:
        await ws.send(json.dumps({
            "model_id": "sonic-3.5",
            "transcript": text,
            "voice": {"mode": "id", "id": voice_id},
            "output_format": {
                "container": "raw",
                "encoding": "pcm_s16le",
                "sample_rate": 24000,
            },
            "context_id": "turn-42",
            "continue": False,
        }))

        async for message in ws:
            event = json.loads(message)
            if event["type"] == "chunk":
                play_base64_audio(event["data"])
            elif event["type"] == "done":
                break

asyncio.run(speak("您好,需要我幫忙查訂單嗎?", os.environ["VOICE_ID"]))

實際 agent 還要處理 LLM partial text、標點切句、buffer、backpressure、barge-in 與取消。使用者開始說話時,不能只停播放器;也要取消尚未播放的 TTS context,否則舊回答會在新 turn 中漏出來。

聲音控制:先看模型版本再寫產品需求

Sonic 支援 emotion,以及 speed、volume 等 generation guidance,也可透過 SSML 調整。可是官方控制文件明確標示 Sonic-3.5 暫時停用 speed 與 volume;需要這兩項就 pin Sonic-3 snapshot。它們是自然度導向的 guidance,不是精確 DSP 旋鈕,測試要用真實台詞與語言。

自訂人名、品牌與縮寫應使用 pronunciation dictionary/IPA,而不是在 prompt 裡故意拼錯。語言與聲音也要配對;把英文 voice 直接拿來說中文,不代表自然的中文在地化。官方 2026 changelog 已加入 regional routing 與 pronunciation dictionaries,但「支援語言」仍不等於每個口音、數字與專有名詞都同樣穩定。

Voice cloning 與 localization:技術容易,權利鏈更難

目前 instant clone API 接受短音訊並回傳 voice ID;官方Clone Voice API建議約 5 秒來源音訊。Professional Voice Clone 使用較大量錄音 fine-tune,適合品牌聲音;localization 則讓同一 voice 跨語言使用。品質要分別以 speaker similarity、intelligibility、accent 與真人偏好測試,不能只用「聽起來像」驗收。

聲音是可辨識的個人特徵。Cartesia Terms禁止未經本人明確許可上傳他人聲音,並說除非另有約定,input、output 與互動可能用於改善模型,使用者可提出未來訓練 opt-out。企業上線前至少要保存可撤回的書面同意、限制 clone 建立權限、記錄每次生成、提供刪除流程,並在適用情境揭露合成語音。

官方Zero Data Retention 文件也指出,ZDR 不適用 voice cloning、PVC 與需要保留來源素材的流程。不能因一般 TTS endpoint 開了 ZDR,就推論聲音複製資料也不保存;DPA、區域、retention 與刪除 SLA 要逐項確認。

放進完整 agent pipeline

電話 / WebRTC

STT(Ink 或其他 provider)
      ↓ partial transcript
Agent / LLM / tools
      ↓ partial text
Cartesia Sonic WebSocket
      ↓ PCM frames
播放 + barge-in + call state

Cartesia 決定最後一段「文字如何變聲音」,也可以提供 Ink 或 Line 擴大範圍。完整 production system 仍需 turn detection、echo cancellation、電話供應商、重試、錄音政策、tool timeout 與真人轉接。把 TTS 首包延遲當成 end-to-end latency,會漏掉 STT endpointing、LLM TTFT、網路與 jitter buffer。

和相鄰工具怎麼選

工具公開重心優先考慮的情境
CartesiaSonic TTS、Ink STT、Line agents、低延遲串流想以 Sonic 聲音模型為核心,或需要多種部署形態
LiveKit AgentsWebRTC media、turn handling、provider-neutral agent framework需要即時媒體層,且想自由替換 STT/LLM/TTS
Vapi電話、agent orchestration 與 provider 組合想快速完成 phone agent control plane
Deepgramstreaming STT、TTS 與 Voice Agent APItranscription 是核心,想減少語音 provider 數量
ElevenLabsTTS、voice library/cloning、Conversational AI聲音目錄、內容製作與 agent 平台都重要

不是每個團隊都該選同一層。已有 LiveKit/Vapi 的團隊可只替換 TTS 做盲測;想減少整合面的團隊才比較 Line 與其他 end-to-end agent 平台。至少用同一批台詞,在相同 codec、region、network 與 voice 類型下量首包、完整播放、打斷恢復與真人偏好。

整體來說

Cartesia 的核心價值是把可控制、可複製的語音用串流速度送進互動產品。它適合 latency 與聲音體驗都重要,且團隊願意自行設計 agent pipeline 邊界的產品;Line 則提供一條整合更多元件的路。

最容易踩的坑,是把 model latency 當通話 latency、把支援 emotion 當每個模型都有全部旋鈕、把 ZDR 當 clone data 的保證。先用 WebSocket 做一條可取消的 TTS path,再加真實語言與同意流程,最後才決定要不要把 orchestration 也交給 Cartesia。

參考資料