1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt

83 578 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 1,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong những mục tiêu quan trọng nhất của tổng hợp tiếng nói là làm sao tiếng nói tổng hợp được phải đạt đến độ tự nhiên tối đa, đồng thời để có thể áp dụng được vào nhiều lĩnh vực tr

Trang 1

Mục lục 1

MỞ ĐẦU 3

1 CHƯƠNG 1: TỔNG QUAN VỀ TIẾNG NÓI 5

1.1 Lịch sử phát triển 6

1.2 Âm và cơ chế phát âm 7

1.3 Các đặc trưng sinh học của âm: 8

1.4 Các tham số âm 10

1.5 Một số khái niệm ngữ âm 11

2 CHƯƠNG 2: XỬ LÝ TÍN HIỆU SỐ 14

2.1 Số hoá tín hiệu 15

2.2 Xác định tần số lấy mẫu tín hiệu tiếng nói 16

2.3 Biểu diễn tín hiệu số 17

2.4 Biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) 17

2.5 Các hàm cửa sổ 19

3 CHƯƠNG 3: CÁC HỆ THỐNG TỔNG HỢP TIẾNG NÓI 20

3.1 Tổng quan về tổng hợp tiếng nói 21

3.2 Các phương pháp tổng hợp tiếng nói 23

3.2.1 Tổng hợp theo cấu âm 24

3.2.2 Tổng hợp Formant theo quy luật 25

3.2.3 Tổng hợp xích chuỗi 28

3.2.4 Tổng hợp xích chuỗi sử dụng mã tiên đoán tuyến tính LPC 31

3.3 Các ứng dụng của TTS 35

3.4 Lựa chọn phương pháp tổng hợp Tiếng Việt 36

4 CHƯƠNG 4: NGỮ ÂM TIẾNG VIỆT 39

4.1 Tổng quan về ngữ âm tiếng Việt 40

4.2 Các đặc điểm của âm tiết tiếng Việt 43

4.3 Cấu trúc của âm tiết tiếng Việt 43

4.4 Thanh điệu trong tiếng Việt 45

5 CHƯƠNG 5 : XÂY DỰNG CƠ SỞ DỮ LIỆU ÂM 49

Trang 2

5.2 Ghi âm 51

5.3 Gán nhãn cơ sở dữ liệu 52

5.3.1 Gán nhãn bằng tay 53

5.3.2 Gán nhãn tự động 59

5.3.3 Thuật toán gán nhãn tự động mức âm tiết 60

5.3.4 Thuật toán gán nhãn tự động mức âm vị 61

5.4 Kết luận 61

6 CHƯƠNG 6: ÁP DỤNG P-SOLA TRONG TỔNG HỢP TIẾNG VIỆT 63

6.1 Kỹ thuật PSOLA 64

6.1.1 Phân tích tín hiệu 65

6.1.2 Tính điểm cao độ tần số cơ bản tổng hợp (epoch) 69

6.2 Làm mềm hoá biên nối 75

6.3 Kết luận 76

7 CHƯƠNG 7: CÀI ĐẶT CHƯƠNG TRÌNH 78

7.1 Lựa chọn công cụ 79

7.2 Phương pháp tổng hợp 79

7.3 Giao diện chương trình 80

7.4 Kết luận 81

ĐÁNH GIÁ KẾT QUẢ VÀ ĐỊNH HƯỚNG NGHIÊN CỨU 82

TÀI LIỆU THAM KHẢO 83

Trang 3

Mở đầu

Từ thời tiền sử đến nay, truyền thông tiếng nói vẫn là phương thức nổi trội nhất của xã hội loài người trong việc trao đổi thông tin Các từ ngữ vẫn ngày càng được mở rộng thông qua các phương tiện mang tính công nghệ như điện thoại, phim ảnh, truyền thanh, truyền hình và Internet Khuynh hướng này ảnh hưởng không nhỏ đến truyền thông bằng tiếng nói của con người

Hầu hết máy tính ngày nay sử dụng một giao diện đồ hoạ người dùng (Graphic User Interface), dựa trên giao diện thể hiện bằng đồ hoạ và các chức năng như cửa

sổ, biểu tượng, trình đơn, và con trỏ Hầu hết các hệ điều hành và các ứng dụng đều phụ thuộc vào các đáp ứng gõ phím hay nhấn chuột, sau đó hiển thị các hồi âm qua màn hình Máy tính ngày nay vẫn còn thiếu các chức năng cơ bản của con người như nói, nghe, hiểu và học Tiếng nói, được hỗ trợ bởi các phương thức tự nhiên khác sẽ là một trong những phương tiện chính để giao tiếp với máy tính Và thậm chí trước khi các giao tiếp dựa trên tiếng nói đạt đến độ thuần thục thì các ứng dụng gia đình, di động, và văn phòng kết hợp với công nghệ tiếng nói sẽ thay đổi cách thức sống và làm việc của chúng ta

Một hệ thống tiếng nói cần phải có khả năng nhận dạng và tổng hợp câu chữ Tuy nhiên nếu chỉ có 2 thành phần này cũng không đủ để tạo nên một hệ tiếng nói hữu dụng, cần phải có một thành phần hội thoại có thể hiểu được cộng với miền tri thức cho chúng để thực hiện các thao tác thích hợp Để làm được các thành phần này, còn rất nhiều thách thức đang tồn tại, như tính ổn định, linh hoạt, dễ tích hợp, hiệu quả Mục tiêu để xây dựng được một hệ tiếng nói mang tính thương mại đã thu hút nhiều nhà khoa học và các kỹ sư trên toàn thế giới

Một trong những mục tiêu quan trọng nhất của tổng hợp tiếng nói là làm sao tiếng nói tổng hợp được phải đạt đến độ tự nhiên tối đa, đồng thời để có thể áp dụng được vào nhiều lĩnh vực trong cuộc sống, nó phải có một khả năng linh hoạt, tuỳ biến theo nhiều tham số khác nhau

Trang 4

Hiện trên thế giới đã có khá nhiều thuật toán được áp dụng nhằm thoả mãn các yêu cầu này, một trong số đó là phương pháp PSOLA Trong luận văn này, tôi đã sử dụng phương pháp này để áp dụng cho tiếng Việt dựa trên những đặc thù riêng về mặt ngữ âm Qua thực nghiệm kết quả thu được là khá khả quan

Cấu trúc luận văn bao gồm 7 chương được trình bày cụ thể như sau:

Chương 1: Tổng quan về tiếng nói

Chương 2: Số hoá tiếng nói

Chương 3: Các phương pháp tổng hợp tiếng nói

Chương 4: Ngữ âm tiếng Việt

Chương 5: Xây dựng cơ sở dữ liệu âm

Chương 6: Áp dụng phương pháp PSOLA trong việc tổng hợp tiếng nói

Chương 7: Cài đặt chương trình

Kết quả đạt được của luận văn còn khiêm tốn nhưng rất đáng khích lệ Người viết mong muốn nhận được sự góp ý của các thầy cô, bạn bè và tất cả những ai quan tâm đến tổng hợp tiếng nói tiếng Việt

Tôi xin gửi lời cảm ơn chân thành nhất tới Phó Giáo sư, Tiến sĩ Lương Chi Mai, người dù bận rất nhiều công việc nhưng đã tận tình hướng dẫn tôi hoàn thành

luận văn này Xin cảm ơn các anh chị trong phòng Nhận dạng và Công nghệ tri thức

– Viện Công nghệ Thông tin, đã trực tiếp chỉ bảo, đóng góp những ý kiến quý báu Xin cảm ơn gia đình, người thân và bạn bè đã động viên, giúp đỡ tôi rất nhiều giúp tôi hoàn thành khoá học và luận văn này

Hà Nội, ngày 26 tháng 10 năm 2006

Hoàng Tiểu Bình

Trang 5

1 CHƯƠNG 1: TỔNG QUAN VỀ TIẾNG NÓI

1.1 Lịch sử phát triển 1.2 Âm và cơ chế phát âm 1.3 Các đặc trưng sinh học và vật lý của âm 1.4 Các tham số âm

1.5 Một số khái niệm ngữ âm

Trang 6

1.1 Lịch sử phát triển

Năm 1797 Christian Kratzenstein của trường đại học St Petersburg đã xây dựng một mô hình có dạng vòm họng người có thể tạo ra 5 nguyên âm (a, e, i, o và u) Sau đó nó được nó được Wolfgang von Kempelen ở Vienna, Austria phát triển thêm và gọi là Máy tạo tiếng nói dựa trên cơ chế âm học Chiếc máy này được bổ sung thêm các mô hình của môi và lưỡi, cho phát ra cả nguyên âm cũng như phụ

âm

Trong những năm 1930, Phòng thí nghiệm Bell Labs đã phát triển hệ thống VOCODER, bộ tổng hợp và phân tích tiếng nói dựa trên việc mô hình hoá cộng hưởng của ống thanh bằng linh kiện điện tử Honer Dodley đã nâng cấp hệ thống này thành VODER và được trưng bày tại hội chợ New York World's Fair vào năm

1939

