Text-to-Speech (TTS)
Công nghệ chuyển đổi dữ liệu văn bản thành giọng nói. Công nghệ nền tảng cho trình đọc màn hình và trợ lý giọng nói.
Chuyển văn bản thành giọng nói (TTS) là công nghệ chuyển đổi dữ liệu văn bản thành giọng nói con người. Công nghệ này được ứng dụng trong nhiều lĩnh vực như trình đọc màn hình, trợ lý giọng nói (Siri, Alexa, Google Assistant), hệ thống dẫn đường trên xe và chức năng đọc sách điện tử. Đối với người dùng khiếm thị, TTS là phương tiện thiết yếu để tiếp cận nội dung web.
Xử lý TTS gồm ba giai đoạn chính. Giai đoạn đầu, phân tích văn bản, thực hiện phân đoạn từ qua phân tích hình thái, ước tính cách đọc cho số và viết tắt, và phân biệt từ đồng âm. Giai đoạn thứ hai, tạo ngữ điệu, xác định trọng âm, ngữ điệu và vị trí ngắt. Giai đoạn thứ ba, tổng hợp giọng nói, tạo dạng sóng âm thanh thực tế. Từ nửa cuối thập niên 2010, các phương pháp tổng hợp dựa trên deep learning (WaveNet, Tacotron, VITS, v.v.) đã được đưa vào sử dụng thực tế, cho ngữ điệu chuyển tiếp mượt hơn so với các phương pháp ghép nối dạng sóng và phương pháp thống kê trước đó. Những cách nói như "gần như không thể phân biệt với giọng người" là cách diễn đạt dùng trong phần giới thiệu của từng dịch vụ, còn người nghe có phân biệt được hay không thì tùy vào chất giọng và nội dung văn bản.
Trình duyệt web cung cấp chức năng TTS thông qua giao diện SpeechSynthesis của Web Speech API. Triển khai chỉ cần vài dòng mã: speechSynthesis.speak(new SpeechSynthesisUtterance('Text to read')). Các dịch vụ đám mây như Amazon Polly, Google Cloud Text-to-Speech và Speech service của Microsoft (tên cũ là Cognitive Services Speech) cung cấp điều khiển nâng cao thông qua SSML (Speech Synthesis Markup Language), cho phép tinh chỉnh tốc độ đọc, cao độ, ngắt nghỉ và âm lượng.
TTS tiếng Nhật đối mặt với thách thức riêng trong việc phân biệt cách đọc kanji. Ký tự "生" có thể đọc là "nama," "sei," "shou," hoặc "ikiru" tùy ngữ cảnh. Tên người và địa danh thường không có trong từ điển, khiến từ điển tùy chỉnh và dữ liệu chú thích ruby có giá trị để cải thiện độ chính xác. Tiếng Nhật còn có mẫu trọng âm riêng cho từng từ (phẳng, cao đầu, cao giữa, cao cuối), và với những từ không có trong từ điển thì phải ước đoán mẫu trọng âm, điều này khiến việc tạo ngữ điệu tự nhiên khó hơn.
TTS và trình đọc màn hình có liên quan chặt chẽ nhưng đóng vai trò khác nhau. TTS là công cụ chuyển văn bản thành giọng nói, trong khi trình đọc màn hình là phần mềm diễn giải thông tin trên màn hình và chuyển cho công cụ TTS. Để cải thiện khả năng tiếp cận nội dung web, điều quan trọng là sử dụng HTML ngữ nghĩa, đặt thuộc tính ARIA phù hợp và cung cấp văn bản alt cho hình ảnh để trình đọc màn hình có thể diễn giải cấu trúc chính xác.
Từ góc độ đếm ký tự, số ký tự của bản thảo là manh mối ban đầu để ước lượng thời gian đọc. Các con số khoảng 300-400 ký tự mỗi phút cho lời dẫn tiếng Nhật và khoảng 150-180 từ mỗi phút cho tiếng Anh được dùng làm mốc kinh nghiệm, và việc quản lý độ dài kịch bản podcast hay lời thuyết minh video theo số ký tự là cách làm dựa trên các mốc đó. Tuy vậy, số ký tự và thời lượng không tỷ lệ với nhau: yếu tố quyết định độ dài khi đọc là số nhịp phát âm chứ không phải số ký tự, nên bản thảo càng nhiều chữ số, chữ cái Latin và ký hiệu thì ước lượng theo số ký tự càng lệch xa so với đo thực tế, và với những mục đích khắt khe về thời lượng, cách chắc chắn hơn là tổng hợp giọng nói thật rồi đo thời gian phát.