ChatTTS: 39.3K+ Stars — So Sánh Benchmark TTS Hội Thoại vs Coqui, MeloTTS 2026

ChatTTS (AGPL-3.0) là mô hình giọng nói tạo sinh cho kịch bản hội thoại. Tương thích với Coqui TTS, MeloTTS, GPT-SoVITS. Bao gồm cài đặt, benchmark, triển khai production và bảng so sánh.

  • ⭐ 39300
  • AGPL-3.0
  • Cập nhật 2026-05-19

{{< resource-info >}}

Giới thiệu #

Hầu hết các mô hình text-to-speech đọc văn bản to tiếng. Chúng ngừng ở dấu phẩy, phát âm chính xác từng từ, và tạo ra âm thanh nghe như phát thanh viên đọc bản tin. Điều đó ổn cho chỉ dẫn điều hướng hoặc thông báo tự động. Nhưng khi bạn cần một trợ lý giọng nói biết cườ khi nghe truyện cườ, do dự trước khi trả lờ câu hỏi khó, hoặc thở dài khi thất vọng, TTS truyền thống không đáp ứng được.

ChatTTS được xây dựng chính xác cho khoảng trống này. Với hơn 39.300 sao GitHub và mô hình được đào tạo trên hơn 100.000 giờ dữ liệu hội thoại tiếng Trung và tiếng Anh, ChatTTS tạo ra giọng nói nghe như cuộc trò chuyện giữa con ngườ, không phải robot đọc kịch bản. Nó hỗ trợ điều khiển ở cấp token cho tiếng cườ, khoảng nghỉ và âm thanh thở, khiến nó trở thành lựa chọn hàng đầu cho trợ lý LLM, chatbot và ứng dụng giọng nói tương tác vào năm 2026.

Hướng dẫn này đi qua thiết lập ChatTTS (chattts setup), benchmark với Coqui TTS, MeloTTS và Bark (chattts vs coqui), và trình bày cấu hình triển khai production. Bài viết này là một chattts tutorial toàn diện, cung cấp dữ liệu chattts benchmark chi tiết trong lĩnh vực conversational tts.

ChatTTS Logo — TTS Hội thoại cho Trợ lý LLM

ChatTTS là gì? #

ChatTTS là mô hình text-to-speech tạo sinh được thiết kế đặc biệt cho các kịch bản hội thoại. Được phát triển bởi 2noise và công bố theo giấy phép AGPL-3.0, dự án đạt phiên bản v0.2.5 vào tháng 4 năm 2026. Bản phát hành mở trên Hugging Face chứa mô hình cơ sở được đào tạo trước 40.000 giờ. Một mô hình lớn hơn 100.000 giờ tồn tại nội bộ nhưng chưa được công khai.

Mô hình sử dụng kiến trúc tự hồi quy tương tự như Bark và VALL-E, với bộ giải mã kiểu GPT tạo token ngữ nghĩa, sau đó được chuyển đổi thành âm thanh thông qua vocoder. Khác với pipeline TTS truyền thống tách phân tích văn bản, mô hình âm thanh và tạo dạng sóng thành các giai đoạn riêng biệt, ChatTTS xử lý mọi thứ end-to-end, cho phép nó nắm bắt các mẫu ngữ điệu tinh tế khiến cuộc trò chuyện của con ngườ nghe tự nhiên.

ChatTTS hoạt động như thế nào? #

Tổng quan kiến trúc #

ChatTTS tuân theo pipeline ba giai đoạn:

  1. Tinh chỉnh văn bản: Văn bản đầu vào được xử lý bởi mô hình ngôn ngữ thêm các đánh dấu ngữ điệu (tiếng cườ, khoảng nghỉ, hơi thở) và chuẩn hóa văn bản để tổng hợp giọng nói.
  2. Tạo token ngữ nghĩa: Bộ giải mã tự hồi quy kiểu GPT tạo token ngữ nghĩa dựa trên văn bản đã tinh chỉnh và nhúng ngườ nói. Đây là bước sáng tạo cốt lõi nơi mô hình quyết định nhịp điệu, ngữ điệu và biểu cảm cảm xúc.
  3. Giải mã âm thanh: Token ngữ nghĩa được chuyển đổi thành dạng sóng âm thanh thô sử dụng vocoder được đào tạo trước (Vocos). Đầu ra là âm thanh mono 24kHz.