Hệ thống tổng hợp tiếng nói dựa trên máy tính đầu tiên được xây dựng vào những năm 50 của thế kỷ trước và hệ thống text-to-speech đầu tiên được hoàn thành vào năm 1968 Từ đó đến nay đã có rất nhiều cải tiến về mặt công nghệ, kỹ thuật áp dụng cho tổng hợp tiếng nói, có được điều đó là nhờ khả năng tính toán của máy tính đã tăng lên gấp nhiều nhiều lần, các nghiên cứu và cơ sở dữ liệu âm thanh và tiếng nói cũng dày thêm tạo ra một kho âm thanh lớn phục vụ cho việc phân tích tiếng nói

Tổng hợp tiếng nói là một vấn đề khoa học nhận dạng liên quan đến nhiều lĩnh vực khoa học khác nhau như ngôn ngữ học, tâm lý học, toán học, xử lý tín hiệu số

và khoa học máy tính Hiện nay, trên thế giới, các nhà khoa học đã nghiên cứu và xây dựng cũng như đưa vào ứng dụng trong thực tế nhiều hệ thống với chất lượng

âm thanh đã tiến dần đến tiếng nói tự nhiên của con người Thậm chí trong một số ứng dụng nhất định, chất lượng âm thanh tổng hợp đã đạt đến độ tự nhiên như tiếng nói con người

Hiện nay tại Việt Nam, đã có nhiều cơ quan, viện nghiên cứu, các trường đại học đã có những nghiên cứu và bước đầu đã đem lại một số kết quả khả quan trong

Trang 7

vấn đề tổng hợp tiếng Việt Nghiên cứu tổng hợp tiếng Việt là một đòi hỏi tất yếu của xã hội để theo kịp xu thế của thế giới bởi đặc thù ngôn ngữ của mỗi quốc gia không cho phép chúng ta sử dụng những phần mềm có sẵn của nước ngoài trong việc đọc văn bản tiếng Việt Hơn nữa việc nghiên cứu tổng hợp tiếng Việt giúp cho

ta có được sự hiểu biết sâu hơn về ngôn ngữ và văn hoá Việt Nam, qua đó có ý thức hơn trong việc giữ gìn sự trong sáng của tiếng Việt cũng như bản sắc văn hoá của người Việt Nam

1.2 Âm và cơ chế phát âm

Âm là sóng áp lực theo chiều dọc được hình thành do việc nén và giãn các phần tử không khí theo hướng song song với nguồn năng lượng phát

Hình 1.1 Năng lượng sóng tạo ra việc nén/giãn các phân tử khí được mô tả

như hình sin, trong đó có 2 tham số quan trọng là biên độ và bước sóng Tần số [chu kỳ/giây – đơn vị là Hertz (Hz)] cũng là đơn vị để đo các dạng sóng

Tuy nhiên hình 1.1 chưa mô tả được sự biến đổi áp suất cục bộ theo thời gian,

do âm thanh không phải hình thành theo chiều ngang, các phân tử không khí chỉ dao động tại chỗ dọc theo đường mức năng lượng Tốc độ âm thanh xấp xỉ 331.5 + 0.6Tcm/s, với Tc là nhiệt độ môi trường tính theo độ Celcius

Cường độ âm là năng lượng được sóng âm truyền trong một đơn vị thời gian qua một đơn vị diện tích đặt vuông góc với phương truyền âm

Trang 8

Đối với con người, giá trị tuyệt đối của cường độ âm P là không quan trọng bằng giá trị tỷ đối của P so với một giá trị P0 nào đó Người ta định nghĩa mức cường độ âm như sau:

Mức cường độ âm (Sound Pressure Level) là giá trị tuyệt đối của cường độ âm theo dB và được đo bằng:

SPL(dB) = 20log10(P/P0)

SPL bằng 0 dB ta gọi là ngưỡng nghe (là mức cường độ âm thanh mà tai ta có thể phân biệt được) với âm thanh là 1kHz Khi ta nói chuyện cách khoảng 1 mét có mức cường độ âm là 60dB SPL, một máy khoan bê tông khoảng 120dB SPL Người

ta dùng đại lượng Watts/m2 để đo cường độ âm thanh Một người bình thường có thể nghe thấy âm thanh có cường độ 10-12 W/m2 (ngưỡng nghe – threshold of hearing hay TOH) Con người có khả năng nghe âm thanh nhỏ nhất là 0dB và lớn

nhất là 120dB Giá trị này người ta gọi là ngưỡng đau Miền từ ngưỡng nghe đến ngưỡng đau gọi là miền nghe được

Tín hiệu tiếng nói phụ thuộc vào rất nhiều yếu tố và tình trạng khí quyển xung quanh Những yếu tố thể hiện mức độ ngữ nghĩa, nó làm cho não hiểu được ý chứa đựng trong tín hiệu tiếng nói

Một đặc trưng của tín hiệu tiếng nói là độ dư thừa rất lớn, đây là điều kiện cần thiết để tiếng nói có thể truyền đi trong môi trường có nhiều tác động vào độ dư thừa này cho phép não có thể hiểu được câu nói dễ dàng hơn

1.3 Các đặc trưng sinh học của âm:

Tiếng nói được tạo bởi các sóng áp lực không khí xuất phát từ mồm hoặc mũi của người nói Trong hầu hết các ngôn ngữ trên thế giới, người ta chia âm vị thành hai lớp:

+ phụ âm: tạo thành khi luồng không khí từ phổi đi ra bị cản trở ở một điểm

nào đó, chẳng hạn sự khép chặt của hai môi khi phát âm ([b], [m]), sự tiếp xúc giữa đầu lưỡi với lợi ([t], [d]) gây nên tiếng nổ và tiếng xát và gây nên một âm thanh khó nghe

Trang 9

+ nguyên âm: ngược lại với phụ âm, nguyên âm thường được tạo thành khi

luồng không khí thoát ra ngoài một cách tự do, tạo thành một âm hưởng êm ái

Hình 1.2 Bộ máy phát âm của con người

Âm có thể còn được chia thành các nhóm nhỏ dựa trên các đặc trưng phát âm Những đặc trưng này có được nhờ cấu tạo của các cơ quan phát âm và vị trí mà chúng tiếp xúc với các thành phần khác Hơn nữa một số lượng lớn các cơ cũng tham gia vào việc định vị và chuyển động Ở trong hình này chúng ta chỉ xem xét có giới hạn đối với các cơ quan phát âm chính Ngoài ra, các thành phần tham gia vào việc phát âm còn có phổi, khí quản, thanh quản, khoang hầu (cổ họng), miệng và khoang mũi Hầu và khoang miệng tham gia tạo ra các âm hữu thanh, còn khoang mũi tạo ra các âm mũi Theo hình minh hoạ trên ta có chức năng của các cơ quan như sau:

Phổi: Nguồn cung cấp hơi trong khi nói

Dây thanh âm (thanh quản): Khi chúng kết hợp với nhau và dao động sẽ tạo ra

các âm hữu thanh, khi chúng chùng xuống hoặc căng lên tạo ra các rung động một cách định kỳ thì sẽ tạo ra âm vô thanh Vị trí các dây thanh khi kết hợp với nhau gọi

là thanh môn

Trang 10

Vòm miệng (Ngạc mềm): hoạt động như một chiếc van, khi mở cho phép không khí đi ra (gây ra tiếng vang) thông qua khoang mũi Âm thanh tạo ra là m và

n

Ngạc cứng: vùng bề mặt cứng phía trên trong mồm kết hợp với lưỡi để tạo ra

các phụ âm

Lưỡi: là bộ phận rất linh hoạt, tạo các hình dạng khác nhau với vòm miệng để

tạo ra nguyên âm, hoặc kết hợp với ngạc cứng để tạo ra phụ âm Lưỡi có thể tiến ra trước, lùi lại sau, nâng cao lên, hạ thấp xuống, do đó làm cho khoang miệng luôn thay đổi, tạo ra khoang cộng hưởng quan trọng phía trên thanh hầu

Răng: kết hợp với lưỡi để tạo ra các phụ âm khác nhau

Môi: có thể cuộn tròn hoặc căng dài ra để tạo ra các nguyên âm, hoặc đóng kín

để ngăn luồng hơi tạo ra các âm như p, b, m

1.4 Các tham số âm

Độ cao: Âm thanh phát ra bao giờ cũng ở một độ cao nhất định Mức độ cao

thấp của âm phụ thuộc vào sự chấn động nhanh hay chậm của các phần tử không khí trong một thời gian nhất định Có nghĩa là độ cao của âm phụ thuộc vào tần số dao động Tần số dao động của dây thanh quy định độ cao của giọng nói con người

Độ mạnh: Độ mạnh của âm do biên độ dao động quyết định Biên độ dao động

càng lớn âm phát ra càng mạnh Thông thường phụ âm mạnh hơn nguyên âm Độ mạnh còn được gọi là cường độ

Độ dài: Độ dài hay trường độ của âm phụ thuộc vào sự chấn động lâu hay chóng của các phần tử không khí Ví dụ trong tiếng Việt, a trong hai dài hơn a trong hay

Âm sắc: Âm sắc là bản sắc, là sắc thái riêng biệt của một âm Cùng một nốt

nhạc nhưng âm thanh của các loại đàn khác nhau sẽ có những sắc thái khác nhau

