Infrastruktur Voice AI: Membangun Agen Ucapan Real-Time
Diperbarui 11 Desember 2025
Pembaruan Desember 2025: Deepgram STT pada 150ms, ElevenLabs TTS pada 75ms—namun sebagian besar agen membutuhkan 800ms-2 detik karena penumpukan latensi stack. Percakapan manusia memerlukan jendela respons 300-500ms. Latensi pipeline: STT (100-500ms) + LLM (350ms-1 detik+) + TTS (75-200ms). Setiap milidetik penting untuk agen suara produksi.
Deepgram menghasilkan speech-to-text dalam 150 milidetik. ElevenLabs mensintesis suara dalam 75 milidetik. Namun sebagian besar agen voice AI masih membutuhkan 800 milidetik hingga dua detik untuk merespons—karena latensi terakumulasi di seluruh stack.¹ Kesenjangan antara kemampuan komponen dan performa end-to-end mengungkapkan tantangan infrastruktur di jantung voice AI: mengorkestrasi pengenalan ucapan, model bahasa, dan sintesis menjadi pipeline yang sesuai dengan waktu percakapan manusia.
Percakapan manusia beroperasi dalam jendela respons 300-500 milidetik.² Penundaan di atas 500 milidetik terasa tidak natural. Di atas 1,2 detik, pengguna menutup telepon atau menyela. Membangun agen suara yang memenuhi ambang batas ini memerlukan pemahaman setiap lapisan stack, pemilihan komponen yang tepat, dan merancang sistem di mana setiap milidetik sangat penting.
Stack voice AI
Setiap agen suara bergantung pada empat komponen yang bekerja bersama:³
Speech-to-Text (STT/ASR): "Telinga" yang mentranskripsikan audio ucapan menjadi teks. Latensi berkisar dari 100-500 milidetik tergantung pada konfigurasi streaming.
Large Language Model (LLM): "Otak" yang memproses teks transkripsi dan menghasilkan respons. Latensi berkisar dari 350 milidetik untuk model yang dioptimalkan hingga lebih dari satu detik untuk model frontier.
Text-to-Speech (TTS): "Suara" yang mensintesis teks respons menjadi audio. TTS streaming modern mencapai time-to-first-audio 75-200 milidetik.
Orkestrasi: "Konduktor" yang mengelola aliran real-time antar komponen, menangani pergantian giliran, interupsi, dan state sesi.
Persamaan latensi
Latensi voice AI terakumulasi di seluruh pipeline:⁴
Total Latensi = STT + LLM + TTS + Jaringan + Pemrosesan
= 200ms + 500ms + 150ms + 50ms + 100ms
= 1000ms (tipikal)
Mencapai respons di bawah 500 milidetik memerlukan kompresi setiap komponen atau paralelisasi pipeline melalui streaming—memulai sintesis ucapan sebelum LLM selesai menghasilkan, memproses transkripsi parsial sebelum pengguna selesai berbicara.
Infrastruktur speech-to-text
Lapisan ASR mengonversi stream audio menjadi teks yang dapat diproses model bahasa. Pemilihan penyedia melibatkan keseimbangan antara latensi, akurasi, dan biaya.
Perbandingan penyedia
Deepgram Nova-3:⁵ - Time-to-first-token: ~150ms (AS), 250-350ms (global) - Word error rate: 18,3% - Dioptimalkan untuk streaming dengan real-time factor 0,2-0,3x - Harga: $0,0043/menit (pay-as-you-go) - Terbaik untuk: Agen suara latensi rendah yang mengutamakan kecepatan
AssemblyAI Universal-2:⁶ - Latensi: 300-600ms - Word error rate: 14,5% (akurasi terbaik di antara model streaming) - Performa domain-specific yang kuat dalam konteks medis dan penjualan - Harga: $0,00025/detik - Terbaik untuk: Aplikasi yang memerlukan akurasi di atas kecepatan mentah
Whisper (self-hosted):⁷ - Latensi: 1-5 detik (batch), 380-520ms (WhisperX dioptimalkan) - Akurasi tertinggi untuk transkripsi offline - Memerlukan engineering signifikan untuk streaming produksi - Terbaik untuk: Pemrosesan batch, arsitektur hybrid
Groq-accelerated Whisper: - Latensi: Di bawah 300ms pada hardware LPU - Menggabungkan akurasi Whisper dengan latensi streaming - Ketersediaan terbatas melalui GroqCloud - Terbaik untuk: Aplikasi real-time yang berfokus pada kualitas
Pola infrastruktur ASR
Arsitektur streaming: Mulai transkripsi segera saat audio tiba daripada menunggu ucapan lengkap. Hasil parsial memberi input ke komponen downstream sebelum pengguna selesai berbicara.
# Pola ASR streaming
async def transcribe_stream(audio_stream):
async for chunk in audio_stream:
partial = await asr_client.transcribe_chunk(chunk)
if partial.is_final:
yield partial.text
else:
# Kirim hasil interim untuk prediksi
yield partial.interim_text
Voice Activity Detection (VAD): Mendeteksi kapan pengguna mulai dan berhenti berbicara. VAD yang buruk menciptakan pemotongan prematur (menyela pengguna) atau penundaan berlebihan (menunggu keheningan yang sudah terjadi).
Endpointing: Menentukan kapan pengguna telah menyelesaikan gilirannya. Endpointing agresif mengurangi latensi tetapi berisiko memotong pembicara. Endpointing konservatif memastikan kelengkapan tetapi menambah penundaan.
Kebutuhan GPU untuk ASR self-hosted
Deployment Whisper self-hosted memerlukan akselerasi GPU:⁸
| Level Beban Kerja | GPU | Stream Bersamaan |
|---|---|---|
| Development | RTX 3060/4060 | 5-10 |
| Produksi | A100 40GB | 50-100 |
| Enterprise | H100 | 200+ |
Speech-to-text produksi biasanya berjalan pada A100 atau RTX 6000 Ada daripada H100—beban kerja lebih diuntungkan dari memory bandwidth daripada compute mentah.
Lapisan large language model
LLM memproses ucapan yang ditranskripsikan dan menghasilkan teks respons. Pemilihan model secara dramatis mempengaruhi latensi dan kualitas percakapan.
Profil latensi model
Ultra-cepat (di bawah 350ms):⁹ - Gemini Flash 1.5: ~300ms time-to-first-token - Groq-served Llama: ~200ms pada LPU - Terbaik untuk: Responsivitas maksimum, query sederhana
Cepat (350-700ms): - GPT-4o-mini: ~400ms - Claude 3.5 Haiku: ~350ms - Terbaik untuk: Kecepatan dan kemampuan seimbang
Standar (700ms-1 detik+): - GPT-4o: ~700ms - Claude 3.5 Sonnet: ~800ms - Terbaik untuk: Penalaran kompleks, aplikasi kritis kualitas
Strategi optimasi
Streaming generation: Mulai sintesis TTS saat token LLM tiba daripada menunggu respons lengkap. Pipeline orkestrasi modern melakukan streaming token langsung ke sintesis ucapan.
Speculative execution: Prediksi respons yang mungkin berdasarkan transkripsi parsial. Mulai menghasilkan respons sebelum pengguna selesai berbicara, membuang prediksi yang tidak sesuai dengan intent akhir.
Model routing: Rutekan query sederhana ke model cepat, query kompleks ke model berkemampuan tinggi. Classifier menentukan kompleksitas query dalam milidetik satu digit.
# Pola model routing
def route_query(transcript, context):
complexity = classify_complexity(transcript)
if complexity == "simple":
return "gemini-flash"
elif complexity == "moderate":
return "gpt-4o-mini"
else:
return "gpt-4o"
Optimasi prompt: Prompt yang lebih pendek mengurangi waktu pemrosesan. Cache system prompt di mana penyedia mendukung prompt caching (Anthropic mencapai pengurangan biaya 90% pada prefix yang di-cache).
Infrastruktur text-to-speech
TTS mengonversi teks yang dihasilkan LLM menjadi ucapan yang terdengar natural. Lapisan ini telah bertransformasi dari bottleneck (2-3 detik secara historis) menjadi kekuatan (75-150ms dengan penyedia modern).
Perbandingan penyedia
ElevenLabs Flash v2.5:¹⁰ - Time-to-first-audio: 75ms - Kualitas suara: Kealamian terdepan di industri - Rentang emosi: Ekspresivitas sangat baik - Harga: $0,050/1.000 karakter - Terbaik untuk: Aplikasi kritis kualitas
Cartesia Sonic:¹¹ - Time-to-first-audio: 40-95ms - Dibangun khusus untuk percakapan real-time - Latensi rendah konsisten di bawah beban - Harga: $0,038/1.000 karakter - Terbaik untuk: Aplikasi kritis latensi
Deepgram Aura-2:¹² - Time-to-first-audio: Di bawah 150ms - Keandalan grade enterprise - Hemat biaya dalam skala - Harga: $0,030/1.000 karakter - Terbaik untuk: Deployment enterprise volume tinggi
PlayHT: - Latensi: ~300ms - Library suara ekstensif - Kemampuan voice cloning - Titik harga lebih rendah - Terbaik untuk: Aplikasi dengan anggaran terbatas
Pola infrastruktur TTS
Streaming synthesis: Hasilkan audio secara progresif saat teks tiba dari LLM. Kirim chunk audio ke pengguna sebelum kalimat lengkap selesai disintesis.
Audio buffering: Pertahankan buffer kecil untuk melancarkan playback meskipun waktu sintesis bervariasi. Buffer terlalu banyak dan latensi terpengaruh. Buffer terlalu sedikit dan audio terputus-putus.
Voice caching: Cache frasa yang sering digunakan (sapaan, respons umum) sebagai audio yang sudah disintesis. Mengeliminasi latensi TTS sepenuhnya untuk konten yang di-cache.
Platform orkestrasi
Lapisan orkestrasi menghubungkan komponen ASR, LLM, dan TTS sambil menangani telephony, pergantian giliran, dan manajemen sesi. Pemilihan platform menentukan kecepatan development dan keandalan produksi.
Perbandingan platform
Vapi:¹³ - Fokus: Platform agen suara turnkey - Telephony: Integrasi SIP/PSTN native - Kustomisasi: Pemilihan komponen modular - Harga: $0,05/menit + biaya komponen - Terbaik untuk: Deployment cepat, aplikasi fokus telepon
LiveKit:¹⁴ - Fokus: Infrastruktur real-time open-source - Arsitektur: WebRTC-native dengan agent framework - Kustomisasi: Kontrol penuh, dapat di-self-host - Harga: Tier gratis (100 concurrent, 5.000 menit/bulan), berbayar dari $50/bulan - Terbaik untuk: Aplikasi custom, tim yang membutuhkan kontrol penuh
Retell AI:¹⁵ - Fokus: Alur percakapan natural - Pembeda: Penanganan pergantian giliran dan interupsi yang dioptimalkan - Kepatuhan: HIPAA dan SOC 2 Type II - Harga: $0,07+/menit - Terbaik untuk: Prioritas kualitas percakapan, kepatuhan enterprise
Pipecat: - Fokus: Agent framework open-source - Integrasi: Bekerja dengan penyedia cloud utama - Kustomisasi: Konstruksi pipeline sangat fleksibel - Terbaik untuk: Developer yang menginginkan framework tanpa platform lock-in
Kriteria pemilihan
| Faktor | Vapi | LiveKit | Retell |
|---|---|---|---|
| Integrasi telephony | Sangat baik | Baik (via SIP) | Sangat baik |
| Kustomisasi | Tinggi | Tertinggi | Sedang |
| Kompleksitas setup | Rendah | Sedang | Rendah |
| Self-hosting | Tidak | Ya | Tidak |
| Fitur enterprise | Baik | Berkembang | Sangat baik |
Pola arsitektur
Cascading pipeline (ASR → LLM → TTS)
Arsitektur tradisional memproses audio melalui tahap-tahap diskrit:¹⁶
Audio → ASR → Teks → LLM → Teks Respons → TTS → Audio
Keuntungan: - Modularitas komponen (mudah mengganti penyedia) - Tooling dan debugging matang - Struktur biaya yang dapat diprediksi (~$0,15/menit terlepas dari panjang percakapan) - Representasi intermediate yang transparan (teks dapat diperiksa)
Tantangan: - Akumulasi latensi di seluruh tahap - Kehilangan informasi dalam representasi teks (prosodi, emosi) - Koordinasi streaming yang kompleks
Speech-to-speech (S2S)
Model end-to-end memproses audio langsung ke audio:¹⁷
Audio → Model Multimodal → Audio
Contoh: - GPT-4o voice mode - Moshi (Kyutai Labs) - Ultravox
Keuntungan: - Mempertahankan informasi prosodis - Potensi latensi lebih rendah (model tunggal) - Menangani ucapan tumpang tindih secara natural
Tantangan: - Biaya lebih tinggi (~$0,30-1,50/menit untuk percakapan lebih panjang) - Kustomisasi terbatas (tidak dapat mengganti komponen) - Opasitas debugging (tidak ada teks intermediate)
Pendekatan hybrid
Sistem produksi semakin menggabungkan arsitektur:
Cascading dengan fallback S2S: Gunakan cascading untuk interaksi standar, beralih ke S2S untuk dialog tumpang tindih yang kompleks.
Pemrosesan paralel: Jalankan ASR dan prediksi intent secara bersamaan. Mulai generasi respons berdasarkan intent yang diprediksi saat ASR selesai.
Speculative TTS: Pre-generate audio respons yang mungkin. Putar audio yang di-cache segera jika prediksi cocok; fallback ke sintesis jika tidak.
Scaling infrastruktur voice AI
Perencanaan kapasitas concurrent
Voice AI melakukan scaling berbeda dari AI berbasis teks. Setiap panggilan concurrent memerlukan resource pemrosesan dedicated di seluruh pipeline.¹⁸
Kapasitas per-GPU (self-hosted):
| GPU | Stream ASR | LLM Concurrent | Stream TTS |
|---|---|---|---|
| L4 | 50 | 20-30 | 100 |
| L40S | 100 | 50-75 | 200 |
| A100 | 100 | 75-100 | 250 |
| H100 | 200+ | 150-200 | 400+ |
Kapasitas layanan terkelola: Penyedia cloud menangani scaling secara otomatis