VietASI.comVietASI
Tổng hợp giọng nói và nhân bản giọng

Thanh điệu trong tổng hợp giọng nói tiếng Việt: vì sao máy hay đọc lệch dấu

Sáu thanh tiếng Việt khác nhau ở cao độ lẫn chất giọng. Máy phải sinh đúng dáng thanh, giữ thanh khi nói nhanh và theo giọng vùng. Chỗ hay lệch và cách nghe ra.

Over-the-shoulder view of a Vietnamese woman in a quiet home office speaking softly into a desk microphone, a cup of tea beside her, blurred green plants, soft morning light

Máy đọc tiếng Việt lệch dấu chủ yếu vì thanh điệu không chỉ là chuyện cao hay thấp: mỗi thanh có một dáng cao độ riêng theo thời gian, vài thanh còn đi kèm chất giọng đặc biệt như tiếng thắt hay tiếng gãy, và dáng ấy thay đổi theo tốc độ nói, vị trí trong câu, thanh đứng cạnh và giọng vùng. Mô hình chỉ cần học sai một trong các yếu tố đó là người nghe thấy "nặng" thành "huyền", "ngã" thành "sắc".

Với tiếng Anh, cao độ lệch chỉ làm câu nghe lạ; với tiếng Việt, cao độ lệch đổi luôn nghĩa từ: "ma", "má", "mà", "mả", "mã", "mạ" là sáu từ khác nhau. Vì thế thanh điệu là thước đo khắt khe nhất của một giọng đọc tiếng Việt. Bài này giải thích thanh điệu dưới góc âm học, những chỗ máy hay sai, và cách bạn tự nghe ra lỗi thanh khi chọn một giọng đọc.

Thanh điệu dưới góc âm học: cao độ, độ dài và chất giọng

Trong ngữ âm học, cao độ của giọng nói được đo bằng tần số cơ bản, ký hiệu F0, tức số lần dây thanh rung mỗi giây. Vẽ F0 theo thời gian của một âm tiết sẽ ra một đường, và mỗi thanh tiếng Việt có một dáng đường đặc trưng. Theo mô tả phổ biến về giọng Bắc: thanh ngang đi bằng ở mức trung bình hơi cao; thanh huyền bắt đầu thấp hơn và đi xuống nhẹ; thanh sắc đi lên; thanh hỏi đi xuống rồi vòng lên; thanh ngã đi lên nhưng có một chỗ gãy ở giữa; thanh nặng thấp, ngắn và tắc lại ở cuối.

Điểm quan trọng mà nhiều người không để ý là F0 chưa đủ. Thanh ngã và thanh nặng ở giọng Bắc có hiện tượng thanh quản bị thắt lại (các nhà ngữ âm gọi là thanh hầu hoá), nghe như tiếng giọng bị gãy hoặc bị nghẹn. Thanh nặng ngắn hơn hẳn các thanh khác. Thanh huyền thường đi kèm giọng hơi thở. Nghĩa là một hệ thống chỉ mô phỏng đúng đường F0 mà bỏ qua chất giọng và độ dài vẫn cho ra thanh ngã nghe giống thanh sắc, thanh nặng nghe giống thanh huyền.

Mô hình tham số đời cũ thường mô phỏng tốt đường F0 nhưng yếu ở chất giọng, vì vocoder đơn giản không tái tạo được kiểu rung thắt của dây thanh. Mô hình nơ-ron học trực tiếp từ phổ âm nên bắt được chất giọng tốt hơn, miễn là dữ liệu huấn luyện đủ nhiều ví dụ sạch của mỗi thanh.

Sáu thanh và lỗi máy hay mắc với từng thanh

Bảng dưới đây tổng hợp đặc điểm âm học chính của từng thanh theo mô tả giọng Bắc chuẩn và kiểu lỗi người nghe hay phàn nàn ở giọng tổng hợp. Đây là xu hướng chung, mức độ tuỳ từng hệ thống.