Đó là sự khác nhau về âm sắc Âm sắc khác nhau là do vật tạo ra âm sắc (chất liệu, thành phần vật lý…), cách tạo ra âm (tay, miếng gẩy…) Ngoài ra còn các yếu tố

Trang 11

môi trường, không gian ảnh hưởng đến các sự cộng hưởng hay việc truyền dẫn âm thanh

Tiếng động và tiếng thanh: Các phân tử không khí dao động có chu kỳ sẽ tạo

ra tiếng thanh, ngược lại nếu dao động không điều hoà sẽ tạo ra tiếng động Thường các nguyên âm sẽ tạo tiếng thanh, còn phụ âm sẽ tạo tiếng động

1.5 Một số khái niệm ngữ âm

Âm tố: (sound element) là đơn vị nhỏ nhất của âm thanh lời nói, được dùng để

cấu tạo nên mọi đơn vị ngôn ngữ khác Nó được thực hiện bằng một động tác phát

âm cụ thể bởi các cơ quan phát âm của người nói và được tiếp thu bởi các cơ quan thính giác của người nghe Âm tố mang đặc trưng vật lý và sinh học của cơ quan

phát âm, do đó nó mang tính tự nhiên Cùng phát âm một âm “về” trong tiếng Việt

nhưng nhiều người phát âm sẽ khác nhau, người miền Nam có thể phát âm thành

“dzề”, thậm chí một người tại mỗi thời điểm cũng có thế phát âm khác nhau Do đó

âm tố còn mang tính chất xã hội

Âm vị: (phoneme) là đơn vị tối thiểu của hệ thống ngữ âm của một ngôn ngữ

dùng để cấu tạo và phân biệt vỏ âm thanh của các đơn vị có nghĩa của ngôn ngữ Ví

dụ đối với từ ba ta có hai âm vị /b/ và /a/ Nhờ hai đơn vị này mà người ta phân biệt được với các từ khác như va, la, ca… Như vậy âm vị có chức năng cấu tạo nên vỏ

âm thanh của các đơn vị có nghĩa và phân biệt (khu biệt) vỏ âm thanh của các đơn

vị có nghĩa

Âm vị là một đơn vị trừu tượng còn âm tố là một đơn vị cụ thể Âm vị được thể hiện ra bằng các âm tố và âm tố là sự thể hiện của âm vị Âm vị là tổng thể các nét khu biệt được thể hiện đồng thời của cùng một loại âm tố và có chức năng phân biệt các đơn vị ngôn ngữ

Biến thể của âm vị: là những âm tố cùng thể một âm vị Các biến thể được

phân chia làm hai loại: các biến thể kết hợp và các biến thể tự do Biến thể kết hợp

là biến thể bị quy định bởi vị trí, bởi bối cảnh ngữ âm [c] trong cà và [c] trong củ là

hai biến thể của âm vị /c/ Biến thể thứ hai do đi trước nguyên âm tròn môi nên bị

Trang 12

môi hoá Biến thể tự do là biến thể không bị quy định bởi bối cảnh ngữ âm Từ lộng chẳng hạn, một số vùng Thanh-Nghệ phát âm từ này nghe như là lô_ộng Đó là những biến thể tự do của âm vị /o/

Âm tiết: (syllabable) là khúc đoạn âm thanh từ một chuỗi lời nói của con

người Là đơn vị phát âm nhỏ nhất được phân định tự nhiên trong tiếng nói Người

Việt thường gọi là tiếng hay tiếng một Nó được cấu tạo bởi năm (5) thành phần là thanh điệu có chức năng phân biệt các âm tiết với nhau về cao độ Âm đầu có chức năng mở đầu một âm tiết, thường là các phụ âm Âm đệm có chức năng thay đổi âm

sắc của âm tiết sau lúc mở đầu, làm trầm hoá âm tiết, thường do nguyên âm đảm

nhiệm Âm chính quyết định âm sắc chủ yếu của âm tiết, là hạt nhân của âm tiết Thành phần này là một nguyên âm Thành phần cuối cùng của âm tiết là âm cuối,

nó có thể là phụ âm trong từ kiểm, là nguyên âm trong từ soát, hoặc không có trong

từ bà

Có thể biểu diễn một âm tiết như sau [4]:

THANH ĐIỆU

ÂM ĐẦU

VẦN

Âm đệm Âm chính

Âm cuối

Ngữ điệu: (intonation) là sự chuyển động của thanh cơ bản của giọng nói, là

sự nâng cao hoặc hạ thấp giọng nói trong câu Nó mang thông tin biểu cảm của giọng nói, giúp ta phân biệt được câu thuộc loại gì Chức năng chính của ngữ điệu

là nối liền các bộ phận của lời nói lại với nhau, làm cho lời nói trở nên liền mạch

Trọng âm: (accent) là sự nêu bật một trong những âm tiết của từ bằng những

phương tiện ngữ điệu nhất định, được thực hiện bằng cách tăng cường trường độ của nguyên âm Tuy nhiên trọng âm trong tiếng Việt thường không có ảnh hưởng

nhiều đến nghĩa của từ như các ngôn ngữ khác (tiếng Anh, tiếng Nga, tiếng Pháp…)

Thanh điệu: (tone) là sự nâng cao hay hạ thấp giọng nói trong một âm tiết có

tác dụng cấu tạo và khu biệt vỏ âm thanh của từ hoặc hình vị (tiếng) Ví dụ sự khác

Trang 13

nhau giữa cà và cá là sự khác nhau về thanh điệu: âm tiết cá được phát âm cao, âm tiết cà được phát âm thấp Trong tiếng Việt có 6 thanh điệu: bằng, huyền, sắc, hỏi,

ngã, nặng

Trên đây chúng ta đã tìm hiểu một cách tổng quan về tiếng nói và ngữ âm tiếng Việt cùng các khái niệm cơ sở của nó Trong chương tiếp theo chúng ta sẽ tìm hiểu sâu hơn về tiếng nói và biểu diễn tiếng nói dưới dạng số hóa Qua đó là cơ sở

để xây dựng các bộ tổng hợp tiếng nói

Trang 14

2 CHƯƠNG 2: XỬ LÝ TÍN HIỆU SỐ

2.1 Số hóa tín hiệu 2.2 Tần số lấy mẫu 2.3 Biểu diễn tín hiệu số 2.4 Biến đổi Fourier rời rạc 2.5 Các hàm cửa sổ

Trang 15

2.1 Số hoá tín hiệu

Một trong những cách phổ biến nhất để biểu diễn tiếng nói là thể hiện nó dưới

dạng sóng Xử lý tín hiệu số đóng một một vai trò vô cùng quan trọng trong việc xử

lý ngôn ngữ nói, bao gồm tín hiệu số, biến đổi miền tần số rời rạc và liên tục, các bộ

lọc số, mối liên quan giữa tín hiệu số và tín hiệu tương tự Trong chương này chúng

ta sẽ tìm hiểu một số công thức toán học cho việc phân tích tần số, ứng dụng cho

các chương tiếp theo

Để xử lý tín hiệu tiếng nói, người ta biểu diễn chúng như là một hàm liên tục

theo thời gian, xét một hàm x a (t) là một hàm liên tục theo thời gian, nếu chúng ta

lấy mẫu tín hiệu x với chu kỳ lấy mẫu là T (ví dụ t = n.T), ta có một tín hiệu rời rạc

theo thời gian x[n] = x a (nT), ta gọi là tín hiệu số Chúng ta có thể định nghĩa một

tần số lấy mẫu F s = 1/T là giá trị nghịch đảo của chu kỳ T Ví dụ với tần số lấy mẫu

là F s = 8kHz tương ứng với chu kỳ lấy mẫu là 125 micro giây Trong một số trường

hợp, người ta có thể khôi phục chính xác tín hiệu tương tự x a (t) từ tín hiệu số x[n].

Hình 2.1 Tín hiệu tương tự và tín hiệu số

Để biểu diễn tín hiệu số, người ta dùng một công thức dạng sóng hay còn gọi

là tín hiệu hình sin:

Trang 16

x0[n] = A0cos(0n + 0)

Với A 0 là biên độ sóng, 0 là tần số góc và 0 là pha Độ đo góc của hàm

lượng giác này được tính bằng radian, do đó tần số góc 0 tương ứng với tần số

chuẩn f 0 và 0 = 2f 0 (0 f 0 1) Tín hiệu này là tuần hoàn với chu kỳ T 0 = 1/f 0

Hình 2.2 Tín hiệu hình sin với chu kỳ lấy mẫu là 25 mẫu

2.2 Xác định tần số lấy mẫu tín hiệu tiếng nói

Định lý Shannon: Một tín hiệu tương tự x(t) có dải phổ hữu hạn với giới hạn

trên là Fmax(Hz) (tức là phổ bằng 0 khi f nằm ngoài dải [-Fmax,Fmax]) Ta sẽ chỉ có thể khôi phục lại xa(t) một cách chính xác từ các mẫu x(n.Ts) nếu như:

Fs > 2Fmax hay Ts < 1/2Fmax

Do tín hiệu tiếng nói có thể trải phổ đến 12kHz nên theo định lý Shannon, tần

số lấy mẫu tối thiểu là 24kHz Nhưng để tiết kiệm các chi phí cho việc xử lý tín hiệu

