Máy đọc chữ thành giọng nói làm ba việc nối nhau. Trước hết nó chuẩn hoá văn bản, tức là đổi những thứ như con số, ngày tháng, chữ viết tắt thành chữ đọc được. Tiếp theo nó đoán cách đọc và nhịp điệu của cả câu: chỗ nào ngắt, chỗ nào lên giọng. Cuối cùng nó dùng một mô hình đã học từ rất nhiều giờ ghi âm giọng người thật để tạo ra âm thanh nghe giống người nói.
Chào bạn, đây là Phát Thanh Số. Ngày nay, bạn nghe giọng máy ở khắp nơi: chỉ đường trên điện thoại, đọc tin trên ứng dụng, thông báo ở nhà ga, video trên mạng. Có những giọng máy giờ nghe tự nhiên tới mức khó phân biệt. Tập này mình mở cái hộp ra, nhìn xem bên trong nó làm gì, bằng lời thường.
Bước một: đọc hiểu văn bản như một người đọc cẩn thận
Văn bản viết ra không phải lúc nào cũng đọc thẳng được. Con số mười hai nghìn có thể viết bằng chữ số, ngày tháng có thể viết bằng dấu gạch, có chữ viết tắt, có ký hiệu. Người đọc tự biết đọc thế nào, còn máy phải được dạy.
Bước đầu tiên vì thế là chuẩn hoá: đổi mọi thứ thành chữ đọc được. Một con số thành chuỗi chữ, một ký hiệu tiền tệ thành chữ đồng, một chữ viết tắt thành cụm từ đầy đủ nếu máy biết.
Đây là bước dễ sai nhất với tiếng Việt. Cùng một chuỗi chữ số có thể là số điện thoại, đọc từng số, hoặc là số tiền, đọc thành hàng nghìn hàng triệu. Máy phải đoán từ ngữ cảnh, và đoán không phải lúc nào cũng đúng.
Đó là lý do khi viết văn bản cho máy đọc, người viết nên tự viết số thành chữ ở những chỗ quan trọng, mình sẽ nói kỹ ở một tập sau.
Bước hai: đoán ngữ điệu
Đọc đúng từng chữ chưa đủ để nghe giống người. Người nói thật có lên có xuống, có nhanh có chậm, có ngắt hơi. Một câu hỏi khác một câu khẳng định, một câu cảm thán khác một câu kể.
Máy phải đoán những điều đó từ văn bản: dấu câu, vị trí từ trong câu, loại câu. Những máy đọc đời đầu làm việc này kém, nên giọng nghe đều đều như robot, ngắt chỗ không đáng ngắt.
Các hệ thống hiện đại học ngữ điệu từ rất nhiều ví dụ giọng người thật, nên đoán tự nhiên hơn hẳn. Nhưng chúng vẫn có thể sai ở câu dài, câu có cấu trúc lạ, hay câu cần hiểu ý mới đọc đúng giọng.
Một người đọc hiểu được ý mỉa mai, ý đùa trong câu và đổi giọng theo. Máy thì vẫn chưa làm được điều này thật tốt.
Bước ba: tạo ra âm thanh
Ngày xưa, máy tạo giọng bằng cách ghép những mẩu âm thanh nhỏ đã thu sẵn từ một người đọc, như ghép những mảnh ghép hình. Giọng nghe giống người nhưng chỗ nối hay bị gợn, nhịp không trơn.
Ngày nay, phần lớn hệ thống dùng mạng nơ ron, một kiểu mô hình học từ dữ liệu. Nó được cho nghe hàng nghìn giờ giọng người đọc kèm văn bản, và học cách từ văn bản tạo ra âm thanh mới, không cần ghép mảnh.
Kết quả là giọng trơn hơn, tự nhiên hơn, có hơi thở, có sắc thái. Một số hệ thống còn tạo được nhiều giọng khác nhau, nam nữ, trầm bổng, từ cùng một mô hình.
Cũng nhờ cách học này mà ngày nay có công nghệ nhân bản giọng: chỉ cần một đoạn mẫu ngắn của một người, máy có thể đọc văn bản mới bằng giọng gần giống người đó. Mình sẽ có một tập riêng về chuyện này, vì nó đi kèm trách nhiệm.
Vì sao tiếng Việt là một thử thách riêng?
Tiếng Việt có sáu thanh điệu. Cùng một âm ma, thay thanh là thành ma, má, mà, mả, mã, mạ, sáu nghĩa khác nhau. Máy đọc sai thanh là sai nghĩa, không như nhiều thứ tiếng khác đọc lệch cao độ một chút vẫn hiểu.
Thanh điệu lại còn tương tác với ngữ điệu câu. Câu hỏi muốn lên giọng ở cuối, nhưng nếu từ cuối là thanh nặng thì phải lên giọng thế nào mà không biến thành thanh khác. Người Việt làm việc này tự nhiên, máy phải học rất nhiều mới làm được.
Tiếng Việt còn có nhiều từ mượn, tên riêng nước ngoài, cách viết lẫn tiếng Anh. Máy phải quyết định đọc theo kiểu Việt hay kiểu nước ngoài.
Và có giọng vùng miền. Một giọng máy chỉ học từ giọng một vùng sẽ đọc theo cách của vùng đó. Nhiều dịch vụ vì thế có cả giọng Bắc lẫn giọng Nam.
Giọng máy hợp với việc gì?
Giọng máy hiện nay rất hợp với những việc cần đọc nhiều, đều đặn, nhanh: đọc tin tức thành âm thanh, đọc thông báo, đọc văn bản cho người khiếm thị, làm lời đọc cho video hướng dẫn, đọc bài giảng.
Nó giúp những người không có giọng đọc tốt, không có phòng thu, không có thời gian, vẫn tạo được nội dung âm thanh. Nó cũng giúp người có giọng yếu, người bị bệnh mất giọng có thêm cách để nói.
Những việc cần cảm xúc tinh tế, ứng biến, trò chuyện tự nhiên với người khác thì giọng người vẫn có lợi thế. Nhưng khoảng cách đang thu hẹp dần.
Nếu bạn tò mò muốn thử, aigiongnoi.com là trang chuyển văn bản thành giọng nói tiếng Việt trong hệ, có nút nghe thử từng giọng ngay trên trang. Tập sau mình sẽ nói kỹ trang đó làm được gì.
Câu hỏi thường gặp
Giọng máy đọc tiếng Việt có tự nhiên không?
Các hệ thống hiện đại đọc tiếng Việt khá tự nhiên, có ngữ điệu và hơi thở. Vẫn còn những chỗ có thể sai như con số, tên riêng, câu dài phức tạp, nên người dùng nên nghe lại trước khi dùng.
Vì sao máy hay đọc sai số?
Vì cùng một chuỗi chữ số có thể là số điện thoại, số tiền, năm hay mã số, mỗi loại đọc một kiểu. Máy phải đoán từ ngữ cảnh, đoán sai là đọc sai. Viết số thành chữ ở chỗ quan trọng giúp tránh lỗi.
Máy học giọng người như thế nào?
Máy được cho nghe rất nhiều giờ ghi âm giọng người kèm văn bản tương ứng, rồi học cách từ văn bản tạo ra âm thanh tương tự. Càng nhiều dữ liệu chất lượng, giọng tạo ra càng tự nhiên.
Giọng máy có thay được người đọc sách nói không?
Với một số loại sách đơn giản, giọng máy đã dùng được. Với văn chương cần nhiều cảm xúc, nhiều nhân vật, người đọc giỏi vẫn có lợi thế rõ rệt.
Thanh điệu tiếng Việt khó với máy ở chỗ nào?
Đọc sai thanh là sai nghĩa, và thanh điệu phải hoà cùng ngữ điệu câu như lên giọng khi hỏi. Máy cần học rất nhiều để vừa đúng thanh vừa đúng nhịp như người Việt nói.