Tuy vậy, những hệ thống này chủ yếu phục vụ cho các ngôn ngữ thông dụng như tiếng Anh, tiếng Pháp, … còn đối với tiếng Việt, các hệ thống tổng hợp tiếng nói chưa được phát triển nhiều..
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NG HỆ
Lê Đôn Khuê
THỬ NGHIỆM MỘT PHƯƠNG PHÁP TỔNG HỢP TIẾNG NÓI TỪ VĂN BẢN TIẾNG VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Đôn Khuê
THỬ NGHIỆM MỘT PHƯƠNG PHÁP TỔNG HỢP
TIẾNG NÓI TIẾNG VIỆT TỪ VĂN BẢN
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS Bùi Thế Duy
HÀ NỘI - 2009
Trang 3Lời cảm ơn
Trước tiên, tôi muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo chủ nhiệm, TS Bùi Thế Duy, người đã tận tình hướng dẫn em trong suốt quá trình nghiên cứu khóa luận tốt nghiệp cũng quá trình học tập tại Đại học Công nghệ
Tôi xin gửi lời cảm ơn sâu sắc đến tất những thầy cô giáo của trường đại học Công nghệ, những kiến thức và kinh nghiệm quý báu mà tôi nhận được từ thầy cô trong suốt bốn năm ngồi trên giảng đường sẽ là hành trang tốt nhất giúp tôi vững bước trong sự nghiệp của mình
Tôi cũng gửi lời cảm ơn đến tất cả các bạn bè, những người đã luôn đồng hành, động viên, giúp đỡ tôi trong suốt bốn năm đại học
Với các bạn K50CA, K50KHMT và các bạn trong phòng thí nghiệm tương tác người máy, những trao đổi, góp ý của các bạn về khóa luận này thực sự đã giúp tôi rất nhiều
Cuối cùng, xin gửi những lời tri ân đến gia đình, những người thân yêu nhất của tôi, luôn quan tâm, tạo điều kiện cho tôi
Sinh viên
Lê Đôn Khuê
Trang 4Tóm tắt
Kể từ khi ra đời, máy tính đã là một công cụ giúp đỡ con người vô cùng hữu ích Mục tiêu biến máy tính thành một con người làm việc không biết mệt mỏi đang được dần hoàn thiện Một trọng những yêu cầu để thực hiện được mục tiêu đó là khả năng máy tính có thể đọc được các văn bản hay được gọi là tổng hợp tiếng nói Trong những năm qua, đã có nhiều nghiên cứu xung quanh đề tài tổng hợp tiếng nói Từ đây, một số hệ thống tổng hợp tiếng nói đã ra đời và đạt hiệu quả rất tốt Tuy vậy, những hệ thống này chủ yếu phục vụ cho các ngôn ngữ thông dụng như tiếng Anh, tiếng Pháp,
… còn đối với tiếng Việt, các hệ thống tổng hợp tiếng nói chưa được phát triển nhiều Trong khóa luận này, tôi muốn thử nghiệm một hệ thống tổng hợp tiếng nói dành cho tiếng Việt
Trang 5Mục lục
Lời cảm ơn i
Tóm tắt ii
Mục lục iii
Danh mục hình ảnh v
Danh mục bảng biểu vi
Chương 1 Tổng quan về hệ thống tổng hợp tiếng nói 1
1.1 Giới thiệu 1
1.2 Ý nghĩa của TTS 1
1.3 Quá trình phát triển của TTS trên thế giới 2
1.4 TTS ở Việt Nam 2
1.5 Mục đích của khóa luận 3
1.6 Cấu trúc của khóa luận 3
Chương 2 Các phương pháp tổng hợp tiếng nói 4
2.1 Mô hình chung của một hệ thống TTS 4
2.1.1 Phân tích văn bản 4
2.1.2 Phân tích cách đọc 5
2.1.3 Tạo ra sóng âm thanh 6
2.2 Phương pháp tổng hợp Formant 6
2.3 Các phương pháp tổng hợp bằng ghép nối 8
2.3.1 Phương pháp tổng hợp bằng ghép nối các tiếng 8
2.3.2 Phương pháp tổng hợp bằng ghép nối các phone 9
2.3.3 Phương pháp tổng hợp bằng ghép nối diphone 9
2.3.3.1 Điểm pitch 10
2.3.3.2 Đồng bộ điểm pitch theo miền thời gian TD-PSOLA 11
2.4 Phương pháp mô phỏng phát âm 12
Trang 62.5 Đặc điểm của tiếng Việt 13
2.6 Kết luận 14
Chương 3 Xây dựng TTS tiếng Việt sử dụng phương pháp ghép nối diphone 16
3.1 Các công cụ thực hiện 16
3.2 Cài đặt và tạo ra các file khuôn mẫu 17
3.3 Định nghĩa tập phone tiếng Việt 17
3.4 Xây dựng tập các diphone: 22
3.4.1 Diphone giữa âm câm và phụ âm: 23
3.4.2 Diphone giữa âm câm và nguyên âm 23
3.4.3 Diphone giữa phụ âm và âm câm 24
3.4.4 Diphone giữa nguyên âm và âm câm 24
3.4.5 Diphone giữa phụ âm – nguyên âm 25
3.4.6 Diphone giữa nguyên âm – phụ âm 26
3.5 Carrier và ý nghĩa của nó 26
3.6 Ánh xạ các phone tiếng Việt sang tiếng Anh 28
3.7 Thu âm 29
3.8 Đánh nhãn các diphone 30
3.9 Tìm pitchmark 30
3.9.1 Các bước để lấy pitchmark tốt 31
3.10 Kiểm thử 32
3.11 Thêm dấu cho tiếng Việt 32
Chương 4 Tổng kết 34
4.1 Kết quả thu được 34
4.2 Các khó khăn thách thức 34
4.3 Các hướng nghiên cứu phát triển tiếp theo 35
Tài liệu tham khảo 36
Trang 7Danh mục hình ảnh
Hình 1 Mô hình một hệ thống tổng hợp tiếng nói 4
Hình 2 Mô hình 3 formant nối tiếp 7
Hình 3 Mô hình 5 formant của Klatt 8
Hình 4 Điểm pitch trong phone 10
Hình 5 Ghép nối hai diphone 11
Hình 6 Thuật toán TD-PSOLA 12
Hình 7 Sự thay đổi giá trị F0 của các thanh 14
Hình 8 Sự thay đổi giá trị F0 khi các thanh đi với chữ "chi" 14
Hình 9 Biểu diễn dạng sóng của một carrier và đánh nhãn diphone 30
Hình 10 Pitchmark của sóng "taa taa taa" 32
Trang 8Danh mục bảng biểu
Bảng 1 Các nguyên âm đơn tiếng Việt và tính chất 18
Bảng 2 Các nguyên âm đôi của tiếng Việt và tính chất 19
Bảng 3 Các phụ âm tiếng Việt và tính chất 21
Bảng 4 Một cách liệt kê các diphone 22
Bảng 5 Phân loại các phone 22
Bảng 6 Diphone âm câm – phụ âm 23
Bảng 7 Diphone âm câm – nguyên âm 23
Bảng 8 Diphone phụ âm – âm câm 24
Bảng 9 Diphone nguyên âm – âm câm 24
Bảng 10 Diphone phụ âm – nguyên âm 1 25
Bảng 11 Diphone phụ âm – nguyên âm 2 25
Bảng 12 Diphone nguyên âm – phụ âm 26
Bảng 13 Khai báo các carrier 27
Bảng 14 Ví dụ ánh xạ phone tiếng Việt sang phone tiếng Anh 28
Trang 9
Chương 1 Tổng quan về hệ thống tổng hợp tiếng nói
1.1 Giới thiệu
Tổng hợp tiếng nói là việc tạo ra tiếng nói của con người một cách nhân tạo Một
hệ thống máy tính thực hiện mục đích này được gọi là một hệ thống tổng hợp tiếng nói Tổng hợp tiếng nói có thể được thực hiện bằng bằng phần mềm hay nhúng vào phần cứng của máy tính
Việc tổng hợp tiếng nói có thể được thực hiện bằng nhiều phương pháp Phương pháp phổ biển nhất hiện nay là phương pháp tổng hợp bằng cách ghép nối các đoạn tiếng nói nhỏ hơn được lưu trữ trong cơ sở dữ liệu Việc lưu trữ cơ sở dữ liệu nhiều hay ít làm ảnh hưởng rất lớn đến kết quả thu được tốt hay không Đôi khi, vì mục đích cần phải giảm độ lớn của cơ sở dữ liệu, người ta chấp nhận làm giảm chất lượng của tiếng nói thu được trong một mức cho phép
Chất lượng của một hệ thống tổng hợp tiếng nói được đánh giá dựa trên độ
“giống” đối với tiếng nói của người thật và khả năng để người nghe có thể hiểu được hết ý nghĩa của văn bản
Một hệ thống chuyển văn bản thành tiếng nói (tiếng Anh là Text To Speech, trong khóa luận này sẽ được viết tắt là TTS) là một hệ thống có đầu vào là một văn bản và đầu ra là một sóng âm thanh
tự động và cho hiệu quả rất cao
Các thiết bị truyền thông đa phương tiện: Với sự phát triển và thành công vượt bậc của TTS cho tiếng Anh, các phần mềm để học tiếng Anh hay các
từ điển điện tử cũng đã sử dụng các hệ thống TTS Ngoài ra, các trò chơi
Trang 10điện tử hiện này đã ứng dụng công nghệ này rất rộng rãi
Trong truyền thông: Một trong những nguyên nhân gây ra nhiều tai nạn xe hơi là tài xế vừa lái xe vừa đọc tin nhắn Sự với sự hỗ trợ của TTS, người lái xe hoàn toàn có thể tập trung vào việc lái xe mà vẫn nghe được tin nhắn mình nhận được Ngoài ra, khi công nghệ GPRS chưa phát triển thì việc check email khi phải đi công tác tới một khu vực chưa phát triển gặp rất nhiều khó khắn Khi đó người ta đã có những phần mềm sử dụng TTS
để check email qua điện thoại di động
Hiện nay, ở Việt Nam việc sử dụng các hệ thống TTS vẫn còn chưa nhiều Chủ yếu là việc đọc các thông báo tại các nhà ga, sân bay hay tại cơ quan nhà nước có hệ thống xếp hàng
1.3 Quá trình phát triển của TTS trên thế giới
Tiếng nói nhân tạo đã được nghiên cứu trong một thời gian dài và có sự tham gia của nhiều nhà khoa học Những người đầu tiên có ý tưởng về một chiếc máy có khả năng nói được là Gerbert of Aurillac, Albertus Magnus (1198 – 1280) và Roger Bacon (1214 – 1294) [18]
Tuy vậy phải tới năm 1779, nhà khoa học người Đan Mạch Christian Kratzenstein mới xây dựng thành công mô hình cơ khí tổng hợp 5 âm /a/, /e/, /i/, /o/, /u/ Thiết bị này vẫn chưa tổng hợp được một câu nói hoàn chỉnh
Thiết bị đầu tiên được xem như một bộ tổng hợp tiếng nói là VODER (Voice Operating Demonstrator) được nhà khoa học người Mỹ Homer Dulley giới thiệu năm
1939 tại New York Hệ thống này có thể tổng hợp các câu đơn giản những cần sự điều khiển hết sức phức tạp [14]
Trong mấy thập kỷ qua, các hệ thống TTS đã có những bước phát triển vượt bậc Chất lượng của những hệ thống TTS được phát triển ngày càng cao và đã được ứng dụng với các mục đích thương mại Đa số các hệ thống này dành cho tiếng Anh Ngoài
ra, cũng có một số các ngôn ngữ khác như tiếng Trung, tiếng Tây Ban Nha, … nhưng tiếng Anh vẫn được nghiên cứu nhiều nhất vì vậy tiếng Anh có hệ thống TTS chuẩn mực hơn cả
1.4 TTS ở Việt Nam
TTS ở Việt Nam cũng đã được nghiên cứu từ khá lâu Hiện nay có 2 chương
Trang 11trình thành công hơn cả là VnSpeech và VietSound
Phần mềm VnSpeech là hệ thống tổng hợp tiếng nói đầu tiên của Tiếng Việt, phần mềm này sử dụng phương pháp tổng hợp Formant Hệ thống này có thể đọc được hầu hết các âm tiết tiếng Việt ở mức nghe rõ tuy vậy, mức độ tự nhiên không cao Phần mềm VietSound là phần mềm được phát triển tại đại học Bách Khoa Thành phố Hồ Chí Minh Phần mềm này sử dụng giải thuật TD-PSOLA dùng để tổng hợp các nguyên âm đơn và phương pháp tổng hợp FORMANT để tổng hợp các phụ âm, nguyên âm và âm vần đơn giản Phần mềm này cũng chưa đạt đến mức độ tự nhiên gần giống với tiếng nói con người [2]
Cả hai phần mềm trên đều có nhược điểm là âm thanh thu được rời rạc, thiếu tự nhiên
1.5 Mục đích của khóa luận
Mục đích của khóa luận này là tìm hiểu và xây dựng hệ thống tổng hợp tiếng nói tiếng Việt dựa trên phương pháp ghép nối diphone Hệ thống cần có khả năng tổng hợp một tiếng nói có độ liền mạch và có khả năng nghe hiểu được
1.6 Cấu trúc của khóa luận
Khóa luận này được trình bày thành 4 chương Chương 2 sẽ nêu ra lý thuyết một
hệ thống tổng hợp tiếng nói; các phương pháp tổng hợp tiếng nói thông dụng hiện nay Dựa trên đặc điểm riêng của tiếng Việt, chúng ta có thể so sánh và có sự lựa chọn phương pháp tổng hợp tiếng nói cho tiếng Việt phù hợp nhất Chương 3 sẽ là các bước
cụ thể để có thể xây dựng được một hệ thống tổng hợp tiếng nói bằng phương pháp ghép nối diphone Chương 4 sẽ là tổng kết cho toàn bộ quá trình thử nghiệm phương pháp này
Trang 12Chương 2 Các phương pháp tổng hợp tiếng nói
2.1 Mô hình chung của một hệ thống TTS
Thông thường, hệ thống TTS bao gồm 3 bước:
Phân tích văn bản
Phân tích cách đọc
Tạo ra sóng âm thanh
Hình 1 Mô hình một hệ thống tổng hợp tiếng nói 2.1.1 Phân tích văn bản
Phân tích văn bản là việc chuyển các kí hiệu, các số, các chữ viết tắt ra thành các câu chữ đầy đủ Ví dụ như câu “Phong trào sinh viên tình nguyện do TW Đoàn TNCS
Hồ Chí Minh phát động đã được hưởng ứng của hơn 10000 sinh viên trên cả nước”
cần phải được chuyển thành “Phong trào sinh viên tình nguyện do Trung Ương Đoàn Thanh niên Cộng sản Hồ Chí Minh phát động đã được hưởng ứng của hơn mười nghìn
sinh viên trên cả nước”
Để thực hiện việc phân tích văn bản tốt, ta cần có:
Một module chuyển số thành dạng chữ viết
Một cơ sở dữ liệu các chữ viết tắt thông dụng
Tiếng nói Văn bản
Phân tích văn bản
Chia các cụm từ
Ngữ điệu
Độ dài ngắn
Tạo sóng âm
Phân tích cách đọc
Trang 13 Một cơ sở dữ liệu các khuôn dạng thông dụng như ngày tháng, giờ, … Tuy vậy, ta cũng sẽ gặp phải nhiều khó khăn do những tình huống nhập nhằng
Ví dụ như cụm “1/2” có thể được hiểu là “ngày mùng một tháng hai” hoặc “một phần hai” Một ví dụ khác là khi ta gặp một dãy số “38533580”, ta cần phải xác định xem đây là số đếm (ba mươi tám triệu năm trăm ba mươi ba ngàn năm trăm tám mươi) hay đây là số điện thoại (ba tám năm ba ba năm tám không) Những trường hợp như thế này đỏi hỏi ta phải xác định được văn cảnh của văn bản đầu vào
2.1.2 Phân tích cách đọc
Việc phân tích cách đọc thực chất chính là quá trình tiền xử lý cho việc tổng hợp tiếng nói Vì vậy, quá trình này còn phụ thuộc vào việc chúng ta sẽ sử dụng phương pháp nào để thực hiện việc tổng hợp tiếng nói
Cũng phải nói thêm rằng tiếng Việt có một thuận lợi rất lớn là mỗi cách viết chỉ
có một cách đọc không như tiếng Anh một cách viết có thể có nhiều cách đọc phụ thuộc vào ngữ cảnh
Nếu việc tổng hợp tiếng nói được thực hiện bằng các phương pháp ghép nối, thì việc bắt buộc đối với chúng ta là phải phân chia câu cần tổng hợp thành các đơn vị đã
có sẵn trong cơ sở dữ liệu của chúng ta Hãy xét ví dụ ta cần tổng hợp câu “Xin chào” bằng phương pháp ghép nối diphone Các diphone đã có trong cơ sở dữ liệu là “âm câm – x”, “x – i”, “i – n”, “n – âm câm”, “âm câm – ch”, “ch – à”, “à – o” Khi đó ta cần tách đoạn text “Xin chào” thành “âm câm – x – i – n – âm câm – ch – à – o – âm câm”
Để tiếng nói tổng hợp được thu được chất lượng tốt thì phân tích ngôn điệu là vô cùng quan trọng Ngôn điệu gồm: độ cao thấp, độ dài ngắn, cường độ
Độ cao thấp (pitch) hay tần số trên một câu phụ thuộc vào nhiều yếu tố trong đó
có loại câu (câu kể, câu hỏi, câu cảm thán); người nói (giới tính, trạng thái cảm xúc)
Ví dụ câu kể thường thấp giọng ở cuối câu còn câu hỏi lại cao giọng ở cuối câu Người nói là nam thường nói với độ cao thấp hơn
Độ dài ngắn (duration) là đặc điểm về thời gian phát âm một từ hay một âm vị Thông thường hai tiếng liên tiếp mà tạo thành từ khoảng nghỉ giữa hai tiếng sẽ ngắn hơn hai tiếng liên tiếp những không tạo thành một từ Đôi khi, độ dài ngắn cũng được thể hiện khi người nói muốn nhấn mạnh một từ nào đó trong câu [2]
Cường độ thể hiện ở độ to nhỏ của tiếng nói Ở mức âm tiết, các nguyên âm
Trang 14thường có cường độ mạnh hơn phụ âm Ở mức cụm, các âm tiết ở phần cuối của cách phát âm có thể có cường độ yếu hơn
Một hệ thống TTS cần phân tích được cách đọc ở mức càng gần với thực tế càng tốt Đây là mục tiêu của mọi hệ thống TTS cho các ngôn ngữ khác nhau, tuy vậy chưa
có một hệ thống nào có thể thực hiện hoàn hảo điều này
2.1.3 Tạo ra sóng âm thanh
Đây là quá trình trực tiếp tạo ra tín hiệu âm thanh Chất lượng tiếng nói tổng hợp được phụ thuộc rất nhiều vào phần này Trên thế giới đã có rất nhiều phương pháp được đưa ra để tổng hợp tiếng nói như phương pháp tổng hợp Formant, phương pháp ghép nối Diphone, …
Các phương pháp có thể được chia làm 4 nhóm:
Phương pháp tổng hợp dựa trên hệ luật: phương pháp Formant
Phương pháp tổng hợp bằng ghép nối:
o Phương pháp tổng hợp bằng ghép nối phones
o Phương pháp tổng hợp bằng ghép nối nửa phones
o Phương pháp tổng hợp bằng ghép nối diphone
Phương pháp tổng hợp dựa trên các mô hình:
o Phương pháp tổng hợp dựa trên mô hình Markov ẩn (HMM)
o Phương pháp tổng hợp dựa trên mô hình âm tiếng nói và nhiễu (Harmonic plus Noise – HNM)
Phương pháp tổng hợp dựa trên mô phỏng phát âm
2.2 Phương pháp tổng hợp Formant
Phương pháp này còn có tên gọi khác là phương pháp tổng hợp dựa trên hệ luật (rule-based) Đây là phương pháp không dựa vào những đoạn tiếng nói đã thu sẵn của con người Phương pháp tổng hợp Formant sẽ sử dụng tiếng nói tổng hợp được tạo ra dựa trên cơ sở lý thuyết âm học của quá trình tạo tiếng nói Phổ biến nhất hiện nay chính là mô hình nguồn âm bộ lọc ( source-filter model) để tạo ra được tín hiệu tiếng nói
Formant là một sự cộng hưởng âm thanh Ở đây chúng ta có thể hiểu tín hiệu
Trang 15tiếng nói là kết quả của nguồn kích hữu thanh hoặc vô thanh được cộng hưởng hay phản cộng hưởng của tuyến âm, sau đó ảnh hưởng bởi sự tán xạ của tiếng nói qua môi
và mũi
Phương pháp tổng hợp Formant đầu tiên được Walter Lawrence đưa ra vào năm
1953, phương pháp này sử dụng 3 formant được nối song song 3 formant cũng là số lượng formant tối thiểu để có thể tạo ra được một tiếng nói nghe được Dưới đây là một mô hình 3 formant được nối nối tiếp [14]:
Hình 2 Mô hình 3 formant nối tiếp
Đầu vào của mô hình này là 12 tham số: tần số chung (F0), 3 tần số của các Formant và 3 biên độ của các Formant, cường độ của tần số thấp, cường độ của tần số cao, … Do có nhiều tham số nên việc điều khiển là rất phức tạp Tuy vậy, phương pháp này mới chỉ đưa ra được một tiếng nói với chất lượng nghe được Tiếng nói vẫn còn rời rạc, không trơn chu, liền mạch hay nói cách khác là không tự nhiên
Năm 1980, Dennis Klatt đã đưa ra một mô hình phức tạp gồm 5 formant và cần tới 39 tham số điều khiển và được cập nhật 5 mili giây một lần Dưới đây là mô hình được Klatt đưa ra [14]:
Trang 16Hình 3 Mô hình 5 formant của Klatt
Cho đến nay, đây vẫn là mô hình tốt nhất cho phương pháp này Phương pháp formant có những đặc điểm nổi trội so với các phương pháp khác là không cần phải lưu trữ cơ sở dữ liệu, thời gian tổng hợp là rất nhanh Đây là phương pháp hiện nay rất thích hợp cho những ứng dụng trên các thiết bị như PDA, PC Pocket vì đặc điểm của những thiết bị này là phần cứng yếu
Tuy nhiên, phương pháp này về mặt chất lượng của tiếng nói vẫn không tốt Tiếng nói vẫn bị rời rạc, không tự nhiên Hơn nữa, phương pháp này rất khó xây dựng
Ta cần phải có một sự hiểu biết sâu sắc về mặt âm học mới có thể thực hiện được phương pháp này
2.3 Các phương pháp tổng hợp bằng ghép nối
Trong các phương pháp này, tiếng nói sẽ được tổng hợp từ các đoạn tiếng nói nhỏ hơn đã được lưu trữ sẵn trong cơ sở dữ liệu Đối với tiếng Việt, đó có thể là: phone, diphone, tiếng, …
2.3.1 Phương pháp tổng hợp bằng ghép nối các tiếng
Rõ ràng đây là một phương án không khả thi, đối với tiếng Việt, số lượng tiếng là rất lớn, điều này làm cho cơ sở dữ liệu phải lưu trữ là rất lớn Một nhược điểm nữa của cách làm này là giữa các tiếng sẽ không có độ trơn, do các tiếng được thu riêng biệt tại
Trang 17các thời điểm khác nhau
2.3.2 Phương pháp tổng hợp bằng ghép nối các phone
Phone: Là âm vị hay chính là đơn vị âm nhỏ nhất tạo ra tiếng nói Thông thường đối với mỗi ngôn ngữ thì mỗi chữ cái trong bảng chữ cái là một phone Trong tiếng Việt, ngoài các phone là chữ cái ra còn có các phone là tổ hợp của các chữ cái như: th; gh; kh; gi; nh; ng; ngh… Âm câm (silence) có thể coi là một phone đặc biệt Thông thường mỗi âm vị có một cách đọc riêng, tuy nhiên không phải mỗi cách đọc chỉ tương ứng với một âm vị Trong tiếng Việt, một số âm vị có cách đọc giống nhau tuy cách
viết khác nhau (chẳng hạn: ng và ngh, i và y, g và gh… )
Số lượng phone của tiếng Việt có dấu là 95 phone và cơ sở dữ liệu của ta chỉ cần bao gồm 95 phone này Có thể thấy ngay cơ sở dữ liệu nhỏ là một ưu điểm lớn của phương pháp này
Tuy vậy, chất lượng tiếng nói tổng hợp của phương pháp này lại không cao Hãy xét ví dụ cần tổng hợp câu “Hai bạn đó hát hay” Từ “hai” được ghép từ các phone
“h”, “a”, “i” Từ “hay” được ghép từ các phone “h”, “a”, “y” Rõ ràng trong cơ sở dữ liệu cách đọc các phone, “h”, “a”, “i”, “y” thì phone “i” và phone “y” có cách đọc giống hệt nhau nhưng khi ghép với các phone khác lại cho ta hai cách đọc hoàn toàn khác nhau Cách tổng hợp này đã không đạt được yêu cầu đầu tiên của một hệ thống tổng hợp tiếng nói là “tiếng nói sinh ra phải hiểu được”, nó đã làm thay đổi hoàn toàn
ý nghĩa của văn bản
2.3.3 Phương pháp tổng hợp bằng ghép nối diphone
Đây là phương pháp được phát triển từ những năm 70 của thế kỷ trước Cho tới nay, phương pháp này là một trong những phương pháp hiệu quả nhất và đã được ứng dụng rộng rãi cho nhiều ngôn ngữ
Diphone: Một diphone được bắt đầu từ điểm giữa của phone trước đến điểm giữa của phone sau trong hai phone đứng cạnh nhau của một cặp phone Với một từ có thể
có một, hai hoặc nhiều diphone Ví dụ như từ ba chỉ có một diphone là b – a nhưng từ ban có hai diphone là b – a và a – n Các từ chỉ có một phone được coi là một diphone của phone đó với âm câm, chẳng hạn từ a được coi là một diphone của asilence
Phương pháp tổng hợp diphone được thực hiện theo 4 bước:
Liệt kê tất cả các phone và các đặc tính của các phone này
Trang 18 Liệt kê tất cả các cách ghép nối các cặp phone-phone để tạo thành diphone Do có những cặp phone-phone không xuất hiện nên số lượng diphone không bao giờ quá bình phương số lượng phone
Xây dựng cơ sở dữ liệu cách đọc cho các diphone này
Ghép nối các diphone: đây chính là quá trình quan trọng nhất của phương pháp này Ở đây, thuật toán thường dùng nhất là đồng bộ điểm pitch
2.3.3.1 Điểm pitch
Điểm pitch (pitch mark) là điểm có tần số là cực đại địa phương trên một sóng
âm Dưới đây là hình ảnh ví dụ về điểm pitch trong phone /u/.[15]
Hình 4 Điểm pitch trong phone
Giữa hai diphone gần ghép nối với nhau, bao giờ ta cũng có một phone giống nhau ví dụ như “a – b” và “b – c” Việc chúng ta cần làm là chỉnh sửa sóng âm của phone “b” ở diphone thứ nhất hoặc diphone thứ hai hoặc cả hai diphone sau cho chúng
có thể chồng khít được lên nhau.[15]
Trang 19Hình 5 Ghép nối hai diphone
Việc ghép nối hai diphone có thể được thực hiện bằng thuật toán PSOLA (pitch synchronous overlap – add) được gọi là đồng bộ điểm pitch
2.3.3.2 Đồng bộ điểm pitch theo miền thời gian TD-PSOLA
Người ta đã phát triển nhiều phiên bản của thuật toán PSOLA như: TD-PSOLA (time domain pitch synchronous overlap – add), MBROLA (multi band overlap add), LP-PSOLA (linear pitch synchronous overlap – add) Tất cả các phiên bản này đều có một ý tưởng chung là sửa đổi trực tiếp sóng âm thanh mà không sử dụng các thông số nào của nó
Thuật toán TD-PSOLA được hãng truyền thông Pháp phát triển vào đầu những năm 1990 và dựa trên ý tưởng: “Nếu x(n) tuần hoàn trong khoảng [−∞, +∞] thì ta có thể tạo ra một sóng mới s(n) từ x(n) với các điểm pitch đã được dịch chuyển từ T0 về T
mà ta mong muốn Thuật toán được thể hiện bởi công thức biến đổi:
0 0
i
i i
Trang 20Hình 6 Thuật toán TD-PSOLA
Trong hình trên, tín hiệu ở phía bên trái được đã giãn ra để khớp với các điểm pitch mong muốn Các hình bên phải là biên động số tương ứng và ta có thể nhận thấy
là biên độ này không bị thay đổi
2.4 Phương pháp mô phỏng phát âm
Tổng hợp mô phỏng phát âm là các kỹ thuật tổng hợp giọng nói dựa trên mô hình máy tính của cơ quan phát âm của người và quá trình phát âm xảy ra tại đó Hệ thống tổng hợp mô phỏng phát âm đầu tiên là ASY được phát triển ở phòng thí nghiệm Haskins vào giữa những năm 1970 bởi Philip Rubin, Tom Baer, và Paul Mermelstein Tổng hợp mô phỏng phát âm đã từng chỉ là hệ thống dành cho nghiên cứu khoa học cho mãi đến những năm gần đây Lý do là rất ít mô hình tạo ra âm thanh chất lượng đủ cao hoặc có thể chạy hiệu quả trên các ứng dụng thương mại Một ngoại lệ là hệ thống dựa trên NeXT; vốn được phát triển và thương mại hóa bởi Trillium Sound Research Inc, Canada Hệ thống tạo ra một máy tổng hợp giọng nói dựa trên mô phỏng phát âm hoàn chỉnh, dựa trên mô hình ống dẫn sóng tương đương với cơ quan phát âm của người Nó được điều khiển bởi Mô hình Phần Riêng biệt của Carré; bản thân mô hình này lại dựa trên công trình của Gunnar Fant và các người khác ở Phòng thí nghiệm Công nghệ Giọng nói Stockholm thuộc Viện Cộng nghệ Hoàng gia Thụy Điển về tổng hợp giọng nói cộng hưởng tần số Công trình này cho thấy các cộng hưởng tần số trong ống cộng hưởng có thể được điều khiển bằng cách thay đổi tám tham số tương đồng với các cách phát âm tự nhiên của cơ quan phát âm của người Hệ thống bao gồm
Trang 21một từ điển phát âm cùng với các quy tắc phát âm tùy thuộc ngữ cảnh để giúp ghép nối
âm điệu và tạo ra các tham số phát âm; mô phỏng theo nhịp điệu và ngữ điệu thu được
từ các kết quả nghiên cứu ngữ âm học [18]
Để có thể thực hiện được phương pháp này đòi hỏi thời gian, chi phí và công nghệ Phương pháp này khó có thể ứng dụng tại Việt Nam trong thời điểm hiện nay
2.5 Đặc điểm của tiếng Việt
Đối với bài toán TTS, tiếng Việt so với các ngôn ngữ khác có rất nhiều thuận lợi Mỗi cách viết chỉ có duy nhất một cách đọc Tuy nhiên, một trong những khó khăn lớn nhất của tiếng Việt chính là vấn đề thanh điệu Việc mỗi nguyên âm có 6 thanh (ngang, sắc, huyền, ngã, hỏi, nặng) lại làm cho việc tổng hợp gặp những khó khăn khác Việc đọc không dấu chúng ta hầu hết có thể hiểu được nhưng như vậy vẫn có thể gây ra những hiểu lầm Tuy nhiên, nếu ta đã sinh được sóng âm cho tiếng Việt không dấu, thì ta có thể biến đổi sóng âm đó để thu được sóng âm thể hiện tiếng Việt có dấu Một âm tiết tiếng Việt khi đọc có 5 loại âm thanh: âm đầu (phụ âm), âm trung bình (bán nguyên âm), âm trung tâm (nguyên âm hoặc nguyên âm đôi), âm cuối (nguyên âm hoặc bán nguyên âm) và thanh điệu (dấu) Khi thay các thanh điệu vào cùng từ, giá trị F0 thay đổi như sau: [3]
Với thanh ngang, giá trị F0 bắt đầu lớn nhất và duy trì cho tới khi kết thúc
Thanh hỏi giá trị F0 giảm dần đến khoảng 2/3 giá trị F0 ban đầu rồi tăng trở lại
Thanh sắc giá trị F0 giữ ổn định trong khoảng 2/3 thời gian của âm tiết rồi sau đó tăng nhanh
Thanh nặng giá trị F0 giảm nhanh và thời gian kéo dài thường chỉ bằng 2/3 thời gian các thanh khác
Trang 22Dưới đây là đồ thị mô tả sự biến thiên của giá trị F0 các thanh và ví dụ với việc ghi âm chữ “chi” cùng với 6 thanh lần lượt là ngang, huyền, ngã, hỏi, sắc, nặng.[9]
Hình 7 Sự thay đổi giá trị F0 của các thanh
Hình 8 Sự thay đổi giá trị F0 khi các thanh đi với chữ "chi"
2.6 Kết luận
Với mục đích xây dựng được một hệ thống tổng hợp tiếng nói mà âm thanh thu