số, người ta hạn chế tín hiệu tiếng nói bằng cách sử dụng một bộ lọc nhằm làm giảm giới hạn của phổ tín hiệu nhưng không làm giảm nhiều chất lượng của tiếng nói và vẫn đảm bảo được mức độ ngữ nghĩa của thông tin tiếng nói Người ta nhận thấy rằng tín hiệu điện thoại có phổ tín hiệu ở mức 3400Hz nhưng vẫn đảm bảo được chất lượng âm thanh Trong các phương pháp xử lý tín hiệu số, người ta chọn tần số lấy mẫu fe = 8000Hz Thông thường tần số này có thể biến đổi từ 6000Hz tới

Trang 17

16000Hz Đối với các tín hiệu âm thanh như âm nhạc, người ta thường chọn tần số lấy mẫu là 48kHz để biểu diễn chính xác tín hiệu

2.3 Biểu diễn tín hiệu số

Trong phần này sẽ giới thiệu một số phương pháp biểu diễn tiếng nói, những tín hiệu có nghĩa cho việc mã hóa, tổng hợp hay đoán nhận tiếng nói Vấn đề trọng tâm là việc phân tách tín hiệu tiếng nói thông qua một bộ lọc biến đổi tuyến tính theo thời gian Bộ lọc này được tạo ra từ các mô hình tạo tiếng nói dựa trên lý thuyết ngữ âm học, nó tạo ra các nguồn không khí thông qua dây thanh âm, và bộ lọc biểu diễn âm thanh như là các cơ quan phát âm Mô hình bộ lọc nguồn được biểu diễn như Hình 2.3 với e[n] được gọi là nguồn hay nguồn kích, h[n] gọi là bộ lọc và x[n] là tín hiệu tiếng nói mong muốn

Hình 2.3 Mô hình bộ lọc nguồn

Để thử nghiệm bộ lọc chúng ta đưa ra các phương pháp dựa trên các mô hình tạo tiếng nói (ví dụ như mã dự báo tuyến tính hoặc phương pháp phân tích phổ) Mỗi khi bộ lọc được thử nghiệm, nguồn âm có thể được thu bằng cách cho tín hiệu tiếng nói đi qua một bộ lọc đảo Việc tách nguồn và bộ lọc là một trong những thách thức lớn nhất trong việc xử lý tiếng nói

Việc phân loại âm vị (bằng tay hay bằng máy) đều phụ thuộc vào các đặc trưng của bộ lọc Thông thường người ta bỏ qua nguồn và chỉ tập trung vào đánh giá bộ lọc Nhiều kỹ thuật tổng hợp tiếng nói hiện nay sử dụng mô hình lọc nguồn

vì nó cho phép thay đổi trường độ và bộ lọc một cách linh hoạt Nhiều bộ mã hóa tiếng nói cũng sử dụng mô hình này vì nó cho ra một tỷ lệ bit thấp

2.4 Biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)

Biến đổi Fourier rời rạc của một tín hiệu tuần hoàn x N [n] với chu kỳ N được

định nghĩa như sau [2]:

h[n]

Trang 18

N n

N nk j N

1 N k

N nk j N

N n

Trong hình 2.4 dưới đây chúng ta xem xét một xấp xỉ của tín hiệu hình vuông tuần hoàn với chu kỳ N = 100 là tổng hợp của 19 sóng điều hòa hình sin Tần số lấy mẫu là k = 2k/100 Ở đây chúng ta chỉ sử dụng 19 hệ số X N [k] đầu tiên cho biểu

~

) / 2 cos(

] 0 [ 1

N N

N nk j N

N

2 N

X e

k X N

n

(2.3)

Hình 2.4 Tín hiệu hình vuông với chu kỳ N=100

Trong lĩnh vực xử lý số tín hiệu biến đổi Fourier chiếm vị trí hàng đầu nhờ sự tồn tại các thuật toán hiệu quả tính DFT Để tính DFT N điểm của một dãy có chiều dài hữu hạn ta có thể viết chương trình tính trực tiếp theo định nghĩa của DFT Tuy nhiên, cách tính trực tiếp làm mất nhiều thời gian và bộ nhớ máy tính, vì phải thực

hiện quá nhiều phép toán nhân và cộng (2N 2 phép tính hàm lượng giác, 4N 2 phép

Trang 19

nhân thực, 4N(N-1) phép cộng thực) và phải lưu nhiều dữ liệu trung gian Các thuật

toán biến đổi Fourier nhanh (FFT: Fast Fourier Transform) nhằm cố gắng làm giảm

số lượng phép tính và sử dụng ít bộ nhớ hơn trong cách tính trực tiếp Các thuật

toán FFT chỉ cần có Nlog2N phép tính Từ khi Cooley phát hiện ra thuật toán tính

nhanh biến đổi Fourier rời rạc vào năm 1965, các thuật toán FFT ngày càng khẳng định vai trò của nó và hiện được sử dụng rất rộng rãi trong xử lý tiếng nói

Có nhiều thuật toán FFT được đề xuất, chẳng hạn thuật toán FFT cơ số 2 (Radix-2 FFT algorithms) phân thời gian, thuật toán FFT cơ số 2 phân tần số,… Trong khuôn khổ của luận văn này, tôi xin không đưa các thuật toán này vào

vì chúng khá phổ biến trong các tài liệu về xử lý tín hiệu số hiện nay Tuy nhiên chúng ta có thể tìm hiểu thêm trong các tài liệu tham khảo của luận văn này [2]

2.5 Các hàm cửa sổ

Các hàm cửa sổ là các tín hiệu tập trung trong một khoảng thời gian (thông thường là hữu hạn) Trong các hệ thống xử lý tiếng nói, các hàm Tứ giác, Hanning, Hamming thường được sử dụng rộng rãi hơn các hàm như Tam giác, Kaiser, Barllet Các hàm cửa sổ thường tập trung vào các vùng tần số thấp, chúng được ứng dụng trong các bộ lọc số đã nói ở trên

Cửa sổ chữ nhật được định nghĩa đơn giản như sau:

Cửa sổ Hamming tổng quát hóa được định nghĩa như sau:

 

l¹i ng-îc

N 0

nÕu

) 1

Trang 20

3 CHƯƠNG 3: CÁC HỆ THỐNG TỔNG HỢP

TIẾNG NÓI

3.1 Tổng quan về tổng hợp tiếng nói 3.2 Các phương pháp tổng hợp tiếng nói 3.3 Các ứng dụng của tổng hợp tiếng nói 3.4 Lựa chọn phương pháp tổng hợp

Trang 21

3.1 Tổng quan về tổng hợp tiếng nói

Tổng hợp tiếng nói là quá trình tạo ra âm thanh tiếng nói có thể hiểu được từ tập các ký tự bất kỳ Có hai loại tổng hợp tiếng nói đó là CTS (Concept to Speech) CTS chuyển đổi từ khái niệm thành tiếng nói và TTS (Text To Speech) chuyển đổi

từ văn bản thành tiếng nói Hiện nay chủ yếu các hệ thống tổng hợp từ văn bản được nghiên cứu và ứng dụng rộng rãi trong các ngành kinh tế xã hội Vấn đề đặt ra

là xây dựng được một hệ thống có chất lượng và khả năng áp dụng vào thực tế cao Đây cũng là một đặc tính quan trọng nhất của tổng hợp tiếng nói Hiện trên thế giới

có 4 phương pháp tiếp cận trong tổng hợp tiếng nói:

+ Tổng hợp dạng sóng có miền giới hạn Trong một lĩnh vực được giới hạn,

phương pháp này tạo ra tiếng nói có chất lượng cao với một lượng dữ liệu nhỏ (âm thanh được ghi sẵn) Các hệ thống này thường được ứng dụng trong các hệ trả lời tự động và không thể tổng hợp văn bản tùy ý Các hệ thống CTS thường thích nghi với loạt ứng dụng này

+ Tổng hợp ghép nối không biến đổi dạng sóng Không giống như phương

pháp trên, tiếng nói có thể được tổng hợp từ một văn bản bất kỳ, nó có thể tạo ra nhiều câu có chất lượng tốt nhưng đồng thời cũng tạo ra nhiều câu có chất lượng trung bình

+ Tổng hợp ghép nối có biến đổi dạng sóng Các hệ thống này linh hoạt hơn

trong việc lựa chọn các phân đoạn tiếng nói để ghép nối, đồng thời do có sự thay đổi dạng sóng nên tạo ra các câu có ngữ điệu phù hợp hơn, làm giảm các câu có chất lượng trung bình do có sự thay đổi ngữ điệu Mặt khác do có sự thay đổi tính tự nhiên và thay đổi ngữ điệu của giọng nói cũng làm giảm chất lượng của tiếng nói nói chung

+ Các hệ thống tổng hợp dựa theo luật Các hệ thống này thường tạo ra các

âm thanh đều, đồng bộ, mang tính “máy” nhất trong các hệ thống kể trên

Để đánh giá chất lượng của một hệ TTS ta xem xét các yếu tố sau:

Trang 22

+ Độ trễ Thời gian cho các bộ tổng hợp bắt đầu phát âm là rất quan trọng, đối với các hệ thống tương tác thì thời gian này thường phải nhỏ hơn 200 ms