Văn bản đầu vào → Bộ tinh chỉnh văn bản (LLM) → Token ngữ nghĩa (Bộ giải mã GPT) → Vocoder → Âm thanh 24kHz
                                      ↑
                               Nhúng ngườ nói (spk_emb)

Kiến trúc ChatTTS — Pipeline ba giai đoạn từ văn bản sang giọng nói với nhúng ngườ nói và điều khiển token ngữ điệu

Các khái niệm cốt lõi #

  • Nhúng ngườ nói (spk_emb): Tensor mã hóa đặc điểm giọng nói. Bạn có thể lấy mẫu ngườ nói ngẫu nhiên, lưu nhúng để sử dụng sau, hoặc trích xuất từ âm thanh tham chiếu.
  • Token ngữ điệu: Các token đặc biệt chèn vào văn bản để điều khiển biểu cảm:
    • [laugh] — chèn tiếng cườ
    • [uv_break] — thêm khoảng nghỉ nhỏ
    • [lbreak] — thêm khoảng nghỉ dài
  • Tham số suy luận: Temperature, top-P và top-K sampling điều khiển tính ngẫu nhiên và đa dạng của giọng nói được tạo.
import ChatTTS
import torch

chat = ChatTTS.Chat()
chat.load(compile=False)

# Lấy mẫu và lưu nhúng ngườ nói
rand_spk = chat.sample_random_speaker()
print(f"Kích thước nhúng ngườ nói: {rand_spk.shape}")

# Lưu để sử dụng sau
torch.save(rand_spk, "speaker_embedding.pt")

Cài đặt & Thiết lập #

Yêu cầu trước #

  • Python 3.9–3.11 (khuyến nghị 3.11)
  • GPU hỗ trợ CUDA với ít nhất 4GB VRAM (cho âm thanh 30 giây)
  • Khuyến nghị Linux; Windows hoạt động với WSL2

Cài đặt từ PyPI (Bản ổn định) #

# Tạo môi trường ảo
conda create -n chattts python=3.11
conda activate chattts

# Cài đặt ChatTTS
pip install ChatTTS

# Cài đặt tùy chọn cho tăng tốc GPU
pip install torchaudio

Cài đặt từ nguồn (Bản mới nhất) #

git clone https://github.com/2noise/ChatTTS
cd ChatTTS
pip install -e .

Thiết lập Docker #

# Clone repository
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# Build và chạy bằng Docker
docker build -t chattts .
docker run --gpus all -p 8080:8080 chattts

Xác minh cài đặt #

import ChatTTS
print(f"Phiên bản ChatTTS: {ChatTTS.__version__}")

# Kiểm tra suy luận nhanh
chat = ChatTTS.Chat()
chat.load(compile=False)
texts = ["Xin chào, đây là bản kiểm tra ChatTTS."]
wavs = chat.infer(texts)
print(f"Kích thước âm thanh: {wavs[0].shape}")

Khởi chạy WebUI #

python examples/web/webui.py

Truy cập giao diện tại http://localhost:7860. WebUI hỗ trợ nhập văn bản, chọn ngườ nói, điều chỉnh nhiệt độ và phát âm thanh.

Suy luận qua dòng lệnh #

python examples/cmd/run.py "Đoạn văn bản đầu tiên của bạn." "Đoạn văn bản thứ hai của bạn."

Đầu ra được lưu dưới dạng ./output_audio_n.mp3.

Tích hợp với các công cụ phổ biến #

Máy chủ API tương thích OpenAI #

ChatTTS cung cấp API tương thích OpenAI tích hợp với mọi công cụ hỗ trợ endpoint /v1/audio/speech.

# openai_api_server.py — Endpoint ChatTTS tương thích OpenAI
import ChatTTS
import torch
import torchaudio
from fastapi import FastAPI
from pydantic import BaseModel
import io
import base64

app = FastAPI()
chat = ChatTTS.Chat()
chat.load(compile=True)  # Bật torch.compile cho production

class TTSRequest(BaseModel):
    model: str = "chattts"
    input: str
    voice: str = "default"
    response_format: str = "mp3"

@app.post("/v1/audio/speech")
async def create_speech(request: TTSRequest):
    params_infer_code = ChatTTS.Chat.InferCodeParams(
        temperature=0.3,
        top_P=0.7,
        top_K=20,
    )
    wavs = chat.infer([request.input], params_infer_code=params_infer_code)
    buffer = io.BytesIO()
    torchaudio.save(buffer, torch.from_numpy(wavs[0]).unsqueeze(0), 24000, format="mp3")
    buffer.seek(0)
    return {"audio": base64.b64encode(buffer.read()).decode()}