ThanhDáng cao độ (giọng Bắc)Đặc điểm kèm theoLỗi máy thường gặp
Ngangbằng, mức trung bìnhđộ dài bình thườngít lỗi; đôi khi bị kéo lên cuối câu như câu hỏi tiếng Anh
Huyềnthấp, đi xuống nhẹcó thể có giọng hơi thởbị đọc phẳng, nghe như thanh ngang hơi trầm
Sắcđi lênâm tiết tắc (kết thúc p, t, c, ch) thì ngắn và lên gắtlên chưa đủ, nghe như thanh ngang; với âm tiết tắc thì kéo quá dài
Hỏiđi xuống rồi lên lạiđoạn cuối lên khi đọc chậm, có thể không lên khi đọc nhanhnhầm với nặng khi phần lên bị mất
Ngãđi lên, có chỗ gãy ở giữathanh quản thắt, giọng gãynhầm với sắc khi thiếu chỗ gãy
Nặngthấp, ngắn, tắc cuốithanh quản thắt mạnhkéo quá dài nên nghe như huyền

Các lỗi hay gặp nhất đều nằm ở cặp thanh có dáng gần nhau khi bị rút ngắn: hỏi và nặng, ngã và sắc, huyền và ngang. Điều này cũng khớp với kinh nghiệm của người học tiếng Việt như ngoại ngữ, vốn hay nhầm đúng các cặp này. Khi tự thử một giọng đọc, bạn nên tập trung vào các cặp ấy thay vì nghe chung chung.

Thanh điệu thay đổi trong lời nói liền

Đồng hoá theo thanh bên cạnh. Trong lời nói tự nhiên, dáng thanh của một âm tiết bị kéo theo thanh đứng trước và sau. Một thanh sắc đứng sau thanh nặng sẽ bắt đầu từ thấp hơn so với khi đứng một mình. Hệ thống ghép âm từng âm tiết rời thường bỏ qua điều này, nên nghe như từng chữ được đọc riêng rồi dán lại.

Rút gọn khi nói nhanh. Ở tốc độ nhanh, thanh hỏi thường mất phần lên ở cuối và gần với thanh nặng hay huyền; thanh ngã mất bớt chỗ gãy. Người nghe bản ngữ vẫn hiểu nhờ ngữ cảnh, nhưng khi máy tăng tốc độ đọc bằng cách đơn thuần nén thời gian, dáng thanh bị méo theo kiểu không tự nhiên, khác với cách người thật nói nhanh.

Vị trí trong câu. Cao độ chung của cả câu thường hạ dần về cuối câu kể (hiện tượng các nhà ngữ âm gọi là hạ dần cao độ). Thanh điệu tiếng Việt được đặt chồng lên đường hạ dần ấy. Máy giữ nguyên mức cao độ tuyệt đối cho cùng một thanh ở đầu và cuối câu sẽ nghe gượng, như người đọc bảng tên.

Âm tiết nhẹ đi. Trong cụm từ quen như "cái này", "của mình", một số âm tiết hư được đọc nhẹ, ngắn, thanh điệu mờ bớt. Máy đọc mọi âm tiết với cùng độ rõ sẽ nghe cứng như đọc chính tả, dù từng thanh đều đúng.

Thanh điệu theo vùng: không có một bộ sáu thanh duy nhất

Mô tả sáu thanh ở trên dựa vào giọng Bắc, thường được coi là chuẩn ghi trong sách giáo khoa và từ điển. Nhưng hệ thanh khác nhau theo vùng. Ở phần lớn giọng Nam, thanh hỏi và thanh ngã gần như nhập làm một, và nhiều người nói chỉ có năm thanh. Ở giọng Trung, tuỳ địa phương, có những thanh nhập với nhau và dáng cao độ khác hẳn giọng Bắc; người nghe từ nơi khác hay thấy giọng Huế hay giọng Nghệ "nặng" chính vì dáng thanh ấy.

