StyleTTS2 – Công nghệ chuyển văn bản thành giọng nói mã nguồn mở đạt chất lượng tầm ElevenLabs
(github.com/yl4579)Mô hình text-to-speech đạt cấp độ con người, StyleTTS 2
- StyleTTS 2 đạt được tổng hợp văn bản thành giọng nói (TTS) ở cấp độ con người thông qua học đối kháng sử dụng khuếch tán phong cách và mô hình ngôn ngữ giọng nói quy mô lớn.
- Mô hình này đạt được khuếch tán tiềm ẩn hiệu quả bằng cách mô hình hóa phong cách như một biến ngẫu nhiên tiềm ẩn thông qua mô hình khuếch tán để tạo ra phong cách phù hợp nhất với văn bản mà không cần giọng nói tham chiếu.
- Mô hình sử dụng một mô hình ngôn ngữ giọng nói tiền huấn luyện quy mô lớn làm bộ phân biệt, đồng thời huấn luyện end-to-end với mô hình hóa thời lượng khả vi mới để cải thiện độ tự nhiên của giọng nói.
Chuẩn bị
- Cần Python phiên bản 3.7 trở lên.
- Clone kho lưu trữ StyleTTS 2 và cài đặt các yêu cầu Python cần thiết.
- Tải bộ dữ liệu LJSpeech, upsample lên 24 kHz rồi giải nén vào thư mục dữ liệu.
- Nếu sử dụng bộ dữ liệu LibriTTS, cần gộp
train-clean-360vàtrain-clean-100, sau đó đổi tên thư mục thànhtrain-clean-460.
Huấn luyện
- Có thể chạy huấn luyện giai đoạn một và giai đoạn hai theo thứ tự, và mô hình sẽ được lưu theo một định dạng cụ thể.
- Định dạng danh sách dữ liệu phải là
filename.wav|transcription|speaker, và với mô hình đa người nói thì cần lấy mẫu audio tham chiếu để huấn luyện mô hình khuếch tán phong cách.
Cấu hình quan trọng
- Tệp
config.ymlbao gồm các thiết lập quan trọng như đường dẫn văn bản OOD (out-of-distribution) cho huấn luyện đối kháng SLM, độ dài tối thiểu và tối đa cho huấn luyện, có huấn luyện mô hình đa người nói hay không, và tỷ lệ phần trăm batch để tránh sự cố OOM (out-of-memory).
Các mô-đun tiền huấn luyện
- Thư mục ASR chứa bộ căn chỉnh văn bản tiền huấn luyện, thư mục JDC chứa bộ trích xuất cao độ tiền huấn luyện, và thư mục PLBERT chứa mô hình PL-BERT tiền huấn luyện.
Các vấn đề thường gặp
- Bài viết đưa ra cách xử lý lỗi loss trở thành NaN và lỗi thiếu bộ nhớ bằng cách điều chỉnh kích thước batch hoặc giảm giá trị
max_len.
Fine-tuning
- Có cung cấp script fine-tuning dùng DP bằng cách chỉnh sửa script
train_second.py, còn DDP hiện chưa hoạt động.
Suy luận
- Hãy tham khảo các tệp notebook để suy luận trên bộ dữ liệu LJSpeech và LibriTTS; với LibriTTS thì cần có tệp audio tham chiếu.
- Có thể tải về mô hình StyleTTS 2 tiền huấn luyện, và trước khi sử dụng cần thông báo cho người nghe rằng các mẫu giọng nói tổng hợp được tạo bởi mô hình StyleTTS 2, hoặc sử dụng giọng nói đã được cấp phép sử dụng.
Ý kiến của GN⁺
Điểm quan trọng nhất của bài viết này là StyleTTS 2 đã đạt được tổng hợp TTS ở cấp độ con người, cho thấy tiềm năng của học đối kháng sử dụng khuếch tán phong cách và mô hình ngôn ngữ giọng nói quy mô lớn. Công nghệ này có thể tác động lớn đến sự phát triển của giao diện dựa trên giọng nói và trợ lý số bằng cách cải thiện đáng kể độ tự nhiên của tổng hợp giọng nói, đồng thời cung cấp khả năng tạo ra nhiều phong cách khác nhau mà không cần giọng nói tham chiếu.
1 bình luận
Ý kiến trên Hacker News
Kinh nghiệm phát triển chatbot giọng nói 100% chạy cục bộ bằng StyleTTS2
Ý kiến cá nhân về chất lượng giọng nói của StyleTTS2
Chia sẻ trải nghiệm cài đặt và sử dụng StyleTTS2
Trải nghiệm về cài đặt và vận hành StyleTTS2
So sánh ví dụ giọng nói của StyleTTS2 với giọng thật
Đánh giá về chất lượng giọng nói của StyleTTS2
Ý kiến về tiêu đề và nội dung của StyleTTS2
Câu hỏi về thời gian suy luận của StyleTTS2
Câu hỏi về giấy phép của StyleTTS2
Triển vọng marketplace cho mô hình chuyển văn bản thành giọng nói