Skip to content

Latest commit

 

History

History
176 lines (127 loc) · 7.52 KB

File metadata and controls

176 lines (127 loc) · 7.52 KB

🦜 VieNeu-TTS

Awesome Discord

Open In Colab Hugging Face v2 Turbo Hugging Face 0.3B

image

VieNeu-TTS là mô hình chuyển đổi văn bản thành giọng nói (TTS) tiếng Việt tiên tiến chạy trên thiết bị, hỗ trợ clone giọng nói tức thì và khả năng đọc song ngữ Anh-Việt.

Important

🚀 VieNeu-TTS-v2 Turbo: Phiên bản mới nhất được tối ưu hóa cho CPU (GGUF) & GPU (LMDeploy), hỗ trợ đọc song ngữ (Code-switching) mượt mà và tốc độ xử lý cực nhanh.

✨ Tính năng nổi bật

  • Song ngữ Anh-Việt: Chuyển đổi ngôn ngữ tự nhiên và mượt mà (Code-switching) ngay cả trong cùng một câu.
  • Clone giọng nói tức thì: Clone bất kỳ giọng nói nào chỉ với 3-5 giây âm thanh mẫu (Turbo v2 & GPU mode).
  • Chế độ Turbo siêu nhanh: Tối ưu hóa tối đa cho CPU/Mobile sử dụng GGUF và ONNX. Tốc độ cực nhanh!
  • Định danh AI: Hệ thống đóng dấu bản quyền âm thanh ẩn để đảm bảo trách nhiệm nội dung (Audio Watermarking).
  • Sẵn sàng cho sản xuất: Tạo âm thanh chất lượng cao 24 kHz, hoạt động hoàn toàn offline.

🦜 1. Cài đặt & Giao diện Web

Thiết lập với uv (Khuyến nghị)

uv là cách nhanh nhất để quản lý các phụ thuộc.

  1. Clone Repo:

    git clone https://github.com/pnnbao97/VieNeu-TTS.git
    cd VieNeu-TTS
  2. Cài đặt các phụ thuộc:

    • Lựa chọn 1: Tối giản (Turbo/CPU) - Nhanh & Nhẹ
      uv sync

      ⚠️ Lưu ý: Chế độ này chỉ hỗ trợ VieNeu-TTS-v2-Turbo (CPU) — chạy được trên mọi máy không cần GPU, nhưng chất lượng âm thanh thấp hơn so với Standard VieNeu-TTS (đặc biệt với câu ngắn < 5 từ). Phù hợp để thử nghiệm nhanh hoặc triển khai trên thiết bị yếu.

    • Lựa chọn 2: Đầy đủ (GPU/Standard) - Chất lượng cao & Cloning (Dành cho người dùng GPU)
      uv sync --group gpu

      💡 Lưu ý: Yêu cầu GPU NVIDIA hỗ trợ CUDA (hoặc Apple Silicon MPS). Kích hoạt backbone Standard VieNeu-TTS đầy đủ để đạt chất lượng âm thanh tối đa và clone giọng độ trung thực cao.

  3. Khởi chạy Giao diện Web:

    uv run vieneu-web

    Truy cập giao diện tại http://127.0.0.1:7860. Model Turbo v2 được chọn mặc định để bạn trải nghiệm ngay lập tức.


📦 2. Sử dụng Python SDK (vieneu)

SDK vieneu hiện mặc định sử dụng chế độ Turbo để đảm bảo tính tương thích cao nhất.

Bắt đầu nhanh

# Cài đặt tối giản (Chỉ Turbo/CPU)
pip install vieneu

# Tùy chọn: llama-cpp-python đã build sẵn cho CPU (nếu cài bị lỗi)
pip install vieneu --extra-index-url https://pnnbao97.github.io/llama-cpp-python-v0.3.16/cpu/

Ví dụ SDK (Python)

from vieneu import Vieneu

# Khởi tạo chế độ Turbo (Mặc định - Phụ thuộc tối giản)
tts = Vieneu()

