Upload src\genOuput.py with huggingface_hub
Browse files- src//genOuput.py +54 -0
src//genOuput.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from TTS.api import TTS
|
| 3 |
+
|
| 4 |
+
# --- THAY ĐỔI CÁC THAM SỐ Ở ĐÂY ---
|
| 5 |
+
|
| 6 |
+
# 1. Đường dẫn đến file config và model của bạn
|
| 7 |
+
CONFIG_PATH = "cuoi_cham_tts_dataset_phonemized/config_sratch.json"
|
| 8 |
+
MODEL_PATH = "training_output/cuoi_cham_finetune_final_from_scratch_nhe_xindo-September-11-2025_10+29AM-f5a66b3/checkpoint_70000.pth"
|
| 9 |
+
|
| 10 |
+
# 2. Chuỗi phoneme bạn muốn test
|
| 11 |
+
INPUT_TEXT = "puːj⁴ kɒː⁵"
|
| 12 |
+
|
| 13 |
+
# 3. Tên file audio output
|
| 14 |
+
OUTPUT_PATH = "ket_qua_tu_script.wav"
|
| 15 |
+
|
| 16 |
+
# --- KẾT THÚC PHẦN THAY ĐỔI ---
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
# Kiểm tra xem có GPU không, nếu có thì dùng
|
| 20 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 21 |
+
print(f"Sử dụng thiết bị: {device}")
|
| 22 |
+
|
| 23 |
+
# 1. Tải mô hình từ file config và checkpoint
|
| 24 |
+
print("Đang tải mô hình...")
|
| 25 |
+
try:
|
| 26 |
+
tts = TTS(model_path=MODEL_PATH, config_path=CONFIG_PATH).to(device)
|
| 27 |
+
print("✅ Tải mô hình thành công.")
|
| 28 |
+
except Exception as e:
|
| 29 |
+
print(f"❌ Lỗi khi tải mô hình: {e}")
|
| 30 |
+
exit()
|
| 31 |
+
|
| 32 |
+
# 2. Lấy ra tokenizer từ model đã tải
|
| 33 |
+
|
| 34 |
+
tokenizer = tts.processor.tokenizer
|
| 35 |
+
# 3. GỌI HÀM TOKENIZE VÀ IN KẾT QUẢ RA MÀN HÌNH
|
| 36 |
+
print("-" * 50)
|
| 37 |
+
print(f"Input text: '{INPUT_TEXT}'")
|
| 38 |
+
try:
|
| 39 |
+
# Gọi hàm .tokenize() mà bạn đã viết
|
| 40 |
+
tokens = tokenizer.tokenize(INPUT_TEXT)
|
| 41 |
+
print(f"===> KẾT QUẢ TOKENIZE: {tokens}")
|
| 42 |
+
except Exception as e:
|
| 43 |
+
print(f"❌ Lỗi khi chạy tokenizer: {e}")
|
| 44 |
+
exit()
|
| 45 |
+
print("-" * 50)
|
| 46 |
+
|
| 47 |
+
# 4. Chạy mô hình để tạo ra giọng nói
|
| 48 |
+
print(f"Đang tạo giọng nói và lưu vào file '{OUTPUT_PATH}'...")
|
| 49 |
+
try:
|
| 50 |
+
# Sử dụng hàm tts_to_file của đối tượng tts cấp cao
|
| 51 |
+
tts.tts_to_file(text=INPUT_TEXT, file_path=OUTPUT_PATH)
|
| 52 |
+
print("🎉 Hoàn thành!")
|
| 53 |
+
except Exception as e:
|
| 54 |
+
print(f"❌ Lỗi trong quá trình tạo giọng nói: {e}")
|