Bytehome TTS
Checkpoint tổng hợp giọng nói dùng kiến trúc OmniVoice, được lưu tại luongkhanh2026/Bytehome_TTS để sử dụng với mã nguồn TTS của dự án chatbot_voice.
Repository chứa trọng số, cấu hình, text tokenizer và audio tokenizer. Đây là bản sao checkpoint phục vụ inference; lần upload này không thực hiện training hoặc fine-tuning.
Nguồn gốc và trạng thái xác minh
- Nguồn tải:
Bytehome/Bytehome_TTStrên Hugging Face. - Revision nguồn:
ba3e9991d4843dacae4415bc09300d693913f112. - Commit upload checkpoint vào repo này:
ef0a9cac92eeaff41a4c2aaf5a25dfd549776019. - Bộ checkpoint ban đầu gồm 12 file, tổng 3.267.460.836 byte (khoảng 3,04 GiB), chưa tính model card này.
- Đã kiểm tra đủ file và kích thước file remote khớp với bản local sau upload. Chưa chạy kiểm thử inference hoặc benchmark cho bản upload này.
- Chưa xác minh tập dữ liệu, quy trình huấn luyện, số bước train, hoặc checkpoint này có được fine-tune thêm từ model gốc hay không.
Tên repository và cấu hình kiến trúc không phải bằng chứng về lịch sử fine-tuning. Revision nguồn ghi nhận nơi lấy bản sao, không xác nhận model nền huấn luyện ban đầu.
Cấu hình kỹ thuật
Các thông tin dưới đây được đọc từ file cấu hình đi kèm checkpoint.
| Thuộc tính | Giá trị |
|---|---|
| Kiến trúc chính | OmniVoice |
| Backbone theo cấu hình | qwen3, 28 lớp, hidden size 1024 |
| Số audio codebook | 8 |
| Audio vocabulary mỗi codebook | 1025, gồm MASK ID 1024 |
| Audio tokenizer | HiggsAudioV2TokenizerModel |
| Sample rate đầu ra | 24.000 Hz |
| Định dạng trọng số | Safetensors |
| Phiên bản Transformers ghi trong cấu hình model chính | 5.3.0 |
Chưa xác minh chính xác repository pretrained backbone ban đầu; không suy ra nguồn trọng số chỉ từ tên kiến trúc Qwen3.
Cách hoạt động
Văn bản cần đọc + audio mẫu + lời thoại của audio mẫu
→ OmniVoice dự đoán audio token
→ audio tokenizer giải mã thành waveform
→ lưu WAV hoặc chuyển thành PCM/MP3 ở lớp ứng dụng
Thư viện OmniVoice trong dự án hỗ trợ voice cloning, voice design và tự chọn giọng. Lớp TTS service hiện tích hợp chế độ voice cloning. Việc cung cấp audio mẫu là điều kiện cho inference, không cập nhật trọng số model.
Repository không bao gồm các file giọng mẫu như nutrem.wav, giongnuhanoi6s.wav hoặc nam.wav. Hãy chuẩn bị audio mẫu và transcript tương ứng riêng.
Sử dụng với mã nguồn dự án
Điều kiện
- Có mã nguồn
omnivoice/đi kèm dự ánchatbot_voice, trongAI_Service/tts_service/. Repository model này không đóng gói mã Python triển khai kiến trúc. - Có môi trường Python với các dependency phù hợp của dự án, gồm PyTorch, Transformers, Hugging Face Hub và SoundFile. Xem
AI_Service/tts_service/pyproject.tomltrong source code; hướng dẫn này không xác nhận quy trình cài đặt sạch đã được kiểm thử. - Tài khoản/token có quyền đọc repo nếu repo ở chế độ private. Cấu hình token qua
HF_TOKENtrong môi trường; không ghi token vào source code. - Có GPU CUDA phù hợp hoặc sử dụng CPU. Chưa có benchmark về VRAM tối thiểu hoặc tốc độ CPU/GPU cho checkpoint này.
Ví dụ inference
Chạy từ thư mục AI_Service/tts_service để import được thư viện OmniVoice local. Thay đường dẫn và transcript mẫu trước khi chạy.
import os
import soundfile as sf
import torch
from huggingface_hub import snapshot_download
from omnivoice.models.omnivoice import OmniVoice
checkpoint_dir = snapshot_download(
repo_id="luongkhanh2026/Bytehome_TTS",
revision="ef0a9cac92eeaff41a4c2aaf5a25dfd549776019",
token=os.environ["HF_TOKEN"],
local_dir="./models_private",
)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = OmniVoice.from_pretrained(
checkpoint_dir,
device_map=device,
dtype=torch.float16 if device == "cuda" else torch.float32,
)
audios = model.generate(
text="Xin chào, rất vui được gặp bạn.",
ref_audio="/path/to/reference.wav",
ref_text="Thay bằng lời thoại chính xác trong reference.wav.",
num_step=8,
guidance_scale=2.0,
speed=0.95,
)
sf.write(
"output.wav",
audios[0].detach().cpu().squeeze().numpy(),
model.sampling_rate,
subtype="PCM_16",
)
Ví dụ được xây dựng theo API của mã nguồn dự án, chưa được chạy xác nhận với checkpoint này. num_step=8, guidance_scale=2.0 và speed=0.95 lấy từ cấu hình gọi model của service hiện tại; chưa được xác nhận là cấu hình tối ưu về chất lượng.
Có thể dùng model.create_voice_clone_prompt() và tái sử dụng kết quả qua tham số voice_clone_prompt cho nhiều câu cùng giọng để tránh xử lý lại audio mẫu ở mỗi lần gọi.
Tích hợp TTS service
Service trong dự án nạp ./models khi khởi động. Để sử dụng repo này, cần tải bộ checkpoint về đường dẫn service sử dụng hoặc đổi đường dẫn nạp model, sau đó khởi động lại process TTS.
Upload checkpoint lên Hugging Face không tự triển khai hoặc cập nhật model đang chạy trên Vast.ai. Redis, FastAPI và WebSocket thuộc lớp ứng dụng, không nằm trong checkpoint này.
Dữ liệu huấn luyện và đánh giá
| Nội dung | Trạng thái |
|---|---|
| Dữ liệu training/fine-tuning | Chưa được cung cấp/xác minh |
| Model nền và quy trình fine-tune | Chưa xác minh |
| Training logs, optimizer state, số bước train | Không có trong bộ file được upload |
| WER, MOS dự đoán, speaker similarity | Chưa có kết quả cho checkpoint này |
| Độ trễ, real-time factor, VRAM | Chưa đo |
| Chất lượng từng ngôn ngữ/giọng | Chưa đánh giá có hệ thống |
Mã nguồn dự án có công cụ đánh giá WER, MOS và speaker similarity; sự tồn tại của công cụ không có nghĩa checkpoint này đã được đánh giá. Ví dụ tiếng Việt ở trên phản ánh cách dùng của ứng dụng, không phải cam kết chất lượng ngôn ngữ.
Giới hạn và sử dụng phù hợp
- Chất lượng có thể phụ thuộc nội dung, độ sạch của audio mẫu và độ khớp transcript. Cần nghe thử tên riêng, số, từ tiếng Anh và các câu dài trước khi triển khai.
generate()trả audio của lần gọi khi hoàn tất; streaming HTTP/WebSocket do lớp service xử lý theo từng đoạn, không phải API streaming trực tiếp của repository model.- Chỉ dùng giọng mẫu khi có quyền sử dụng; không dùng để giả mạo người nói hoặc gây hiểu nhầm về nguồn gốc audio.
- Cần đánh giá riêng trên thiết bị robot, vì benchmark model không bao gồm microphone, loa, tiếng vọng hoặc lỗi mạng.
Giấy phép
Chưa xác minh giấy phép áp dụng cho toàn bộ trọng số checkpoint chính, vì vậy model card không khai báo một giấy phép tổng thể thay cho chủ sở hữu.
Thư mục audio_tokenizer/ có LICENSE và README.md riêng, được giữ nguyên từ nguồn. Mã nguồn OmniVoice trong dự án có thông báo Apache-2.0; thông báo giấy phép mã nguồn không tự xác nhận quyền phân phối hoặc sử dụng mọi trọng số và dữ liệu liên quan.
Trước khi phân phối công khai hoặc sử dụng thương mại, cần xác nhận điều kiện của checkpoint nguồn, audio tokenizer và giọng mẫu với bên cung cấp.
- Downloads last month
- 1