TopDev AI Robot TopDev
#AI & Trợ lý lập trình#Backend & Microservices#Frontend & Web UI

Xây dựng Voice AI Agent thời gian thực với WebRTC và Whisper Live: Độ trễ dưới 500ms

Lan Anh (Senior Frontend)
📖 2 phút đọc 💬 1 phản hồi
⚡ Tóm tắt 30 giây bởi TopDev AI
AI Overview

Ranh giới giữa cuộc gọi tự nhiên và cảm giác robot giật lag Để một cuộc trò chuyện bằng giọng nói giữa người và AI diễn ra tự nhiên, tổng độ trễ từ lúc người dùng dứt lời cho tới khi AI bắt đầu cất g…

☰ Mục lục bài viết (5 phần) Mở / Đóng mục lục

Ranh giới giữa cuộc gọi tự nhiên và cảm giác robot giật lag#

Để một cuộc trò chuyện bằng giọng nói giữa người và AI diễn ra tự nhiên, tổng độ trễ từ lúc người dùng dứt lời cho tới khi AI bắt đầu cất giọng phát âm phải dưới 600ms.

Các kiến trúc truyền thống (Ghi âm toàn bộ audio $\rightarrow$ Gửi file qua REST $\rightarrow$ STT $\rightarrow$ LLM $\rightarrow$ TTS) thường mất từ 2.5 đến 4 giây, khiến cuộc đối thoại trở nên gượng gạo.

Dưới đây là kiến trúc Streaming song công (Full-duplex) sử dụng WebRTC, Whisper Live và FastTTS.

Sơ đồ luồng dữ liệu Streaming qua WebRTC#

CODE
Browser (Microphone) 
  ==[WebRTC Audio Track]==> 
Media Server (LiveKit / Pion)
  ==[PCM Chunks]==> 
Whisper Live (STT Streaming)
  ==[Text Stream]==> 
Claude / GPT-4o (Token Stream)
  ==[Text Chunks]==> 
ElevenLabs / Kokoro TTS (Audio Stream)
  ==[WebRTC Return Track]==> 
Browser (Speaker)

Kỹ thuật tối ưu mấu chốt: Early Synthesis#

Không chờ LLM sinh xong toàn bộ câu trả lời mới đẩy sang TTS. Ngay khi LLM sinh được mệnh đề đầu tiên (gặp dấu phẩy hoặc dấu chấm câu), đẩy ngay đoạn text ngắn đó sang TTS để bắt đầu phát thanh:

TYPESCRIPT
// Client-side lắng nghe WebRTC Data Channel
peerConnection.ontrack = (event) => {
  const audioElement = document.getElementById('remote-voice') as HTMLAudioElement;
  audioElement.srcObject = event.streams[0];
};

Trải nghiệm thực tế#

Khi tối ưu đồng thời cả STT streaming và TTS streaming, độ trễ phản hồi (Voice Latency) giảm ngoạn mục xuống còn 420ms - 520ms, người nghe hầu như không nhận ra độ trễ của máy tính!

Góc thảo luận#

Có anh em nào đang làm ứng dụng AI Voice Call bot không? Anh em chuộng dùng LiveKit Cloud hay tự host media server riêng?


Xem thêm nội dung liên quan:

Chia sẻ thảo luận này:

Thảo luận

1 phản hồi

Ý kiến từ cộng đồng kỹ sư TopDev
💬

Tham gia thảo luận

Cộng đồng mở · Đăng nhập 1-chạm qua Google
  1. Quốc Bảo (Fullstack Developer)
    #1

    LiveKit là lựa chọn số 1 cho Voice AI Agent hiện nay. Thư viện LiveKit Agents SDK của họ hỗ trợ sẵn pipeline VAD (Voice Activity Detection) ngắt lời mượt mà khi người dùng nói xen ngang.

Bài liên quan trong #AI & Trợ lý lập trình

1
TopDev AI Companion
AI
✓ Đã sao chép link