Với tổng hợp giọng nói, điều này có hai hệ quả. Một là, một giọng đọc miền Nam đúng chuẩn vùng sẽ đọc "hỏi" và "ngã" giống nhau, và đó không phải lỗi; dùng bộ tiêu chí của giọng Bắc để chấm giọng Nam là chấm sai. Hai là, nếu một mô hình được huấn luyện trên dữ liệu trộn nhiều vùng mà không gắn nhãn vùng, nó có thể sinh ra một thứ giọng lai, chỗ này thanh Bắc chỗ kia thanh Nam, nghe rất lạ với người bản ngữ ở cả hai miền.

Thực tế nhiều hệ thống chọn huấn luyện mỗi giọng đọc từ một người đọc của một vùng, để hệ thanh nhất quán. Việc dựng giọng của các vùng ít dữ liệu như Huế, Quảng Nam, Nghệ Tĩnh vẫn còn hạn chế, chủ yếu vì thiếu bản ghi âm có chất lượng và có sự đồng ý của người đọc. Bài về giọng vùng miền trên trang này đi sâu hơn vào các lớp khác biệt ngoài thanh điệu.

Cách tự nghe ra lỗi thanh điệu của một giọng đọc

Bạn không cần phần mềm phân tích âm thanh để kiểm thanh điệu ở mức sản phẩm. Một buổi nghe có phương pháp, với vài người nghe bản ngữ, là đủ để phát hiện phần lớn lỗi.

  1. Soạn một danh sách cặp tối thiểu, tức các từ chỉ khác nhau ở thanh, đặt trong câu ngắn có nghĩa: "Mẹ mua cái mả", "Mẹ mua cái mã", "Bà để ở bể", "Bà để ở bệ". Đây là câu thử giả định, bạn tự đặt thêm theo từ vựng nghề mình.
  2. Cho giọng đọc đọc cả câu ở tốc độ mặc định, rồi ở tốc độ nhanh hơn khoảng một phần ba. Lỗi thanh thường chỉ lộ ra ở tốc độ nhanh.
  3. Nhờ hai đến ba người nghe bản ngữ, tốt nhất ở các vùng khác nhau, nghe mà không xem chữ, rồi viết lại câu họ nghe được. Đây là cách đơn giản để đo khả năng nghe hiểu.
  4. So chữ người nghe viết với câu gốc, đánh dấu những chỗ nhầm thanh. Đếm xem lỗi rơi vào cặp thanh nào nhiều nhất.
  5. Thử thêm câu dài có nhiều thanh nặng và ngã liên tiếp, như một câu tin tức thật, để xem giọng có giữ được độ ngắn và chỗ gãy khi phải đọc liền mạch không.
  6. Ghi nhận cả giọng vùng của người nghe: lỗi mà người Nam không nhận ra (hỏi và ngã) có thể là lỗi nặng với người Bắc, tuỳ đối tượng sản phẩm của bạn.

Kết quả của bước này nên được giữ lại như một bộ thử cố định. Mỗi lần đổi giọng đọc hay cập nhật phiên bản, chạy lại để biết chất lượng thanh điệu tăng hay giảm, thay vì dựa vào cảm giác.

Những điều chưa có câu trả lời dứt khoát

Trong nghiên cứu, vẫn còn những câu hỏi chưa ngã ngũ. Cách biểu diễn thanh điệu tốt nhất cho mô hình nơ-ron là gắn ký hiệu thanh vào vần, tách luồng riêng, hay để mô hình tự học từ chữ có dấu? Các công bố cho kết quả khác nhau tuỳ dữ liệu và cách đánh giá, nên chưa thể nói phương án nào thắng hẳn. Độ đo khách quan cho thanh điệu cũng còn thô: so đường F0 của giọng máy với giọng người đọc cùng câu chỉ cho biết dáng có giống nhau không, chưa chắc phản ánh người nghe có nhận đúng thanh không.