+ Tài nguyên bộ nhớ Các hệ tổng hợp theo luật thường cần bộ nhớ nhỏ nhất (khoảng 200KB) Đối với những hệ thống ghép nối, đôi khi cần đến 100 MB để lưu trữ các đoạn âm thanh được thu sẵn

+ Tốc độ tiếng nói Một số ứng dụng yêu cầu tốc độ tiếng nói có thể thay đổi được, đặc biệt là khả năng nói nhanh Khả năng này có thể được ứng dụng trong các thiết bị đọc lướt, các công cụ cho người mù vì khả năng nghe của họ là rất tốt Các

hệ thống ghép nối không biến đổi dạng sóng không thể thay đổi tốc độ câu trừ khi

nó được ghi sẵn nhiều câu với tốc độ khác nhau

+ Điều khiển cao độ Một số hệ thống đòi hỏi tiếng nói tổng hợp phải có một cao độ xác định Ví dụ như tạo ra giọng hát Và các hệ thống ghép nối không biến đổi dạng sóng không thể thay đổi cao độ trừ khi nó được ghi sẵn nhiều câu với cao

độ khác nhau

+ Đặc trưng giọng nói Các hệ thống ngôn ngữ nói sẽ yêu cầu các giọng nói khác nhau, ví dụ như robot không thể có tiếng nói tự nhiên Giọng của người nam khác với giọng của nữ giới, người già khác với người trẻ Trong các trường hợp này, các phương pháp tổng hợp dựa theo luật thường được sử dụng

Trang 23

Kiến trúc cơ bản của một hệ TTS:

Hình 3.1 Kiến trúc điển hình của một hệ tổng hợp tiếng nói

3.2 Các phương pháp tổng hợp tiếng nói

Hiện nay người ta phân các phương pháp tổng hợp tiếng nói thành ba loại chính là tổng hợp cấu âm, tổng hợp formant theo quy luật và tổng hợp xích chuỗi Các nhà khoa học về lĩnh vực này trên thế giới hiện vẫn còn tranh cãi chưa ngã ngũ về phương pháp nào là tốt nhất cho việc tổng hợp tiếng nói nói chung Và hiện việc ứng dụng nó vào thực tế còn rất hạn chế bởi chất lượng của xử lý tiếng nói vẫn chưa được như mong muốn Tuỳ vào mỗi miền ứng dụng mà các phương pháp khác nhau được sử dụng Tại Việt Nam, vẫn còn rất ít các kết quả nghiên cứu về xử

lý tiếng nói từ phân tích, nhận dạng đến tổng hợp Hiện chỉ có một số cơ quan như Viện Công Nghệ thông tin, Tổ chức MICA, Trường Đại học Đà Nẵng… có một số kết quả nghiên cứu khả quan Và càng khó hơn cho sinh viên, học sinh bắt đầu tìm hiểu về tổng hợp tiếng nói Việc đưa ra một phương pháp tổng hợp tiếng nói dưới

Hệ TTS Văn

Phân tích ngữ âm

Chuyển đổi từ vị sang âm vị

Phân tích âm điệu

Biến đổi cao độ và trường độ

Tổng hợp tiếng nói

Biến đổi tiếng nói Tiếng nói thô

Các điều khiển

Trang 24

đặc thù của ngôn ngữ tiếng Việt sẽ là một kết quả đầy ý nghĩa cho việc nghiên cứu

và triển khai các ứng dụng thực tế về hệ thống TTS cho tiếng Việt

3.2.1 Tổng hợp theo cấu âm

Tổng hợp theo cấu âm sử dụng mô hình mô phỏng sinh học Trong mô hình này tiếng nói được đặc trưng không chỉ bằng tín hiệu âm thanh mà cả bằng vị trí của các cơ quan cấu âm, sự tham gia của khoang mũi, áp suất không khí trong phổi, lực căng của dây thanh Nó bao gồm hoạt động tương tác phi tuyến giữa nguồn kích (chấn động dây thanh hoặc nhiễu loạn không khí) và trở thành kháng đầu vào và thay đổi theo thời gian của ống thanh Phương pháp này còn được gọi là tổng hợp theo mô hình hệ thống

Để xây dựng đặc trưng âm thanh của cơ quan phát âm, hệ thống phải tham số hóa được hình khối ống thanh và ống mũi, phải lựa chọn được mô hình để mô tả sự lan truyền của sóng ống thanh và mô hình hóa nguồn âm (chấn động dây thanh và dòng không khí hỗn loạn) và sự tương tác của nó với ống thanh Phương pháp này hiện nay chỉ mới hình thành trên lý thuyết, thực tế ngành khoa học phỏng sinh học chưa có thông tin đầy đủ để mô phỏng theo cấu âm

3.2.1.1 Lan truyền sóng trong ống thanh:

Trong nhiều cách tính đặc trưng truyền sóng trong ống thanh thì phương pháp

ma trận chuỗi được áp dụng nhiều nhất Ma trận chuỗi, còn được gọi là ma trận ABCD, thể hiện ống thanh ở miền tần số Với bất kỳ phần nào của ống thanh hay ống mũi ta có hệ phương trình truyền sóng như sau:

out

out

U

P K U

P x D C

B A U

P int int

(3.1)

Ma trận chuỗi K có thể thể hiện bất kỳ phần nào của bất kỳ độ dài hay mặt phẳng cắt ngang nào của ống thanh Tính các phần tử của K rất đơn giản nếu ống có mặt cắt không đổi

Trang 25

3.2.1.2 Nguyên lý tổng hợp cấu âm:

Thuật toán tổng hợp cấu âm theo mô hình cấu âm gồm các bước sau: Từ đặc

tả về các tham số cấu âm, ta tính được ma trận chuỗi từ thanh môn đến môi Sau đó tính hàm truyền và trở kháng đầu vào từ các phần tử A,B,C,D của ma trận Chuyển đổi Fourier ngược hàm truyền H và tỉ số trở kháng ta nhận được các giá trị tương ứng ở miền thời gian Sau đó tính áp suất p=ps-p1 Giá trị áp suất này tác động vào

bộ phận cộng hưởng điều khiển chuyển động dây thanh của mô hình hai khối lượng tạo ra âm thanh tiếng nói

Như vậy ngoài việc mô hình hóa cơ quan phát âm, tổng hợp theo cấu âm cần phải xây dựng hai loại quy luật là luật ngôn ngữ và luật vật lí Luật vật lí mô tả như

ở trên xác định ánh xạ cấu hình ống thanh cụ thể cho tín hiệu âm thanh, xác định mối quan hệ giữa hoạt động cấu âm và tín hiệu âm thanh tiếng nói Còn luật ngôn ngữ xác định mối quan hệ giữa mô tả ngữ âm và các hoạt động cấu âm Thông thường, luật ngôn ngữ được thực hiện cho từng âm vị Khi cấu âm cho một âm vị, luật này xác định thời điểm các cơ quan chuyển động, tốc độ chuyển động và mối quan hệ giữa cơ quan này với cơ quan khác Vì phát ra một âm vị không nhất thiết phải có sự chuyển động của tất cả các cơ quan, nên trong cùng một thời điểm cơ quan phát âm có thể được xác định cho âm vị khác Theo cách này thì tổng hợp tiếng nói theo cấu âm có thể tạo ta các giải pháp hoàn hảo cho các trường hợp ngữ

âm khó như cụm phụ âm, nguyên âm ba Hiện nay chúng ta chưa có kiến thức đầy

đủ về từng chi tiết của hai loại luật nói trên Mô hình cấu âm cũng còn đơn giản vì vậy chất lượng tiếng nói được tổng hợp theo cấu âm còn rất thấp Phương pháp tổng hợp cấu âm hiện này mới chỉ dừng ở trong phòng thí nghiệm hay các sản phẩm mẫu mà chưa được ứng dụng thực tế Các bộ tổng hợp theo cấu âm là công cụ lý tưởng để nghiên cứu về cấu âm của tiếng nói và hứa hẹn các giải pháp lâu dài và hoàn thiện nhất để tổng hợp tiếng nói giống như tiếng nói tự nhiên của con người

3.2.2 Tổng hợp Formant theo quy luật

Phương pháp tổng hợp formant có thể được phân làm hai quá trình:

Trang 26

+ Quá trình phân tích âm thanh tiếng nói để tìm ra các quy luật

+ Tổng hợp tiếng nói dựa vào bộ quy luật đã tìm được

3.2.2.1 Phân tích tìm quy luật

Quá trình phân tích được tiến hành trên CSDL tiếng nói tự nhiên, chủ yếu bao gồm các âm tiết có dạng C-V (phụ âm-nguyên âm) hay C-V-C (phụ âm-nguyên âm-phụ âm) của nhiều giọng nói CSDL này tốt nhất phải được bao phủ được tất cả các hình thái ngữ âm của một ngôn ngữ

Thuật toán tiên đoán tuyến tính LPC được sử dụng trong quá trình phân tích phổ để xác định mẫu của tần số formant, băng thông formant, tần số âm cơ bản F0

của tín hiệu tiếng nói Tần số từ F1 đến F5 và băng thông W1 đến W5 ở phần ổn định của các âm tố được lưu giữ dưới dạng bảng Đó là các giá trị đích để tạo ra một