# 1. Tổng hợp đơn giản (sử dụng giọng mặc định 'Xuân Vĩnh')
text = "Hệ thống điện chủ sử dụng alternating current because it is more efficient."
audio = tts.infer(text=text)
tts.save(audio, "output_Xuân Vĩnh.wav")

# 2. Sử dụng giọng nhân vật cụ thể
voices = tts.list_preset_voices()
for desc, voice_id in voices:
    print(f"Giọng: {desc} (ID: {voice_id})")

# Chọn giọng 'Phạm Tuyên (Nam miền Bắc)'
my_voice_id = voices[1][1] if len(voices) > 1 else voices[0][1]
voice_data = tts.get_preset_voice(my_voice_id)

audio_custom = tts.infer(text="Tôi đang nói bằng giọng của Bác sĩ Tuyên.", voice=voice_data)

# Lưu thành file
tts.save(audio_custom, "output_Phạm Tuyên.wav")
print("💾 Đã lưu file output_Phạm Tuyên.wav")

🦜 3. Zero-shot Voice Cloning (SDK)

Clone giọng bất kỳ chỉ với 3-5 giây âm thanh mẫu bằng engine Turbo:

from vieneu import Vieneu

tts = Vieneu() # Mặc định chế độ Turbo

# 1. Trích xuất đặc trưng giọng nói (Encoder)
# Hỗ trợ: .wav, .mp3, .flac
my_voice = tts.encode_reference("examples/audio_ref/example.wav")

# 2. Tổng hợp với giọng đã clone
# KHÔNG cần văn bản mẫu cho bản v2-Turbo!
audio = tts.infer(
    text="Đây là giọng nói được clone trực tiếp bằng SDK của VieNeu-TTS.", 
    voice=my_voice
)

tts.save(audio, "cloned_voice.wav")

🐳 4. Docker & Remote Server

Triển khai VieNeu-TTS dưới dạng API Server hiệu suất cao (được hỗ trợ bởi LMDeploy) chỉ bằng mã nguồn container duy nhất.

1. Chạy với Docker (Khuyến nghị)

docker run --gpus all -p 23333:23333 pnnbao/vieneu-tts:serve --tunnel

2. Sử dụng SDK (Chế độ Remote)

from vieneu import Vieneu

# Khởi tạo (Cực kỳ NHẸ - chỉ tải codec nhỏ cục bộ)
tts = Vieneu(mode='remote', api_base='http://your-server-ip:23333/v1')

# Tổng hợp từ xa thông qua Server
audio = tts.infer(text="Chào bạn, đây là chế độ xử lý từ xa.")
tts.save(audio, "remote_output.wav")

🔬 5. Tổng quan mô hình

Model Định dạng Thiết bị Song ngữ Cloning Tốc độ
VieNeu-v2-Turbo GGUF/ONNX CPU/GPU ✅ Có Cực nhanh
VieNeu-TTS-v2 PyTorch GPU ✅ Có Chuẩn
VieNeu-TTS 0.3B PyTorch GPU/CPU ✅ Có Rất nhanh
VieNeu-TTS PyTorch GPU/CPU ✅ Có Chuẩn

🚀 Lộ trình phát triển

  • VieNeu-TTS-v2 Turbo: Hỗ trợ chuyển đổi ngôn ngữ Anh-Việt (Bilingual).
  • VieNeu-Codec: Neural codec tối ưu cho tiếng Việt (định dạng ONNX).
  • Turbo Voice Cloning: Mang tính năng clone giọng nói lên engine Turbo siêu nhẹ.
  • VieNeu-TTS-v2 (Non-Turbo): Phiên bản đầy đủ chất lượng cao, tăng tốc qua LMDeploy.
  • Mobile SDK: Hỗ trợ chính thức cho iOS và Android.

🤝 Hỗ trợ & Liên hệ


Được thực hiện với ❤️ dành cho cộng đồng TTS Việt Nam