Một câu hỏi mở khác là thanh điệu trong giọng đọc cảm xúc. Khi người thật nói vui, giận hay buồn, toàn bộ khoảng cao độ dịch chuyển và giãn ra hoặc co lại, nhưng các thanh vẫn phải phân biệt được với nhau. Mô hình nơ-ron được yêu cầu đọc "vui hơn" đôi khi nâng cao độ chung lên mà làm phẳng luôn sự khác biệt giữa các thanh, khiến câu nghe sôi nổi nhưng khó nghe rõ chữ. Đây là một lý do nhiều giọng đọc tiếng Việt thương mại chỉ có một hai sắc thái cảm xúc, trong khi giọng tiếng Anh cùng hãng có nhiều hơn. Muốn làm tốt phần này cần dữ liệu cảm xúc có gắn nhãn, mà loại dữ liệu ấy cho tiếng Việt còn hiếm.

Cũng chưa có nhiều nghiên cứu công khai về cách người nghe ở các vùng khác nhau đánh giá giọng tổng hợp của vùng khác. Một giọng Bắc mà người Bắc chấm cao có thể bị người Nam chê "cứng", và ngược lại. Với người làm sản phẩm, cách an toàn là không tin một con số điểm chung, mà nghe với chính nhóm người dùng của mình.

Câu hỏi thường gặp

Vì sao giọng đọc máy hay nhầm thanh hỏi với thanh nặng?

Hai thanh cùng bắt đầu đi xuống ở vùng thấp. Khác biệt nằm ở phần cuối: hỏi vòng lên lại, nặng tắc và ngắn. Khi mô hình rút ngắn âm tiết hoặc khi đọc nhanh, phần vòng lên của thanh hỏi dễ mất, và nếu độ ngắn của thanh nặng không được giữ, hai thanh nghe gần như nhau.

Giọng miền Nam đọc hỏi và ngã giống nhau có phải là lỗi không?

Không. Ở phần lớn giọng Nam, hai thanh này đã nhập làm một trong lời nói tự nhiên. Một giọng đọc miền Nam đúng chất vùng sẽ đọc như vậy. Lỗi chỉ xảy ra khi giọng được quảng cáo là giọng Bắc mà lại gộp hai thanh, hoặc khi một giọng trộn lẫn hai hệ thanh.

F0 là gì và có tự đo được không?

F0 là tần số cơ bản của giọng, tương ứng với cao độ người nghe cảm nhận. Phần mềm phân tích ngữ âm miễn phí như Praat, vốn được giới ngữ âm học dùng rộng rãi, có thể vẽ đường F0 từ một bản ghi. Nhìn đường này giúp so dáng thanh của giọng máy với giọng người.

Tại sao máy đọc từng chữ đúng thanh mà cả câu vẫn nghe không tự nhiên?

Vì thanh điệu trong lời nói liền chịu ảnh hưởng của thanh bên cạnh, của đường cao độ chung của câu và của trọng âm cụm từ. Đọc từng âm tiết đúng dáng chuẩn mà không điều chỉnh theo ngữ cảnh sẽ nghe như đọc chính tả. Đây là phần việc của ngữ điệu, khác với thanh điệu từng chữ.

Dữ liệu ghi âm có cần đánh dấu thanh điệu bằng tay không?

Thường không cần, vì chữ Quốc ngữ đã ghi thanh, và luật chuyển chữ sang âm vị suy ra thanh từ dấu. Việc cần làm là đảm bảo văn bản khớp chính xác với lời đọc, kể cả khi người đọc lỡ đọc khác chữ; lệch giữa chữ và tiếng là nguồn lỗi thanh điệu phổ biến khi huấn luyện.

Có thể dùng một giọng tổng hợp để dạy phát âm thanh điệu cho người nước ngoài không?

Có thể dùng làm tài liệu nghe bổ trợ nếu giọng đã được người bản ngữ kiểm kỹ các cặp thanh dễ nhầm. Nhưng nên ghi rõ đó là giọng vùng nào và kết hợp với giọng người thật, vì lỗi nhỏ của máy có thể thành thói quen sai của người học.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138