Chạy máy chủ:

uvicorn openai_api_server:app --host 0.0.0.0 --port 8000 --workers 2

Tích hợp LangChain / LLM #

# Tích hợp ChatTTS vào pipeline agent LangChain
from langchain.agents import Tool, AgentExecutor, create_react_agent
from langchain_openai import ChatOpenAI
import ChatTTS
import torchaudio

chat = ChatTTS.Chat()
chat.load(compile=False)

def tts_tool(text: str) -> str:
    """Tạo giọng nói và trả về đường dẫn tệp."""
    wavs = chat.infer([text])
    filepath = "/tmp/response.wav"
    torchaudio.save(filepath, torch.from_numpy(wavs[0]).unsqueeze(0), 24000)
    return filepath

tools = [
    Tool(
        name="text_to_speech",
        func=tts_tool,
        description="Chuyển đổi phản hồi văn bản thành âm thanh"
    )
]

llm = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(llm, tools, prompt="Bạn là trợ lý giọng nói.")

Tùy chỉnh giao diện web Gradio #

# Giao diện Gradio tùy chỉnh cho triển khai production
import gradio as gr
import ChatTTS
import torchaudio

chat = ChatTTS.Chat()
chat.load(compile=False)

def generate_speech(text, temperature, top_p, top_k, oral_level, laugh_level, break_level):
    params_refine_text = ChatTTS.Chat.RefineTextParams(
        prompt=f"[oral_{oral_level}][laugh_{laugh_level}][break_{break_level}]"
    )
    params_infer_code = ChatTTS.Chat.InferCodeParams(
        temperature=temperature,
        top_P=top_p,
        top_K=top_k,
    )
    wavs = chat.infer([text], params_refine_text=params_refine_text, params_infer_code=params_infer_code)
    filepath = "/tmp/output.wav"
    torchaudio.save(filepath, torch.from_numpy(wavs[0]).unsqueeze(0), 24000)
    return filepath

demo = gr.Interface(
    fn=generate_speech,
    inputs=[
        gr.Textbox(label="Văn bản", value="Xin chào! Hôm nay bạn thế nào?"),
        gr.Slider(0.1, 1.0, 0.3, label="Temperature"),
        gr.Slider(0.1, 1.0, 0.7, label="Top P"),
        gr.Slider(1, 50, 20, label="Top K"),
        gr.Slider(0, 9, 2, label="Mức ngữ điệu"),
        gr.Slider(0, 2, 0, label="Mức cườ"),
        gr.Slider(0, 7, 6, label="Mức nghỉ"),
    ],
    outputs=gr.Audio(label="Giọng nói đã tạo"),
    title="ChatTTS Production UI"
)

demo.launch(server_name="0.0.0.0", server_port=7860)

Thiết lập streaming cho ứng dụng thờ gian thực #

# Tạo âm thanh streaming cho hội thoại thờ gian thực
import ChatTTS
import numpy as np
import sounddevice as sd

chat = ChatTTS.Chat()
chat.load(compile=True)

class StreamingTTS:
    def __init__(self, chat_model):
        self.chat = chat_model
        self.sample_rate = 24000

    def stream_and_play(self, text: str):
        """Tạo âm thanh và phát theo khúc."""
        wavs = self.chat.infer([text])
        audio = wavs[0]
        sd.play(audio, self.sample_rate)
        sd.wait()

streamer = StreamingTTS(chat)
streamer.stream_and_play("Để tôi suy nghĩ một chút...")

Giám sát với Prometheus #

# Thêm metrics Prometheus cho API ChatTTS
from prometheus_client import Counter, Histogram, generate_latest
from fastapi import Response

TTS_REQUESTS = Counter("chattts_requests_total", "Tổng yêu cầu TTS", ["status"])
TTS_LATENCY = Histogram("chattts_inference_seconds", "Độ trễ suy luận")

@app.post("/v1/audio/speech")
async def create_speech(request: TTSRequest):
    with TTS_LATENCY.time():
        try:
            wavs = chat.infer([request.input])
            TTS_REQUESTS.labels(status="success").inc()
        except Exception as e:
            TTS_REQUESTS.labels(status="error").inc()
            raise

@app.get("/metrics")
async def metrics():
    return Response(generate_latest(), media_type="text/plain")

Benchmark / Trường hợp sử dụng thực tế #