âm vị Trong tiếng nói, phần mang thông tin được quan tâm nghiên cứu nhiều hơn

là các phần chuyển tiếp giữa các âm vị từ nguyên âm sang phụ âm và ngược lại

(C-V và (C-V-C) Tần số formant chuyển tiếp từ âm vị này sang âm vị kia được mô hình hóa và tạo thành các quy luật tổng hợp cho kỹ thuật tổng hợp formant và sự chuyển tiếp của các formant từ âm vị này sang âm vị khác Hệ thống quy luật gồm có:

Trang 27

+ Luật để xác định vị trí đích của các formant của mỗi âm vị trong một ngữ lưu cũng như thời gian tồn tại của các vị trí đó

+ Luật để làm trơn các formant đích

+ Luật để chuyển đổi các hàm thời gian thành dạng sóng âm thanh

Hệ thống tổng hợp formant sẽ căn cứ vào các tham số điều khiển từ bảng tra cứu và cùng với các thuật toán được xây dựng cho sự chuyển tiếp là các tín hiệu điều khiển bộ tổng hợp để tạo ra các âm đoạn tính

Tổng hợp formant được phân loại theo cấu hình mắc các bộ cộng hưởng song song hay nối tiếp Hàm truyền của bộ tổng hợp khi mắc nối tiếp bộ cộng hưởng tương tự như hàm truyền ống thanh Vì vậy bộ tổng hợp với các bộ cộng hưởng mắc song song sẽ tạo ra cho các âm tắc, âm xát và âm mũi một chất lượng âm thanh tốt hơn

Một hệ thống tiêu biểu như vậy là phần mềm Klatt bao gồm việc nối song song và nối tiếp các bộ cộng hưởng với nhau tạo ra một hệ thống tổng hợp formant khá hoàn chỉnh Phương pháp này sử dụng các giá trị đích của tham số điều khiển

và thuật toán để tính toán sự chuyển tiếp Các giá trị đích cho mỗi âm vị không chỉ nhận được từ bảng tra còn được tính theo luật về vị trí, cách cấu âm và ngữ cảnh của các âm vị đó, các hằng số thời gian cho sự chuyển tiếp được tính từ các luật về

Bộ tạo

xung tuần

hoàn

Mô hình xung thanh quản G(z)

A(v)

Mô hình xung thanh quản G(z)

A(n)

Mô hình ống thanh V(z)

Mô hình tán xạ V(z)

Hình 3.3 Mô hình tuyến tính tạo tiếng nói

Trang 28

thông tin ngữ cảnh Ba formant và băng thông của nguyên âm, bán nguyên âm và nguyên âm đôi được chuyển cho phần tổng hợp nối tiếp Hệ thống còn xác định thêm sáu tham số phụ âm khác để điều khiển phần cộng hưởng mắc song song khi tổng hợp âm tắc, âm xát, âm tắc xát (xem thêm [2], trang 787-789)

3.2.3 Tổng hợp xích chuỗi

Nghiên cứu về tổng hợp tiếng nói và cách xích chuỗi các đơn vị âm được khởi đầu từ những năm đầu 50 thế kỉ trước Harris trong công trình tiên phong "để xây các khối tiếng nói” đã đề xuất tổng hợp tiếng nói bằng cách xích chuỗi các đơn vị

âm cơ sở Nguyên tắc này vẫn còn là nền tảng cho các hệ thống xích chuỗi hiện nay

Hệ thống tổng hợp xích chuỗi hoàn chỉnh đầu tiên do Josph Olive phát triển và được trình diễn năm 1997 Phương pháp xích chuỗi thoát khỏi sự không phù hợp của các hệ thống sử dụng luật bằng cách loại bỏ sự không cần thiết của một số luật, thậm chí là tất cả các luật Để thực hiện điều này, cách hiệu quả nhất là lưu trữ trong kho dữ liệu không phải hệ thống quy luật mô tả các đơn vị hay các quy luật của các tham số để tạo ra đơn vị âm mà trực tiếp từng đoạn âm của âm thanh tiếng nói

Trang 29

Phương pháp tổng hợp xích chuỗi mang nhiều tính công nghệ, được quyết định bởi sự phát triển của máy tính So sánh về chất lượng trong các phương pháp

đã nói trên thì tổng hợp xích chuỗi hiện nay đã thành công nhất trong việc tạo ra tiếng nói không chỉ để nghe mà còn đạt được độ tự nhiên gần với tiếng nói của con người hơn cả Phần lớn các hệ thống TTS chất lượng cao cho các ngôn ngữ có trên thị trường hiện nay đều sử dụng phương pháp tổng hợp xích chuỗi

Khi xây dựng một hệ thống tổng hợp xích chuỗi, tiếng nói chứa tập hợp các đơn vị âm thanh cơ bản của một ngôn ngữ, thông thường tương ứng với một chuỗi ngắn các âm vị có lựa chọn được đọc, ghi âm và lưu giữ trong CSDL Các đơn vị

âm được lựa chọn, phân tích các tham số đặc trưng và sau đó có thể được mã hóa

Tạo âm thanh

Phân tích tín hiệu

Mã hoá

Giải mã

Tạo danh sách âm đoạn

Xử lí ngữ điệu

Xích chuỗi

Tiếng nói

Văn bản Phân tích

Tổng hợp

Tổng hợp

Hình 3.4 Mô hình qui trình tổng hợp tiếng nói theo xích chuỗi

Trang 30

bằng một phương pháp mã hóa tiếng nói nào đó tạo thành các mẫu cho một đơn vị

âm thanh Các mẫu hoặc các tham số phân tích của chúng được lưu giữ lại trong kho dữ liệu đơn vị tổng hợp

Khi tổng hợp một phát ngôn mới, cho trước mô tả ngữ âm của phát ngôn đó,

hệ thống sử dụng các quy luật để định vị đơn vị thích hợp, truy xuất chúng ra khỏi kho dữ liệu và xích chuỗi chúng lại với nhau Thông thường một hệ thống tổng hợp xích chuỗi có ít nhất một hoặc hai mẫu cho mỗi một đơn vị cơ bản Do các tham số

và cao độ tần số cơ bản, độ dài và cường độ của các đơn vị này rất khác nhau (chúng chỉ được trích ra từ tín hiệu tiếng nói trong các ngữ cảnh khác nhau) cho nên khi tổng hợp, hệ thống tổng hợp xích chuỗi phải thực hiện hai công việc:

- Một là phải thay đổi các tham số siêu đoạn tính của các đơn vị để tiếng nói tổng hợp thể hiện được ngữ điệu thích hợp như mong muốn

- Hai là phải thực hiện việc lựa chọn hay thay đổi các đặc tính của âm đoạn đơn vị tại các biên ghép nối của chúng sao cho việc ghép nối là mịn nhất để bảo đảm chất lượng âm thanh tổng hợp tạo ra gần với tiếng nói tự nhiên

Giả sử hai âm đoạn được xích chuỗi là L và R Chúng ta xem xét tập hợp P của các tham số {p1, p2,…,pn}, các giá trị PL0 là ở điểm cuối cùng của đoạn L và PR0

là điểm đầu tiên của đoạn R Làm trơn được thực hiện tuyến tính phân bố đều khoảng cách (PL0 -PR0) cho số ML vectơ {PL-(ML-1), ,PL-1,PL0} của đoạn L và MR

vectơ { PL0,PL1 ,…,PL(ML-1)} Với P’ là tham số sau khi làm trơn thì nội suy được bằng công thức tính như sau:

L

L L R L

i M P P P

P

2

) (

) (

j R

j

L

M

M P P P

P

2

) 1 ( ) (

Trang 31

- Sự lựa chọn tập âm vị cơ bản Trong đó ngữ âm của ngôn ngữ tổng hợp là yếu tố chính quyết định loại đơn vị cơ bản

- Chất lượng âm thanh và mức độ bao phủ các tổ hợp âm đoạn cần thiết cho một ngôn ngữ của CSDL âm

- Khả năng cung cấp các tham số về ngữ điệu như đường nét tần số cơ bản, cường độ âm thanh và độ dài các âm cho bộ tổng hợp Các tham số này được tiên đoán trong phần xử lí ngôn ngữ của bộ tổng hợp từ văn bản

- Khả năng thay đổi tần số cơ bản F0 và độ dài các đơn vị âm cơ bản phù hợp với ngữ điệu được mô tả ở đầu vào của bộ tổng hợp mà không ảnh hưởng đến chất lượng cảm thụ của âm đó

- Thuật toán xích chuỗi mà mô hình tín hiệu cho phép dễ dàng làm trơn hai điểm ghép nối của các âm đoạn được xích chuỗi

Chính vì hai yếu tố sau nên một số hệ thống tổng hợp xích chuỗi thực hiện mã hóa tham số tiếng nói Với các thể hiện bằng tham số, đặc trưng phổ của ngữ điệu của tiếng nói được thay đổi dễ dàng hơn mà không thay đổi đặc tính nhận dạng âm đơn vị cơ bản Phương pháp mã hóa tham số đặc trưng nhất là mã hóa tiên đoán tuyến tính LPC và các biến thể của chúng

3.2.4 Tổng hợp xích chuỗi sử dụng mã tiên đoán tuyến tính LPC

Lý thuyết mã tiên đoán tuyến tính LPC đã được áp dụng rất thành công vào các kỹ thuật xử lí tiếng nói từ nhiều năm nay không chỉ trong phân tích nhận dạng

mà còn cả trong tổng hợp tiếng nói

3.2.4.1 Mô hình LPC

Ý tưởng cơ bản của mô hình LPC là một mẫu tiếng nói s(n) ở thời điểm n, được xấp xỉ bằng tổng tuyến tính có trọng số của p mẫu trước nó với công thức: s(n) a 1 s(n-1)+a 2 s(n-2)+…+a p s(n-p) (3.4) Trong đó a1, a2,…, ap được giả thiết là các hằng số trong khung thời gian tiến hành phân tích và còn được gọi là hệ số tiên đoán tuyến tính LPC

Thay đổi công thức này bằng cách thêm nguồn kích Gu(n), ta có:

Trang 32

1

) ( ) ( )

