Ana Brainiall

Trò chuyện bằng giọng nói (STT → LLM → TTS pipeline)

avancado · 12 min · Por Ana Brainiall

Cấu trúc của một cuộc trò chuyện bằng giọng nói

Trò chuyện bằng giọng nói với AI là một chuỗi gồm 3 API:

`
[Bạn nói] → Microphone → STT (Whisper) → văn bản

LLM (Claude/GPT)

[Bạn nghe] ← Loa ← TTS (pf_dora) ← văn bản
`

Mỗi bước đều có độ trễ. Để trải nghiệm có cảm giác tự nhiên (như cuộc trò chuyện thật), tổng thời gian cần dưới 1.5 giây. Vào năm 2026, điều này hoàn toàn khả thi nhưng đòi hỏi kỹ thuật xây dựng cẩn thận.

diagrama de fluxo com 3 blocos coloridos — STT (azul), LLM (roxo), TTS (verde) —

Độ trễ thực tế vào năm 2026

Đo lường trong cuộc trò chuyện thực tế trên Brainiall:

Tổng thời gian từ token đầu đến giọng nói: 1150-2150ms. Chấp nhận được nếu mô hình bắt đầu "nói" sớm (streaming).

Streaming là chìa khóa

Không có streaming, mỗi bước phải chờ bước trước hoàn tất: 600ms + 900ms + 500ms = tối thiểu 2000ms.

Với streaming:
- STT có thể bắt đầu phiên âm trong khi bạn vẫn đang nói (VAD — Voice Activity Detection)
- LLM bắt đầu tạo token trước khi STT hoàn tất (dựa trên dự đoán ý định)
- TTS bắt đầu đọc những từ đầu tiên trong khi LLM vẫn đang tạo phần còn lại

Độ trễ hiệu quả giảm xuống còn 400-700ms. Cảm giác hoàn toàn tự nhiên.

VAD: biết khi nào bạn ngừng nói

Thách thức tinh tế nhất: phát hiện khi bạn đã ngừng nói. Dừng quá sớm sẽ cắt đứt câu của bạn. Dừng quá muộn sẽ thêm 500ms độ trễ không cần thiết.

Các kỹ thuật:
- Im lặng hoàn toàn trong 600ms: đơn giản nhưng không xử lý được các khoảng dừng suy nghĩ tự nhiên
- Silero VAD: mô hình neural phát hiện kết thúc câu với độ chính xác ~95% trong <50ms
- Confidence từ STT: Whisper trả về confidence; nếu giảm, có thể câu đã kết thúc
- Phát hiện ngắt lời: người dùng nói lại → hủy TTS đang chạy, bắt đầu lại chu kỳ

Brainiall sử dụng Silero VAD kết hợp ngưỡng im lặng động (tự điều chỉnh theo môi trường xung quanh).

Chọn mô hình: cân bằng giữa độ trễ và chất lượng

Ở chế độ giọng nói, thường nên hy sinh một chút chất lượng LLM để đổi lấy tốc độ:

Với các cuộc trò chuyện ưu tiên chất lượng hơn tốc độ (ví dụ: gia sư ngôn ngữ chuyên sâu), hãy nâng lên Claude Sonnet 4.6 hoặc GPT-5 đầy đủ.

Các trường hợp sử dụng phù hợp với voice-mode

Những lỗi thường gặp

diagrama de armadilhas — 4 situações comuns com ícones + solução; barulho (heads

Triển khai cơ bản trên trình duyệt

Để thử nghiệm nhanh:

`javascript
// 1. Thu âm
const stream = await navigator.mediaDevices.getUserMedia({audio: true});
const mediaRecorder = new MediaRecorder(stream);

// 2. Gửi từng chunk mỗi 500ms
mediaRecorder.ondataavailable = async (e) => {
const formData = new FormData();
formData.append('file', e.data);
const r = await fetch('/api/transcribe', {method:'POST', body: formData});
const {text} = await r.json();
// 3. Gửi đến LLM, nhận phản hồi
// 4. Gửi phản hồi đến /api/tts, phát kết quả
};
mediaRecorder.start(500);
`

Brainiall đã tích hợp sẵn tính năng này trong chat: nhấp vào biểu tượng micro và giữ.

Thử ngay bây giờ

Trong chat Brainiall, nhấp vào biểu tượng micro và giữ. Nói, thả ra, nhận phản hồi bằng văn bản và âm thanh. Gói Pro $5.99 bao gồm giọng nói đầy đủ; gói Business mở khóa giọng nói cao cấp và độ trễ ưu tiên.

Thích khóa học?

Mở khóa 17 khóa học Pro + 40+ AI trong chat + tạo video, âm nhạc và Studio đầy đủ.

Lên Pro · $5.99/tháng

Hủy bất cứ lúc nào · Không ràng buộc