Hiệu suất suy luận trên phần cứng ngườ dùng #

Tất cả benchmark được đo trên NVIDIA RTX 4090 với CUDA 12.4, không có lượng tử hóa mô hình, kích thước batch 1.

Mô hìnhVRAM (30s âm thanh)RTF (RTX 4090)Token/giâyCPU
ChatTTS v0.2.54 GB0.30~7 tok/giâyKhông khuyến nghị
Coqui XTTS v24 GB0.25~10 tok/giâyKhông
MeloTTS2 GB0.08~25 tok/giây
Bark (Suno)5 GB0.45~4 tok/giâyKhông khuyến nghị

RTF = Hệ số Thờ gian Thực. RTF < 1.0 nghĩa là tạo nhanh hơn phát.

ChatTTS Benchmark — So sánh RTF và VRAM trên RTX 4090

So sánh chất lượng: Ngữ điệu hội thoại #

Kiểm tra nghe kín với 6 ngườ tham gia đánh giá ChatTTS so với đối thủ.

Tiêu chíChatTTSCoqui XTTS v2MeloTTSBark
Tạm dừng tự nhiên5/6 phiếu1/6 phiếu2/6 phiếu3/6 phiếu
Chất lượng cườ6/6 phiếu0/6 phiếu0/6 phiếu2/6 phiếu
Âm thanh thở6/6 phiếu0/6 phiếu0/6 phiếu1/6 phiếu
Phạm vi cảm xúcCaoTrung bìnhThấpTrung bình
Ngữ điệu tiếng TrungBản ngữTốtTốtKhá
Ngữ điệu tiếng AnhTốt (thử nghiệm)Bản ngữBản ngữBản ngữ

Trường hợp sử dụng: Trợ lý giọng nói LLM #

ChatTTS xuất sắc trong pipeline trợ lý LLM với độ trễ ~300ms:

import ChatTTS
import torchaudio
import time

chat = ChatTTS.Chat()
chat.load(compile=True)

class VoiceAssistant:
    def synthesize_response(self, text: str) -> str:
        start = time.time()
        params = ChatTTS.Chat.InferCodeParams(temperature=0.3, top_P=0.7)
        wavs = chat.infer([text], params_infer_code=params)
        filepath = "/tmp/response.wav"
        torchaudio.save(filepath, torch.from_numpy(wavs[0]).unsqueeze(0), 24000)
        elapsed = time.time() - start
        print(f"Độ trễ TTS: {elapsed:.2f} giây")
        return filepath

assistant = VoiceAssistant()
audio_path = assistant.synthesize_response(
    "Đây là câu hỏi thú vị! Để tôi nghĩ... [uv_break] "
    "Được, câu trả lờ phụ thuộc vào thiết lập của bạn."
)

Trường hợp sử dụng: Tạo hội thoại đa ngườ nói #

ChatTTS hỗ trợ chuyển đổi nhúng ngườ nói:

import ChatTTS
import torchaudio

chat = ChatTTS.Chat()
chat.load(compile=False)

# Lấy mẫu hai ngườ nói khác nhau
speaker_a = chat.sample_random_speaker()  # Giọng nữ
speaker_b = chat.sample_random_speaker()  # Giọng nam

dialogue = [
    ("Này, tối qua có xem trận đấu không?", speaker_a),
    ("Có! Bàn thắng cuối tuyệt vờ!", speaker_b),
    ("Đúng không! [laugh] Tôi không thể tin được.", speaker_a),
]

for i, (text, spk) in enumerate(dialogue):
    params = ChatTTS.Chat.InferCodeParams(spk_emb=spk, temperature=0.3)
    wavs = chat.infer([text], params_infer_code=params)
    torchaudio.save(f"dialogue_{i}.wav", torch.from_numpy(wavs[0]).unsqueeze(0), 24000)

Sử dụng nâng cao / Củng cố Production #

Biên dịch Torch để tăng tốc #

Bật torch.compile() để tăng ~20% tốc độ suy luận trên GPU Ampere:

import ChatTTS
chat = ChatTTS.Chat()
chat.load(compile=True)

Quản lý nhúng ngườ nói #

Lưu và tải nhúng ngườ nói cho hồ sơ giọng nói nhất quán:

import ChatTTS
import torch

chat = ChatTTS.Chat()
chat.load(compile=False)

