Thiết kế Quy trình TTS theo hướng Ưu tiên Mẫu (Sample-First)
Chuyển đổi một câu ngắn thành âm thanh thì rất dễ dàng. Bạn gửi văn bản đến một dịch vụ, chọn một giọng đọc và nhận về một tệp tin.
Văn bản dạng dài thì khác. Khi bạn chuyển từ các câu đơn lẻ sang sách hoặc các bài báo dài, hệ thống sẽ đối mặt với những rào cản mới. Bạn phải quản lý cấu trúc, nhịp điệu và các nhiễu định dạng.
Tôi đã học được điều này trong quá trình xây dựng tính năng tạo âm thanh kiểu sách nói (audiobook). Ban đầu, tôi coi quy trình làm việc là một bước duy nhất. Tôi gửi văn bản và mong đợi nhận được âm thanh. Cách này đã thất bại đối với các nội dung dài.
Những đoạn văn trông có vẻ ổn trên màn hình thường nghe rất nặng nề khi được đọc lên. Các tiêu đề bị lẫn vào câu văn. Lời thoại trở nên khó hiểu. Văn bản trên web thường bao gồm các định dạng ẩn làm hỏng mạch đọc.
Mô hình giọng nói hiếm khi là vấn đề duy nhất. Thông thường, chính văn bản đầu vào chưa sẵn sàng để chuyển thành âm thanh.
TTS dạng dài cần một quy trình (pipeline) chứ không phải một lệnh gọi duy nhất. Hãy sử dụng quy trình làm việc ưu tiên mẫu (sample-first).
Hãy làm theo các bước sau:
- Làm sạch văn bản đầu vào.
- Chia văn bản thành các khối (blocks) thân thiện với âm thanh.
- Tạo một bản xem trước ngắn.
- Kiểm tra mẫu.
- Chỉ tiếp tục nếu mẫu đạt yêu cầu.
Trước tiên, hãy làm sạch văn bản. Nếu bạn dán nội dung từ một tệp PDF hoặc một trang web, nó sẽ chứa các thành phần gây nhiễu. Số trang, tiêu đề lặp lại và các mục menu sẽ làm gián đoạn trải nghiệm nghe. Việc làm sạch phải diễn ra trước khi bạn tạo âm thanh. Một khi âm thanh đã được tạo, việc sửa lỗi văn bản sẽ trở nên tốn kém và chậm chạp.
Tiếp theo, hãy chỉnh sửa cấu trúc. Con người đọc khác với cách họ nghe. Người đọc có thể lướt qua hoặc đọc lại. Người nghe lại dựa vào nhịp điệu và các khoảng nghỉ.
Hãy chia văn bản của bạn thành các khối. Một khối nên đại diện cho một đơn vị nghe. Đối với sách phi hư cấu (nonfiction), đó là một ý tưởng. Đối với sách hư cấu (fiction), đó là một nhịp của cảnh (scene beat).
Việc tạo âm thanh dựa trên khối cũng giúp ích cho các kỹ sư. Nó cho phép bạn thử lại các phần bị lỗi, lưu bộ nhớ đệm (cache) kết quả đầu ra và ghép các phân đoạn lại với nhau một cách dễ dàng.
Bước quan trọng nhất là bản xem trước. Đừng tạo toàn bộ âm thanh ngay từ đầu. Một mẫu ngắn sẽ xác thực trải nghiệm. Nó trả lời những câu hỏi mà chỉ riêng văn bản không thể:
- Giọng đọc có phù hợp với nội dung không?
- Nhịp điệu có tự nhiên không?
- Các khoảng nghỉ có đặt đúng chỗ không?
- Lời thoại có rõ ràng không?
Nếu một mẫu ngắn nghe không hay, đừng chỉ thay đổi giọng đọc. Hãy sửa văn bản nguồn. Việc loại bỏ một cái tên bị phát âm sai trong một mẫu sẽ giúp bạn tránh phải sửa nó hàng chục lần trong cả một cuốn sách.
Quy trình làm việc ưu tiên mẫu giúp giảm thiểu sai sót và hạ thấp chi phí. Nó giúp quy trình an toàn hơn cho người dùng và dễ dàng hơn cho hệ thống.
Chất lượng âm thanh của bạn bắt đầu ngay cả trước khi quá trình tạo diễn ra. Nó bắt đầu từ chính dữ liệu đầu vào.