# OmniVoice GUI - Voice Cloning & TTS Tiếng Việt Offline Đây là phiên bản GUI hoàn chỉnh và Portable dành cho **OmniVoice** - mô hình Text-to-Speech và Voice Cloning chất lượng cao. Ứng dụng được thiết kế bằng PyQt5 giúp bạn dễ dàng thực hiện infer (tạo giọng nói) trực tiếp trên máy cá nhân mà không cần thiết lập phức tạp. ## 🌟 Tính Năng Nổi Bật - **Giao diện Trực Quan (PyQt5):** Thân thiện, dễ sử dụng, thay thế hoàn toàn dòng lệnh khô khan. - **Portable & Linh Hoạt:** Các đường dẫn được thiết lập động (relative paths). Bạn có thể copy toàn bộ thư mục sang bất kỳ máy nào, ổ đĩa nào và chạy ngay mà không lo lỗi đường dẫn. - **Tốc Độ Xử Lý Nhanh:** Giọng mẫu (prompts) được cache ngay khi khởi động giúp việc sinh giọng nói diễn ra cực nhanh. Xử lý đa luồng giúp giao diện không bị đơ trong quá trình infer. - **Tự Động Tách Câu:** Hỗ trợ nhập văn bản dài thoải mái. Hệ thống sẽ tự động ngắt câu dựa trên dấu câu và thêm khoảng lặng (silence) để giọng đọc tự nhiên nhất. - **Dễ Dàng Quản Lý Giọng:** Hệ thống quản lý giọng qua file `voices.json` tiện lợi nằm gọn trong thư mục `voice/`. ## 📦 Cài Đặt 1. **Tải repository (từ Hugging Face):** Mô hình và mã nguồn có sẵn tại Hugging Face: [chumdz97/chumtts2](https://huggingface.co/chumdz97/chumtts2) ```bash git clone https://huggingface.co/chumdz97/chumtts2 cd chumtts2 ``` 2. **Cài đặt thư viện yêu cầu:** Đảm bảo bạn đã cài đặt Python (khuyên dùng >= 3.10) và chạy lệnh sau: ```bash pip install torch torchaudio numpy soundfile PyQt5 pip install omnivoice ``` *(Lưu ý: Nên cài đặt phiên bản PyTorch hỗ trợ CUDA để tận dụng GPU giúp tăng tốc độ xử lý).* ## 🚀 Hướng Dẫn Sử Dụng Chỉ cần chạy file giao diện chính: ```bash python gui.py ``` - **Chọn Giọng Đọc:** Lựa chọn giọng từ danh sách sổ xuống. - **Tùy Chỉnh Thông Số:** - `Num Steps`: Độ mượt của âm thanh (khuyên dùng: 32). - `Guidance Scale`: Độ bám sát giọng gốc (khuyên dùng: 5.0). - `Speed`: Tốc độ đọc. - **Nhập Text & Chạy:** Dán văn bản vào ô và bấm **TẠO GIỌNG NÓI**. File kết quả `output_gui.wav` sẽ được xuất ra ở thư mục gốc và tự động mở lên khi hoàn thành. ## 🎙️ Cách Thêm Giọng Mới Để thêm một giọng đọc mới vào hệ thống: 1. Chuẩn bị 1 file âm thanh mẫu (VD: `giong_moi.wav`) chứa giọng nói thật rõ ràng, không tạp âm. 2. Lấy đoạn văn bản chính xác (transcript) mà người trong audio đang đọc. 3. Copy file `.wav` đó bỏ vào thư mục `voice/`. 4. Mở file `voice/voices.json` lên và thêm 1 cụm mới theo định dạng: ```json "Tên Giọng Này Cho Dễ Nhớ": { "audio": "giong_moi.wav", "text": "Đoạn văn bản mà người trong audio đang đọc một cách chính xác..." } ``` 5. Tắt ứng dụng đi và mở lại (`python gui.py`), giọng mới sẽ xuất hiện trên giao diện để sử dụng ngay! ## ⚙️ Cấu Trúc Thư Mục ```text . ├── gui.py # File khởi chạy giao diện Desktop ├── infer.py # Script chạy bằng terminal (nếu cần) ├── voice/ # Thư mục chứa audio mẫu và cấu hình │ ├── voices.json # File quản lý danh sách giọng │ ├── phuongtrang.wav │ └── ... └── README.md # Hướng dẫn sử dụng ```