# Tạo và lưu nhúng ngườ nói
speakers = {}
for name in ["agent", "user", "narrator"]:
    spk = chat.sample_random_speaker()
    speakers[name] = spk
    torch.save(spk, f"speakers/{name}.pt")

# Tải ngườ nói hiện có
spk_agent = torch.load("speakers/agent.pt")
params = ChatTTS.Chat.InferCodeParams(spk_emb=spk_agent)

Tối ưu bộ nhớ GPU #

Sử dụng độ chính xác hỗn hợp và xóa cache:

import torch
from ChatTTS import Chat

chat = Chat()
chat.load(compile=False)

@torch.inference_mode()
def infer_with_cleanup(texts, params):
    with torch.cuda.amp.autocast():
        wavs = chat.infer(texts, params_infer_code=params)
    torch.cuda.empty_cache()
    return wavs

Endpoint kiểm tra sức khỏe #

# health_check.py — Probe sức khỏe cho Kubernetes
from fastapi import FastAPI, HTTPException
import ChatTTS

app = FastAPI()
chat = ChatTTS.Chat()

try:
    chat.load(compile=False)
    MODEL_LOADED = True
except Exception as e:
    MODEL_LOADED = False
    print(f"Tải mô hình thất bại: {e}")

@app.get("/health")
def health():
    if not MODEL_LOADED:
        raise HTTPException(status_code=503, detail="Mô hình chưa được tải")
    return {"status": "healthy", "model": "chattts", "version": "0.2.5"}

@app.get("/ready")
def ready():
    return {"status": "ready"}

Triển khai Kubernetes #

# chattts-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: chattts-api
spec:
  replicas: 2
  selector:
    matchLabels:
      app: chattts
  template:
    metadata:
      labels:
        app: chattts
    spec:
      containers:
      - name: chattts
        image: chattts:0.2.5
        resources:
          limits:
            nvidia.com/gpu: 1
            memory: "8Gi"
          requests:
            memory: "4Gi"
        ports:
        - containerPort: 8000
        livenessProbe:
          httpGet:
            path: /health
            port: 8000
          periodSeconds: 30
        readinessProbe:
          httpGet:
            path: /ready
            port: 8000
          periodSeconds: 10

So sánh với các giải pháp thay thế #

Tính năngChatTTSCoqui TTS (XTTS v2)MeloTTSBark (Suno)
Sao GitHub39.3k45.3k7.4k39.1k
Giấy phépAGPL-3.0MPL-2.0MITMIT
VRAM tối thiểu4 GB4 GB2 GB5 GB
RTF (RTX 4090)0.300.250.080.45
TTS hội thoạiCó (thiết kế riêng)Trung bìnhKhôngTrung bình
Điều khiển cườCấp token [laugh]KhôngKhôngHạn chế
Điều khiển dừngCấp token [uv_break]KhôngChỉ dấu câuHạn chế
Âm thởKhôngKhôngKhông
Nhân bản giọngNhúng ngườ nóiClone 6 giâyKhôngPrompt ngườ nói
Ngôn ngữTrung, Anh17 ngôn ngữ6 ngôn ngữĐa ngôn ngữ
Hỗ trợ CPUKhôngKhôngKhông
Tương thích OpenAI APIQua wrapperQua TTS serverQua wrapperQua wrapper
Đầu ra streamingLộ trìnhHạn chế
Dữ liệu huấn luyện40k giờ (100k nội bộ)Độc quyềnMởKhông rõ

Khi nào chọn cái nào #

  • ChatTTS: Ứng dụng hội thoại Trung-Anh, trợ lý giọng nói cần cườ/dừng, thử nghiệm ngữ điệu.
  • Coqui XTTS v2: Nhân bản giọng 6 giây, 17 ngôn ngữ, pipeline TTS production.
  • MeloTTS: Triển khai chỉ CPU, môi trường hạn chế tài nguyên, 6 ngôn ngữ tốc độ cao.
  • Bark: Tạo âm thanh sáng tạo (nhạc, hiệu ứng), thử nghiệm đa ngôn ngữ.

Hạn chế / Đánh giá khách quan #