z

S

1

) ( )

( )

Và hàm truyền

) (

1 1

1 )

(

) ( )

(

1

z A z a z

GU

z S z

i

i i

Từ công thức này có thể xây dựng mô hình tiên đoán tuyến tính nhƣ sau :

Theo mô hình này, nguồn kích u(n) đƣợc khuếch đại với hệ số G là đầu vào tác động vào một hệ thống lọc toàn cục có hàm truyền

) (

1 )

(

z A z

sẽ tạo ra tiếng nói

Nguồn kích là bộ tạo tần số cơ bản cho các âm hữu thanh hay tạo nhiễu ngẫu nhiên cho âm vô thanh Từ đó, mô hình tổng hợp tiếng nói dựa trên LPC đƣợc thể hiện nhƣ hình 3.5 Các tham số thay đổi chậm theo thời gian để điều khiển mô hình bao gồm một bit để phân biệt âm hữu thanh/vô thanh; chu kỳ cao độ tần số cơ bản

F0 cho âm hữu thanh, hệ số khuếch đại G và các hệ số tiên đoán tuyến tính của bộ lọc thay đổi theo thời gian {ap} Quá trình LPC thực tế là để tính các hệ số của mô hình này

Trang 33

3.2.4.2 Xác định hệ số LPC

Dựa trên cơ sở mô hình tổng hợp LPC, ta có mối quan hệ giữa s(n) và u(n) như sau :

) ( ) ( )

(

1

n Gu k n s a n

s

1

)(

n s n s n s

n

e

1

) ( )

( ) (

~ ) ( )

S

z E z A

1

1 ) (

) ( )

theo thời gian, hệ số tiên đoán ở thời điểm n phải tính từ các đoạn âm xung quanh

của thời điểm đó Chính vì vậy hướng tiếp cận là tìm các tập hệ số tiên đoán sao cho sai số trung bình bình phương ở khung thời gian đó là nhỏ nhất

Bộ tạo xung

Bộ tạo xung

Bộ lọc số thay đổi theo thời gian

Tham số ống thanh

Vô thanh Hữu thanh

G

u(n)

s(n)

F

0

Hình 3.6 Mô hình tổng hợp LPC

Trang 34

Ta định nghĩa tiếng nói thời gian ngắn và sai số ở thời điểm n là :

) ( )

(

) ( )

(

m n e

n

e

m n s

) ( )

(

p

k k n n

( )

0

i R m s i m

) ( ) (

) ( )

( )

Hệ phương trình tuyến tính trên có thể viết lại thành :

Trang 35

1

) ( ˆ )

Hay dưới dạng ma trận :   R(i)  R(ik)ai (3.21)

Vì là các hàm tự tương quan nên ta có R(i-k)=r(k-i) Ma trận [R(i-k)] là đối xứng, tất cả các phần tử của trục đối xứng bằng nhau Đó chính là dạng của ma trận Toplitz Do vậy tính các hệ số tiên đoán trở nên đơn giản hơn nhiều Đây là phương pháp tự tương quan để tính hệ số tiên đoán tuyến tính

3.2.4.3 Tổng hợp tiên đoán tuyến tính

Quá trình tổng hợp tiên đoán tuyến tính được thực hiện theo hình 3.6 phần trên Một vấn đề cần phải giải quyết khi tổng hợp lại tín hiệu tiếng nói là xác định

hệ số khuếch đại G sao cho biên độ tín hiệu tổng hợp có mức gần như biên độ tín

hiệu nguyên thuỷ Có thể tính được G từ giá trị bình phương của e(m) trong khoảng m=0 và m=M theo công thức sau :

n M

m

n m E e

n R a R i

E

1

) ( )

0

Phương pháp LPC thực hiện việc thay đổi ngôn điệu một cách trực tiếp tương đối mềm dẻo Tần số âm cơ bản là một tham số hiện cho mô hình tổng hợp LPC Việc thay đổi cao độ tần số cơ bản được thực hiện bằng cách thay đổi tần số cơ bản

F0 như mong muốn trước khi đưa vào lọc Độ dài được thay đổi bằng cách cập nhật các tham số cho bộ tổng hợp tiếng nói theo tần số nhanh hơn với tần số phân tích khi giảm độ dài và chậm hơn khi kéo dài âm đó ra

3.3 Các ứng dụng của TTS

TTS được sử dụng cho nhiều ứng dụng khác nhau Một số lĩnh vực áp dụng chính của TTS như sau:

Trang 36

Các dịch vụ viễn thông: Các hệ thống TTS đã được sử dụng chính thức trong

ứng dụng trả lời tự động trực tuyến trên nhiều mạng viễn thông hiện đại Tiêu biểu

là dự án MIVA với các dịch vụ điện thoại kích hoạt bằng âm thanh đa ngữ trực tuyến Các hệ thống thông tín tích hợp có khả năng đọc tự động nội dung các thư điện tử, nội dung các bức fax và các thông tin trên Internet qua máy điện thoại cố định và di động thông thường Truy cập thông tin, CSDL qua điện thoại và tự động tra cứu danh bạ điện thoại hai chiều

Giáo dục ngôn ngữ: Một bộ TTS chất lượng cao có thể được tích hợp với

một hệ thống học được hỗ trợ máy tính qua đó cung cấp một công cụ hữu ích để học một ngôn ngữ mới

Hỗ trợ người khuyết tật: Những người mù có thể được lợi nhiều qua các hệ

thống TTS Họ nhận được các thông tin cần thiết và nếu được phối hợp với một hệ thống quang học nhận dạng chữ viết OCR thì khả năng truy cập thông tin càng cao hơn

Sách điện tử và đồ chơi biết nói: Đây là một thị trường rộng lớn cho các nhà

sản xuất Thực tế đã có nhiều loại đồ chơi kiểu này xuất hiện

Đa phương tiện, giao tiếp người-máy: Trong một thời gian dài, sự phát triển

của các hệ thống TTS chất lượng cao là một bước cần thiết về phía trung gian thông tin giữa con người và máy tính hoàn thiện hơn Đa phương tiện là một sự chuyển dịch đầu tiên và đầy hứa hẹn theo hướng này

3.4 Lựa chọn phương pháp tổng hợp Tiếng Việt

Qua việc tìm hiểu các phương pháp tổng hợp tiếng nói trên ta có thể rút ra một

số nhận xét sau:

+ Tổng hợp theo cấu âm về lý thuyết là một phương pháp rất tốt bởi khả

năng mô phỏng của nó, tuy nhiên điểm hạn chế là chúng ta chưa thể tham số hoá được tất cả các cơ quan phát âm của con người do đó cần phải có các nghiên cứu sâu hơn của các nhà sinh học

Trang 37

+ Tổng hợp Formant theo quy luật có đặc điểm là gọn nhẹ và khá linh hoạt,

nó có thể tạo ra được tiếng nói tương đối chuẩn với một số tham số hạn chế Dễ dàng trong việc tạo ra nhiều tiếng nói khác nhau và các hiệu ứng âm thanh Việc sử dụng các quy luật cảm ngữ cảnh có thể nâng cao chất lượng của bộ tổng hợp Mặc

dù vậy tiếng nói tạo ra từ phương pháp này nghe vẫn chưa được tự nhiên Mặt khác

để xây dựng được bộ tham số cho ngữ âm tiếng Việt là một công việc quá lớn mà một sớm một chiều không thể có kết quả ngay được Hệ thống MITALK là một quá trình làm việc hơn 10 năm trời của cả một tập thể các nhà nghiên cứu của trường đại học MIT trước khi có được kết quả khả quan

+ Tổng hợp xích chuỗi sử dụng LPC có cấu trúc đơn giản hơn so với tổng

hợp formant theo luật, vì tất cả các đặc tính phổ của tiếng nói (trừ tần số cơ bản) đều được chứa trong các hệ số LPC và được tính toán tự động khi phân tích tiếng nói tự nhiên Nguồn kích khi tổng hợp bao gồm hệ số khuếch đại, bit xác định vô thanh hữu thanh, giá trị tần số âm cơ bản F0 cho các âm hữu thanh và nguồn nhiễu ngẫu nhiên cho các âm vô thanh Bằng phương pháp LPC ta có thể xây dựng được các thủ tục phân tích tự động đơn giản hơn Bộ tổng hợp bằng LPC có cấu trúc cũng đơn giản hơn so với tổng hợp theo formant Đồng thời nó cũng là một phương pháp

mã hoá hiệu quả cao nên các bộ tổng hợp xích chuỗi sử dụng mã tiên đoán tuyến tính LPC không cần nhiều về dung lượng bộ nhớ Đây là một đặc điểm được quan tâm khi xây dựng hệ thống trên các nền tảng có tài nguyên nhớ hạn chế

Để tổng hợp tiếng Việt với số từ không hạn chế và đạt được độ tự nhiên cần thiết đủ để ứng dụng trong thực tiễn, phương pháp tổng hợp xích chuỗi có tính khả thi cao và hiện cũng được áp dụng trên nhiều ngôn ngữ khác nhau Phương pháp tổng hợp xích chuỗi miền thời gian cho phép ghép nối các đơn vị âm được lưu giữ trực tiếp dưới dạng sóng của tiếng nói tự nhiên, âm thanh không bị mã hoá nên rất trung thực Đồng thời khi lưu trữ âm vị dưới dạng sóng sẽ giảm được quá trình mã hoá và giải mã, cho phép tổng hợp thời gian thực trên máy tính PC thông thường mà không cần đến các mạch xử lý tín hiệu chuyên dụng Vấn đề đặt ra là phương pháp này nếu giải quyết được bài toán làm trơn biên nối và có khả năng thay đổi các

Trang 38

tham số về ngữ điệu âm đơn vị theo ngữ cảnh sẽ có thể tạo ra được chất lượng âm thanh tổng hợp cao nhất

Một lợi điểm nữa của phương pháp này là nó giữ nguyên được giọng nói của người cung cấp các đơn vị âm Đây cũng là một điều đáng quan tâm bởi khả năng ứng dụng thực tiễn của nó trong việc lưu trữ tiếng nói trong một số trường hợp đặc biệt

Trang 39

4 CHƯƠNG 4: NGỮ ÂM TIẾNG VIỆT

4.1 Tổng quan về ngữ âm tiếng Việt 4.2 Các đặc điểm của âm tiết tiếng Việt 4.3 Cấu trúc của âm tiết tiếng Việt 4.4 Thanh điệu trong tiếng Việt

Trang 40

Việc xây dựng bộ tổng hợp tiếng nĩi địi hỏi phải thấu hiểu được ngữ âm tiếng Việt để từ đĩ trích chọn ra các đặc trưng ngữ âm, các quy luật ngữ điệu để thiết lập nên một bộ tham số thích hợp cho việc tổng hợp tiếng Việt

Với mỗi phương pháp tổng hợp tiếng nĩi yêu cầu các đặc trưng âm học về phổ, formant, tần số cơ bản, cường độ và độ dài của các âm tiết khác nhau Một ngữ đoạn khơng chỉ đơn thuần là việc ghép nối các đơn vị âm một cách rời rạc mà cịn cần phải cĩ các nghiên cứu về thanh điệu và độ dài của tiếng Việt trong từng ngữ lưu, đảm bảo tính tự nhiên của tiếng nĩi khi tổng hợp

4.1 Tổng quan về ngữ âm tiếng Việt

Tiếng Việt thuộc loại đơn âm (phonologically monosyllabic) bao gồm nguyên

âm V (vowel sound) và phụ âm C (consonant sound) được kết hợp thành ba hình thức CV, CVC hoặc VC:

- Hình thức CV (phụ âm + nguyên âm): ca [ca], ghe [ge], nghe [Ne]

- Hình thức CVC (phụ âm + nguyên âm + phụ âm): can [can], ghềnh [gè], nghếch [Nec]

- Hình thức VC (nguyên âm + phụ âm): an [an], anh [à], uyên [uIn]; ung

[uNm]

Ngữ âm tiếng Việt cĩ vẻ rắc rối hơn về hình thức so với tiếng Anh, tiếng Pháp, nghĩa là cần phải nhớ ngay từ đầu những nguyên âm (vowel sounds), âm đơi (diphthongs), và âm ba (triphthongs) Nhưng về lâu dài, hệ thống này trở thành đơn giản và dễ dàng cho người sử dụng hơn so với hệ thống ngữ âm tiếng Anh Hệ thống ngữ âm của tiếng Việt là cĩ quy tắc do đĩ người ta cĩ thể suy ra một từ chưa biết từ các từ tương tự (giống với tiếng Nga) Trong khi người Anh-Mỹ suốt đời vẫn

cĩ những chữ khơng biết đọc Mỗi lần như vậy họ phải dùng tự điển để tra cứu Tiếng Việt tương đối ổn định về phương diện ngữ âm (phonologically

consistent), nghĩa là chữ a đọc thành âm [a] ở mọi nơi nĩ xuất hiện, chứ khơng biến

đổi khơng theo quy luật như tiếng Anh

Ngày đăng: 25/03/2015, 09:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] An Introduction to Text-to-Speech Synthesis by Thierry Dutoit, Kluwer Academic Publishers Khác
[2] Spoken Language Processing - A Guide to Theory, Algorithm and System Development (2001). XueDong Huang, Alex Axero, Hsiao Wue Hon Khác
[3] Building Synthesis Voice – Alan W Black and Kevin A.Lenzo. Tài liệu tiếng Việt Khác
[4] Nhập môn ngôn ngữ học, Vũ Ngọc Cân, Lê Đình Tư, Trường Đại học Ngoại ngữ Hà Nội Khác
[5] Gán nhãn âm vị trong quá trình xây dựng cơ sở dữ liệu tiếng Việt. Đặng Ngọc Đức. Công ty liên doanh thiết bị viễn thông Alcatel Khác
[6] Ứng dụng mô hình nguồn âm và bộ lọc của quá trình tạo tiếng nói để khảo sát nguồn âm có mang tính thanh điệu và dạng tuyến âm một số nguyên âm tiếng Việt. Phan Quốc Thắng, Trịnh Đăng Khánh - Học viện Kỹ thuật Quân sự Khác
[7] Một số phương pháp Nâng cao chất lượng hệ thống Tổng hợp tiếng Việt V-Talk. KS. Trịnh Anh Tuấn.Tài liệu trực tuyến Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Năng lƣợng sóng tạo ra việc nén/giãn các phân tử khí đƣợc mô tả - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 1.1. Năng lƣợng sóng tạo ra việc nén/giãn các phân tử khí đƣợc mô tả (Trang 7)
Hình 1.2 Bộ máy phát âm của con người - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 1.2 Bộ máy phát âm của con người (Trang 9)
Hình 2.1 Tín hiệu tương tự và tín hiệu số - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 2.1 Tín hiệu tương tự và tín hiệu số (Trang 15)
Hình 2.2 Tín hiệu hình sin với chu kỳ lấy mẫu là 25 mẫu. - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 2.2 Tín hiệu hình sin với chu kỳ lấy mẫu là 25 mẫu (Trang 16)
Hình 2.4 Tín hiệu hình vuông với chu kỳ N=100 - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 2.4 Tín hiệu hình vuông với chu kỳ N=100 (Trang 18)
Hình 3.1 Kiến trúc điển hình của một hệ tổng hợp tiếng nói - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.1 Kiến trúc điển hình của một hệ tổng hợp tiếng nói (Trang 23)
Hình 3.2 Qui trình tổng hợp tiếng nói theo qui luật - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.2 Qui trình tổng hợp tiếng nói theo qui luật (Trang 26)
Hình 3.3. Mô hình tuyến tính tạo tiếng nói - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.3. Mô hình tuyến tính tạo tiếng nói (Trang 27)
Hình 3.4 Mô hình qui trình tổng hợp tiếng nói theo xích chuỗi - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.4 Mô hình qui trình tổng hợp tiếng nói theo xích chuỗi (Trang 29)
Hình 3.5 Mô hình tiên đoán tuyến tính tiếng nói - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.5 Mô hình tiên đoán tuyến tính tiếng nói (Trang 32)
Hình 3.6 Mô hình tổng hợp LPC - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 3.6 Mô hình tổng hợp LPC (Trang 33)
Hình 4.2 Các thanh điệu trong tiếng Việt (từ trái qua: ngang, huyền, ngã, hỏi, sắc, nặng) - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 4.2 Các thanh điệu trong tiếng Việt (từ trái qua: ngang, huyền, ngã, hỏi, sắc, nặng) (Trang 46)
Hình 4.1 Biểu đồ thanh điệu - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 4.1 Biểu đồ thanh điệu (Trang 46)
Hình 5.1 : Biểu đồ sóng (trên), biểu đồ phổ (giữa) và kết quả gán nhãn mức âm vị và  mức âm tiết của 2 từ &#34;tổng hợp&#34; - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Hình 5.1 Biểu đồ sóng (trên), biểu đồ phổ (giữa) và kết quả gán nhãn mức âm vị và mức âm tiết của 2 từ &#34;tổng hợp&#34; (Trang 54)
Sơ đồ khối thuật toán gán nhãn tự động - Áp dụng phương pháp PSOLA trong tổng hợp tiếng nói tiếng Việt
Sơ đồ kh ối thuật toán gán nhãn tự động (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w