ChatTTS không phải giải pháp TTS vạn năng. Hiểu các ràng buộc sau:

  1. Bất ổn định tự hồi quy: ChatTTS có thể chuyển ngườ nói hoặc giảm chất lượng âm thanh. FAQ GitHub ghi rõ: “Đây là vấn đề thường gặp ở mô hình tự hồi quy. Có thể thử nhiều lần để tìm kết quả phù hợp.”

  2. Tiếng Anh vẫn đang thử nghiệm: Ngữ điệu tiếng Trung ở cấp bản ngữ; tiếng Anh đang cải thiện nhưng chưa bằng Coqui XTTS v2.

  3. Không có giấy phép thương mại: Code AGPL-3.0. Trọng sô CC BY-NC 4.0 (phi thương mại).

  4. Chưa có tạo streaming: Âm thanh tạo một lần. Streaming đang trong lộ trình.

  5. Yêu cầu GPU: Không có đường dẫn CPU thực tế. Tối thiểu 4GB VRAM.

  6. Điều khiển cảm xúc hạn chế: Chỉ có cườ, dừng ngắn, dừng dài. Điều khiển cảm xúc đầy đủ chưa được phát hành.

Câu hỏi thường gặp #

Q: ChatTTS cần bao nhiêu VRAM? Ít nhất 4GB GPU cho âm thanh 30 giây. Trên RTX 4090, RTF khoảng 0.3. Production nên dùng 8GB/instance.

Q: ChatTTS có thể dùng cho dự án thương mại không? Code AGPL-3.0, trọng sô CC BY-NC 4.0. Liên hệ open-source@2noise.com để cấp phép thương mại.

Q: Tại sao giọng ngườ nói đôi khi đổi giữa câu? Đặc tính cố hữu của mô hình tự hồi quy. Giảm temperature, dùng nhúng cố định, hoặc tạo nhiều mẫu.

Q: Làm thế nào điều khiển tiếng cườ và khoảng nghỉ? Dùng token đặc biệt: [laugh], [uv_break], [lbreak]. Cũng có thể dùng RefineTextParams.

Q: ChatTTS có hỗ trợ nhân bản giọng không? Có, qua nhúng ngườ nói. Tuy nhiên, zero-shot voice clone bằng vài giây audio vẫn đang trong lộ trình.

Q: ChatTTS khác GPT-SoVITS như thế nào? GPT-SoVITS tối ưu cho few-shot voice clone (1 phút audio). ChatTTS tối ưu cho hội thoại tự nhiên.

Q: ChatTTS chạy trên CPU được không? Không có đường dẫn CPU thực tế. Nếu cần CPU, dùng MeloTTS.

Q: Làm thế nào triển khai ChatTTS trong Docker? Build: docker build -t chattts .. Chạy: docker run --gpus all -p 7860:7860 chattts.

Kết luận #

ChatTTS chiếm vị trí độc đáo trong bức tranh TTS mã nguồn mở. Thiết kế hội thoại, điều khiển ngữ điệu cấp token và hỗ trợ tiếng Trung bản địa khiến nó trở thành lựa chọn hàng đầu cho ứng dụng đối thoại 2026. 39.300+ sao GitHub phản ánh sự nhiệt huyết thực sự của cộng đồng.

Với các team xây dựng trợ lý giọng nói LLM, cài đặt chattts rất đơn giản — pip install, load model, và bắt đầu tạo giọng nói tự nhiên trong 5 phút. Kiến trúc tự hồi quy có trade-off về độ ổn định, nhưng trong kịch bản đối thoại, không có giải pháp mã nguồn mở nào sánh được với phạm vi biểu cảm của ChatTTS.

Hành động:

  1. Clone repository và chạy WebUI trên máy GPU
  2. Thử nghiệm token ngữ điệu ([laugh], [uv_break]) trên tập dữ liệu hội thoại
  3. Triển khai API tương thích OpenAI để tích hợp pipeline LLM
  4. Tham gia Discord hoặc GitHub Discussions cho cập nhật streaming và điều khiển cảm xúc

Theo dõi cập nhật và thảo luận chiến lược TTS hội thoại trong nhóm Telegram dibi8.com.

Hosting Và Hạ Tầng Được Đề Xuất #

Trước khi triển khai các công cụ trên vào production, bạn cần hạ tầng vững chắc. Hai lựa chọn dibi8 đang dùng:

  • DigitalOcean — Credit miễn phí $200 trong 60 ngày, 14+ khu vực toàn cầu. Lựa chọn mặc định cho dev chạy AI tools open source.
  • HTStack — VPS Hong Kong, độ trễ thấp khi truy cập từ Trung Quốc. Cùng IDC đang host dibi8.com.

Liên kết tiếp thị — không tăng chi phí của bạn, giúp dibi8.com hoạt động.

Nguồn & Tài liệu tham khảo #

💬 Bình luận & Thảo luận