Xử lý tiếng nói bằng Matlab

Lời đầu tiên tôi xin được cảm ơn tập thể các thầy cô của trường Đại học Bách Khoa, các thầy cô của khoa Điện – Điện tử và các thầy cô ở bộ môn Tự động vì đã tận tình chỉ dạy và trang bị cho tôi những kiến thức cần thiết đề làm nền tảng cho việc thực hiện luận văn cũng như những kinh nghiệm quý báu để tôi vững tin hơn trong môi trường làm việc sau này.

Xin chân thành cảm ơn thầy............. và các thầy ở bộ môn Tự động đã tận tình giúp đỡ tôi định hướng, góp ý và cung cấp ý tưởng cũng như tài liệu tham khảo trong thời gian làm luận văn.

Ngoài ra, tôi xin được gửi lời cảm ơn chân thành đến gia đình và bạn bè – những người luôn ở bên cạnh động viên tôi về vật chất lẫn tinh thần và hỗ trợ tôi hoàn thành luận văn này.

Mặc dù đã cố gắng hoàn thành tốt công việc đề ra nhưng do hạn chế về kiến thức, linh kiện và thời gian thực hiện nên luận văn không thể tránh khỏi những thiếu sót. Tôi rất mong nhận được những lời đóng góp, phê bình của các thầy cô và các bạn.

Tiếng nói là một phương tiện trao đổi thông tin tiện ích vốn có của con người. Ước mơ về những “máy nói”, “máy hiểu tiếng nói” đã không chỉ xuất hiện từ những câu chuyện khoa học viễn tưởng xa xưa mà nó còn là động lực thôi thúc của nhiều nhà nghiên cứu, nhóm nghiên cứu trên thế giới. Tuy vậy, việc có được một “máy nói” mang tính tự nhiên cũng như một “máy hiểu tiếng nói” thực thụ vẫn còn khá xa vời. Chính vì thế, việc nắm bắt được các kỹ thuật cơ bản cũng như các công nghệ tiên tiến cho việc xử lý tiếng nói là thực sự cần thiết.

Hệ thống nhận dạng tiếng nói (Automatic Speech Recognition – ASR) có được những ứng dụng tuyệt vời trong nhiều lĩnh vực của đời sống, nhất là lĩnh vực giao tiếp người máy (Human Machine Interface) nếu được áp dụng thành công.

  • Cải thiện hiệu quả nhập thông tin (nhập bằng tiếng nói nhanh gấp 2 lần nhập bằng gõ phím)
  • Những ứng dụng mà ít sử dụng đến đôi tay (phòng tối, buồng lái,…)
  • Giúp cho người khiếm thị dễ dàng giao tiếp với bộ thiết bị
  • Lĩnh vực chuyển đổi tín hiệu: Chuyển đổi lời nói thành văn bản
  • Lĩnh vực nhận diện: Hệ thống mật mã giọng nói
  • Các lĩnh vực khác trong y tế, quân sự

Hiện nay trên thế giới đã có rất nhiều nghiên cứu và thử nghiệm về hệ thống nhận dạng tiếng nói và đạt được những thành tựu như: Via Voice Mellennium (IBM), Via Voice Standard (IBM), CSLU, HTK Toolkit,… nhận dạng tiếng Anh, một số hệ thống nhận dạng tiếng nói của các ngôn ngữ khác như Trung Quốc, Ý, Đức,…

Ở Việt Nam có 2 trung tâm lớn nghiên cứu lĩnh vực xử lý tiếng nói và tiếng Việt là: Viện công nghệ thông tin và Trung tâm nghiên cứu quốc tế thông tin đa phương tiện, truyền thông và ứng dụng (MICA)-ĐH Bách Khoa Hà Nội. Ngoài ra còn có các luận án tiến sỹ, thạc sỹ trong nước liên quan đến vấn đề xử lý tiếng nói.

Nhiệm vụ của luận văn này là nghiên cứu và thực hiện các giải thuật tách từ, trích đặc trưng tiếng nói, thực hiện việc huấn luyện và nhận dạng tiếng nói tiếng Việt dùng phương pháp mô hình Markov ẩn kết hợp với phương pháp lượng tử vector, đồng thời xây dựng mô hình điều khiển thực tế mang tính thực nghiệm cho đề tài.

TRANG BÌA.. i

LỜI CẢM ƠN.. ii

TÓM TẮT LUẬN VĂN.. iii

MỤC LỤC.. iv

DANH SÁCH HÌNH VẼ.. vii

DANH SÁCH CÁC TỪ VIẾT TẮT. ix

CHƯƠNG 1. 1

1.1        Nhận dạng. 1

1.2        Tiếng nói 2

1.2.1        Nguồn gốc của tiếng nói 2

1.2.2        Phân loại tiếng nói 3

1.3        Cơ chế tạo ra tiếng nói và thu nhận tiếng nói 3

1.3.1        Cấu tạo của hệ thống cấu âm.. 3

1.3.2        Cấu tạo của hệ thống tiếp âm.. 5

1.4        Nhận dạng tiếng nói 8

1.4.1        Xử lý âm thanh. 9

1.4.2        Phân loại nhận dạng tiếng nói 9

1.4.3        Hệ thống nhận dạng tiếng nói tự động. 12

1.4.4        Lý thuyết nhận dạng tiếng nói 13

CHƯƠNG 2. 18

2.1        Xử lý số tín hiệu. 18

2.1.1        Lấy mẫu tín hiệu. 18

2.1.2        Dãy xung. 21

2.1.3        Biến đổi Fourier 21

2.1.4        Biến đổi cosin rời rạc. 23

2.1.5        Các bộ lọc. 24

2.1.6        Cửa sổ tín hiệu. 25

2.2        Xác suất và quá trình ngẫu nhiên. 30

2.2.1        Cơ sở xác suất 30

2.2.2        Biến ngẫu nhiên. 31

2.2.3        Kỳ vọng, phương sai 32

CHƯƠNG 3. 34

3.1        Hàm năng lượng thời gian ngắn. 34

3.2        Phát hiện điểm đầu và điểm cuối của một từ. 34

3.3        Tiền nhấn (Pre-emphasis) 36

3.4        Trích đặc trưng MFCC (Mel-scale Frequency Cepstral Coefficient) 37

3.4.1        Cửa sổ hóa (Windowing ) 40

3.4.2        Biến đổi Fourier rời rạc (DFT) 40

3.4.3        Lọc qua bộ lọc Mel-scale. 40

3.4.4        Tính log năng lượng phổ. 42

3.4.5        Biến đổi Fourier ngược (IDFT) 42

CHƯƠNG 4. 44

4.1        Các yếu tố khi tổ chức VQ.. 44

4.2        Tập huấn luyện VQ.. 45

4.3        Đo độ méo. 45

4.4        Phân nhóm các vector huấn luyện. 45

4.4.1        Giải thuật cụm thông tin (Cluster Algorithm): 46

4.4.2        Giải thuật Binary Split 47

4.5        Phân lớp vector 49

4.6        Nhận dạng bằng VQ.. 49

CHƯƠNG 5. 51

5.1        Khái niệm.. 51

5.1.1        Chuỗi Markov: 51

5.1.2        Các thành phần trong mô hình Markov: 52

5.1.3        Các ví dụ. 52

5.1.4        Mô hình Markov ẩn. 54

5.2        Các thành phần cơ bản của mô hình Markov ẩn. 54

5.3        Ba bài toán cơ bản của HMM... 56

5.3.1        Bài toán 1. 57

5.3.2        Bài toán 2. 63

5.3.3        Bài toán 3. 66

5.4        Phân loại HMM... 69

5.5        Vấn đề tỷ lệ khi tổ chức HMM... 70

5.6        Đa quan sát 74

5.7        Các mẫu mật độ HMM... 75

5.7.1        Mẫu mật độ rời rạc. 75

5.7.2        Mẫu mật độ liên tục: 75

5.7.3        Mẫu mật độ bán liên tục. 76

5.8        Khởi tạo tham số cho HMM... 78

5.9        Ảnh hưởng của tập dữ liệu không đầy đủ. 78

5.10          Tổ chức nhận dạng tiếng nói bằng HMM... 79

5.11          Ưu điểm và nhược điểm của HMM... 79

5.11.1     Ưu điểm.. 80

5.11.2     Nhược điểm.. 80

CHƯƠNG 6. 81

6.1        Trích đặc trưng tiếng nói 81

6.1.1        Chương trình MATLAB phát hiện điểm đầu điểm cuối 82

6.1.2        Trích đặc trưng tiếng nói 83

6.2        Lượng tử hóa vector 83

6.3        Giải thuật huấn luyện HMM... 84

6.4        Giải thuật nhận dạng. 85

TÀI LIỆU THAM KHẢO.. 87

Hình  1.1: Sơ đồ nhận dạng tổng quát 1

Hình  1.2: Hệ thống phát âm của con người 4

Hình  1.3: Quá trình cơ bản tạo tín hiệu tiếng nói 5

Hình  1.4: Cấu trúc của hệ thính giác ngoài 6

Hình  1.5: Mặt cắt ngang của ốc tai 8

Hình  1.6: Các lĩnh vực trong xử lý tiếng nói 9

Hình  1.7: Liên tục và cách biệt 10

Hình  1.8: Người nói khác nhau sẽ phát âm khác nhau. 11

Hình  1.9: Mô hình nhận dạng bán độc lập người nói 11

Hình  1.10: Các thành phần cơ bản của hệ thống ASR.. 12

Hình  1.11: Tổng quát quá trình rút trích vector đặc trưng. 14

Hình  1.12: Các dạng cửa sổ thường dùng. 14

Hình  1.13: Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển. 15

Hình  1.14: HMM với 3 trạng thái và trọng số chuyển trạng thái 17

Hình  2.1: Hàm lấy mẫu lý tưởng. 19

Hình  2.2: Dãy xung. 21

Hình  2.3: Biến đổi FFT. 23

Hình  2.4: Cửa sổ Hamming. 26

Hình  2.5: Cửa sổ Hanning. 26

Hình  2.6: Cửa sổ chữ nhật 26

Hình  2.7: Âm /a/ cửa sổ chữ nhật, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 27

Hình  2.8: Âm /a/ cửa sổ Hamming, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 27

Hình  2.9: Âm /a/ cửa sổ Hanning, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 28

Hình  2.10: Âm /s/ cửa sổ chữ nhật, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 28

Hình  2.11: Âm /s/ cửa sổ Hamming, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 29

Hình  2.12: Âm /s/ cửa sổ Hanning, 512 điểm (45ms, trái) và 64 điểm (5.6ms, phải) 29

Hình  2.13: Sự khác biệt giữa các dạng cửa số tín hiệu. 30

Hình  2.14. 32

Hình  2.15. 33

Hình  3.1: Sơ đồ khối tách từ. 35

Hình  3.2: Tín hiệu và năng lượng thời gian ngắn của nó. 36

Hình  3.3: Bộ lọc số pre-emphasis. 37

Hình  3.4: Sơ đồ trích đặc trưng MFCC.. 38

Hình  3.5: Minh họa phân tích cepstral 39

Hình  3.6: Quan hệ giữa tần số thang Mel và tần số thang Hz. 41

Hình  3.7: Dãy bộ lọc Mel 42

Hình  3.8: Kết quả trích MFCC.. 43

Hình  4.1: Sơ đồ khối cấu trúc VQ huấn luyện và phân lớp. 45

Hình  4.2: Lưu đồ giải thuật LBG.. 46

Hình  4.3: Giải thuật cụm thông tin. 47

Hình  4.4: Lưu đồ giải thuật Binary Split 48

Hình  4.5: Giải thuật Binary Split 48

Hình  4.6: Lưu đồ giải thuật nhận dạng bằng VQ.. 50

Hình  5.1: Minh họa mô hình Markov. 51

Hình  5.2. 52

Hình  5.3. 53

Hình  5.4. 55

Hình  5.5: Minh họa thủ tục tiến. 59

Hình  5.6: Minh họa bước quy nạp trong thủ tục Forward. 60

Hình  5.7. 60

Hình  5.8: Minh họa thủ tục lùi 61

Hình  5.9: Minh họa thủ tục Backward. 62

Hình  5.10: Ví dụ minh họa thuật toán Viterbi 63

Hình  5.11. 66

Hình  5.12: Minh họa ước lượng Baum-Welch. 66

Hình  5.13: Mô hình left-right, mô hình Bakis và mô hình tuyến tính. 69

Hình  5.14: Mô hình Bakis 6 trạng thái 70

Hình  5.15: Sơ đồ khối hệ nhận dạng từ rời rạc bằng HMM.. 79

Hình  6.1: Sơ đồ khối 81

Hình  6.2: Hệ thống nhận dạng tiếng nói HMM.. 81

Hình  6.3: Lưu đồ trích đặc trưng. 82

Hình  6.7: Lưu đồ lượng tử hóa vector. 83

Hình  6.8: Lưu đồ huấn luyện HMM.. 84

Hình  6.9: Lưu đồ huấn luyện HMM cho từng từ. 85

Hình  6.10: Lưu đồ giải thuật nhận dạng. 86

Tên viết tắt                             Tên tiếng Anh

A/D                                         Analog-to-Digital

B-W                                        Baum-Welch

CMC                                       Cepstral Mean Correction

CSR                                        Continuous Speech Recognition 

DCT                                        Discrete Cosine Transform

DFT                                         Discrete Fourier Transform 

DSP                                         Digital Signal Processing

DTW                                       Dynamic Time Warping

FFT                                         Fast Fourier Transform

FIR                                          Finite Impulse Response

FTE                                         Frame-Based Teager Energy

HMM                                      Hidden Markov Model

IIR                                          Infinite Impulse  Response

IWR                                        Isolated Word Recognition

LBG                                        Linde-Buzo-Gray

LFCC                                      Linear Frequency Cepstrum Coefficient

LPC                                         Linear Predictive Coding

LPC-CC                                  LPC-derived Cepstral Coefficient

MFCC                                     Mel-frequency Cepstral Coefficient

STE                                         Short-Term Energy

STZC                                      Short-Term Zero-Crossing

VQ                                          Vector  Quantization

ZCR                                        Zero-Crossing Rate

GIỚI THIỆU ĐỀ TÀI

1.1Nhận dạng

Nhận dạng của loài người là một quá trình hoàn hảo,  đó là sự quan sát  đối tượng cần nhận dạng,  ghi nhận lại những  đặc trưng của  đối tượng, phân lớp  đối tượng và có sử dụng khả năng phán đoán suy luận để phân biệt đối tượng đó với đối tượng khác (trong một tập gần như vô hạn đối tượng).

Trong khi đó, nhận dạng tự động – nhận dạng bằng công cụ máy vi tính chỉ đơn giản là quá trình phân biệt tín hiệu này với tín hiệu khác (trong một tập hữu hạn các tín hiệu), quá trình này được thực hiện bằng cách thực hiện các bước tổng quát sau (như trong hình 1.1)

Hình  1.1: Sơ đồ nhận dạng tổng quát

  • Thu nhận tín hiệu và trích đặc trưng: thu nhận tín hiệu cần nhận dạng, khử nhiễu lọc tín hiệu (tiền xử lý) và rút ra các đặc trưng của tín hiệu (vector đặc trưng).
  • Học mẫu: kết nhóm, phân lớp các nhóm vector  đặc trưng của từng nhóm tín hiệu (bằng các thuật giải Heristic, bằng cách sử dụng mạng Neural, bằng các siêu phẳng dùng thuật toán K-means, Batchelor-Wilkins, ……). Quá trình này tạo ra các lớp tín hiệu, mỗi lớp này đặc trưng cho từng nhóm tín hiệu.
  • Nhận dạng, so khớp mẫu: tìm mối liên hệ giữa tín hiệu cần nhận dạng và các lớp tín hiệu được tạo ra ở bước trước (bằng cách thông qua quy tắc người láng giềng gần nhất chẳng hạn). Nếu như tín hiệu đó so khớp nhất (và mức độ so khớp thỏa một ngưỡng nào đó) ứng với một lớp tín hiệu nào đó thì hệ thống nhận dạng xác định tín hiệu đó thì tín hiệu đó thuộc vào nhóm tín hiệu đó với một tỉ lệ nhất định gọi là độ chính xác của hệ thống nhận dạng (tỉ lệ này dĩ nhiên là càng cao càng tốt).

1.2Tiếng nói

Tiếng nói thường xuất hiện dưới nhiều hình thức mà ta gọi là đàm thoại, việc đàm thoại thể hiện kinh nghiệm của con người. Đàm thoại là một quá trình gồm nhiều người, có sự hiểu hiết chung và một nghi thức luân phiên nhau nói. Những người có điều kiện thể chất và tinh thần bình thường thì rất dễ diễn đạt tiếng nói của mình, do đó tiếng nói là phương tiện giao tiếp chính trong lúc đàm thoại. Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp người nghe hiểu được ý cần diễn đạt như biểu hiện trên gương mặt, cử chỉ, điệu bộ. Vì có đặc tính tác động qua lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếp nhanh chóng. Trong khi đó, chữ viết lại có khoảng cách về không gian lẫn thời gian giữa tác giả và người đọc.

Sự biểu đạt của tiếng nói hỗ trợ mạnh mẽ cho việc ra đời các hệ thống máy tính có sử dụng tiếng nói, ví dụ như lưu trữ tiếng nói như là một loại dữ  liệu, hay dùng tiếng nói làm phương tiện giao tiếp qua lại. Nếu chúng ta có thể phân tích quá trình giao tiếp qua nhiều lớp, thì lớp thấp nhất chính là âm thanh và lớp cuối cùng là tiếng nói diễn tả ý nghĩa muốn nói.

1.2.1Nguồn gốc của tiếng nói

Âm thanh của lời nói cũng như âm thanh trong thế giới tự nhiên xung quanh ta, về bản chất đều là những sóng âm được lan truyền trong một môi trường nhất định (thường là không khí). Khi chúng ta nói dây thanh trong hầu bị chấn động, tạo nên những sóng âm, sóng truyền trong không khí đến màng nhĩ –  một màng mỏng rất nhạy cảm của tai ta –  làm cho màng nhĩ cũng dao động, các dây thần kinh của màng nhĩ sẽ nhận được cảm giác âm khi tần số dao động của sóng đạt đến một độ lớn nhất định.

Tai con người chỉ cảm thụ được những dao động có tần số từ khoảng 16Hz đến khoảng 20000Hz. Những dao động trong miền tần số này gọi là dao động âm hay âm thanh, và các sóng tương ứng gọi là sóng âm. Những sóng có tần số nhỏ hơn 16Hz gọi là sóng hạ âm, những sóng có tần số lớn hơn 20000 Hz gọi là sóng siêu âm, con người không cảm nhận được (ví dụ loài dơi có thể nghe được tiếng siêu âm). Sóng âm, sóng siêu âm và hạ âm không chỉ truyền trong không khí mà còn có thể lan truyền tốt ở những môi trường rắn, lỏng, do đó cũng được sử dụng rất nhiều trong các thiết bị máy móc hiện nay.

1.2.2Phân loại tiếng nói

Tiếng nói là âm thanh mang mục đích diễn đạt thông tin, rất uyển chuyển và đặc biệt. Là công cụ của tư duy và trí tuệ, tiếng nói mang tính đặc trưng của loài người. Nó không thể tách riêng khi nhìn vào toàn thể nhân loại, và nhờ có ngôn ngữ tiếng nói mà loài người sống và phát triển xã hội tiến bộ, có văn hóa, văn minh như ngày nay. Trong quá trình giao tiếp người nói, có  nhiều  câu  nói,  mỗi câu gồm nhiều từ, mỗi từ lại có thể gồm 1 hay nhiều âm tiết. Ở  tiếng Việt, số âm tiết được sử dụng vào khoảng 6700. 

Khi chúng ta phát ra một tiếng thì có rất nhiều bộ phận như lưỡi, thanh môn, môi, họng, thanh quản,… kết hợp với nhau để tạo thành âm thanh. Âm thanh phát ra được lan truyền trong không khí để đến tai người nhận. Vì âm thanh phát ra từ sự kết hợp của rất nhiều bộ phận, do đó âm thanh ở mỗi lần nói khác nhau hầu như khác nhau dẫn đến khá khó khăn khi ta muốn phân chia tiếng nói theo những đặc tính riêng. Người ta chỉ chia tiếng nói thành 3 loại cơ bản như sau:

  • Âm hữu thanh: Là âm khi phát ra thì có thanh, ví dụ như chúng ta nói “i”, “a”, hay “o” chẳng hạn. Thực ra âm hữu thanh được tạo ra là do việc không khí qua thanh môn (thanh môn tạo ra sự khép mở của dây thanh dưới sự điều khiển của hai sụn chóp) với một độ căng của dây thanh sao cho chúng tạo nên dao động.
  • Âm vô thanh: Là âm khi tạo ra tiếng thì dây thanh không rung hoặc rung đôi chút tạo ra giọng như giọng thở, ví dụ “h”, “p” hay “th”
  • Âm bật: Để phát ra âm bật, đầu tiên bộ máy phát âm phải đóng kín, tạo nên một áp suất, sau đó không khí được giải phóng một cách đột ngột, ví dụ “ch”, “t”.

1.3Cơ chế tạo ra tiếng nói và thu nhận tiếng nói

1.3.1Cấu tạo của hệ thống cấu âm

Lời nói là kết quả của sự hoạt động với mối liên kết giữa các bộ phận hô hấp và nhai. Hành động này diễn ra dưới sự kiểm soát của hệ thần kinh trung ương, bộ phận này thường xuyên nhận được thông tin bằng những tác động ngược của các bộ phận thính giác và cảm giác bản thể.

Bộ máy hô hấp cung cấp lực cần thiết khi khí được thở ra bằng khí quản.

Ở đỉnh khí quản là thanh quản nơi áp suất khí được điều biến trước khi đến tuyến âm kéo dài từ hầu đến môi (hình 1.2)

Hình  1.2: Hệ thống phát âm của con người

Thanh quản là tập hợp các cơ và sụn động bao quanh một khoang nằm ở phần trên của khí quản. Các dây thanh giống như là một đôi môi đối xứng nằm ngang thanh quản, hai môi này có thể khép hoàn toàn thanh quản và khi mở ra chúng có thể tạo ra độ mở hình tam giác gọi là thanh môn. Không khí qua thanh quản một cách tự do trong quá trình thở và cả trong quá trình cấu âm của những âm điếc hay âm vô thanh. Các âm hữu thanh thì ngược lại, lại là kết quả của sự rung động tuần hoàn của những dây thanh. Và như vậy những rung động liên tiếp sẽ đến được tuyến âm.

Tuyến âm là tập hợp những khoang nằm giữa thanh môn và môi, trên hình ta có thể phân biệt được khoang hầu (họng), khoang miệng và khoang mũi.

Khi nói, lồng ngực mở rộng và thu hẹp, không khí được đấy từ phổi vào khí quản, đi qua thanh môn do các dây thanh tạo thành. Luồng khí này được gọi là tín hiệu kích cho tuyến âm vì sau đó nó được đẩy qua tuyến âm và cuối cùng tán xạ ra ở môi. Tuyến âm có thể được coi như một ống âm học (gồm các đoạn ống với độ dài bằng nhau và thiết diện các mặt cắt khác nhau mắc nối tiếp) với đầu vào là các dây thanh (hay thanh môn) và đầu ra là môi. Như vậy tuyến âm có dạng thay đổi như một hàm theo thời gian. Các mặt cắt của tuyến âm được xác định bằng vị trí của lưỡi, môi, hàm, vòm miệng và thiết diện của những mặt cắt này thay đổi từ 0 cm (khi ngậm môi) đến khoảng 20 cm (khi hở môi). Tuyến mũi tạo thành tuyến âm học phụ trợ cho truyền âm thanh, nó bắt đầu từ vòm miệng và kết thúc ở các lỗ mũi. Khi vòm miệng hạ thấp, tuyến mũi được nối với tuyến âm về mặt âm học và tạo nên tiếng nói âm mũi.

Các âm của tiếng nói được tạo trong hệ thống này theo ba cách phụ thuộc vào tín hiệu kích. âm hữu thanh như âm / i / được tạo nên khi kích tuyến âm bằng chuỗi xung (hay chu kỳ dao động của đôi dây thanh) xác định chu kỳ pitch P và đại lượng nghịch đảo của nó là tần số cơ bản F0. Đối với ngôn ngữ có thanh điệu  thì kiểu thay đổi này còn phụ thuộc vào thanh điệu. Âm vô thanh như âm / s / được tạo nên khi các dây thanh không dao động, xung kích được coi như các tạp ngẫu nhiên, kích bởi các dòng khí xoáy qua các chỗ hẹp của tuyến âm (thường là phía khoang miệng). Âm nổ như âm / p / được tạo ra bằng cách đóng hoàn toàn tuyến âm, gây nên áp suất bên cạnh vị trí đóng, rồi nhanh chóng giải phóng âm này.

Vì tuyến âm và tuyến mũi bao gồm các ống âm học có mặt cắt khác nhau nên khi âm truyền trong ống, phổ tần số thay đổi theo tính chọn lọc tần số của ống. Trong phạm vi tạo tiếng nói, những tần số cộng hưởng của tuyến âm được gọi là tần số formant hay đơn giản là formant. Những tần số này phụ thuộc vào dạng và kích thước của tuyến âm, do đó mỗi dạng tuyến âm được đặc trưng bằng một tổ hợp tần số formant. Các âm khác nhau được tạo bởi sự thay đổi dạng của tuyến âm. Như vậy tính chất phổ của tín hiệu tiếng nói thay đổi theo thời gian giống với sự thay đổi dạng của tuyến âm.

Quá trình truyền âm qua tuyến âm làm mạnh lên ở một vùng tần số nào đó bằng cộng hưởng và tạo cho mỗi âm những tính chất riêng biệt gọi là quá trình phát âm.

Âm được phát có nghĩa nó đã mang thông tin về âm vị được tán xạ ra ngoài từ môi. Trong một vài trường hợp, đối với những âm mũi (như / m /, / n / trong tiếng Anh), tuyến mũi cũng tham gia vào quá trình phát âm và âm được tán xạ ra từ mũi.

Tóm lại, sóng tín hiệu được chế tạo bằng ba động tác: tạo nguồn âm (hữu thanh và vô thanh), phát âm khi truyền qua tuyến âm và tán xạ âm từ môi hoặc từ mũi, như hình  1.3  sau đây:

Hình  1.3: Quá trình cơ bản tạo tín hiệu tiếng nói

1.3.2Cấu tạo của hệ thống tiếp âm                         

Không giống như các cơ quan tham gia vào quá trình tạo ra tiếng nói khi thực hiện các chức năng khác trong cơ thể như: thở, ăn, ngửi. Tai chỉ sử dụng cho chức năng nghe.

Tai đặc biệt nhạy cảm với những tần số trong tín hiệu tiếng nói chứa thông tin phù hợp nhất với việc liên lạc (những tần số xấp xỉ 200 – 5600 Hz). Người nghe có thể phân biệt được những sự khác biệt nhỏ trong thời gian và tần số của những âm thanh nằm trong vùng tần số này.

Tai gồm có ba phần: tai ngoài, tai giữa và tai trong. Tai ngoài dẫn hướng những thay đổi áp xuất tiếng nói vào trong màng nhĩ, ở đó tai giữa sẽ chuyển đổi áp xuất này thành chuyển động cơ học. Tai trong chuyển đổi những rung động cơ học này thành những luồng điện trong nơron thính giác dẫn đến não.

a)  Tai  ngoài:  bao gồm LOA TAI (pina) hay TÂM NHĨ (aurical) và LỖ (meatus)  thính giác hay ống tai ngoài. Loa tai có tham gia rất ít hoặc hầu như không vào độ thính của tai, nhưng có chức năng bảo vệ lối vào ống tai và dường như cũng tham gia vào khả năng khu biệt các âm, đặc biệt là ở những tần số cao hơn. Loa tai nối với ống tai ngoài, một ống ngắn có hình dáng thay đổi có chiều dài khoảng từ 25 đến 53 cm làm đường cho các tín hiệu âm học đến tai giữa. Lỗ tai có hai chức năng chính. Chức năng thứ nhất là bảo vệ các cấu trúc phức tạp và không có tính chất cơ học lắm của tai giữa. Chức năng thứ hai là đóng vai trò như một bộ máy cộng hưởng hình ống vốn ưu tiên cho việc truyền các âm có tần số cao giữa 2000Hz và 4000 Hz. Chức năng này là quan trọng đối với việc tiếp nhận lời nói và đặc biệt trợ giúp cho việc tiếp nhận các âm xát, vì đặc điểm của chúng thường được lập mã trong nguồn năng lượng không có chu kì trong khu vực ảnh phổ âm học này. Sự cộng hưởng trong lỗ thính giác cũng tham gia vào độ thính chung của chúng ta giữa 500 Hz và 4000 Hz, vốn là một dải tần có chứa nhiều dấu hiệu chính đối với cấu trúc âm vị học.

Hình  1.4: Cấu trúc của hệ thính giác ngoài

b)  Tai giữa: bao gồm một khoang nằm trong cấu trúc hộp sọ có chứa màng nhĩ (eardrum) - màng ở đầu trong của ống tai ngoài, một bộ ba khúc xương liên kết với nhau, được gọi là xương vồ (mallet), xương đe (anvil) và xương bàn đạp (stirrup) (cũng có thuật ngữ là xương tai) và cấu trúc cơ liên kết. Mục đích của tai giữa là truyền những biến đổi áp suất âm trong không khí đến tai ngoài vào những dịch chuyển cơ khí tương ứng. Quá trình truyền này bắt đầu ở màng nhĩ, bị làm lệch đi bởi những biến đổi áp suất khí truyền đến nó qua lỗ tai. Sự dịch chuyển này được truyền đến các xương tai, vốn đóng vai trò như một hệ thống đòn bẩy cơ học khéo léo để  chuyển tải những dịch chuyển này đến cửa hình bầu dục ở giao diện đến tai trong và chất dịch trong lỗ tai ở trên.

Hoạt động làm đòn bẩy của các xương tai, và sự thực là màng nhĩ có vùng bề mặt lớn hơn nhiều so với cửa hình bầu dục, đảm bảo cho việc truyền hiệu ứng của năng lượng âm học giữa500 Hz và 4000 Hz, làm tăng đến mức tối đa khả năng thính của tai ở vùng tần số này. Hệ cơ gắn với các xương tai cũng hoạt động để bảo vệ tai chống lại những âm lớn do hoạt động cơ chế phản xạ âm học. Cơ chế này đi vào hoạt động khi các âm có biên độ khoảng 90 dB và lớn hơn truyền đến tai: hệ cơ kết hợp và sắp xếp lại các xương tai để làm giảm hiệu quả truyền âm đến cửa hình bầu dục (Borden và Harris 1980, Moore 1989).

Tai giữa được nối với họng bằng một ống hẹp gọi là vòi ốc tai (eustachian tube). Điều này hình thành một đường khí và con đường này sẽ mở ra khi cần cân bằng những thay đổi áp suất khí nền giữa cấu trúc tai giữa và tai ngoài.

Tai trong là một cấu trúc phức tạp bọc trong hộp sọ, ốc tai  (cochlea) có trách nhiệm biến đổi sự chuyển dịch cơ khí thành các tín hiệu thần kinh: sự dịch chuyển cơ khí được truyền đến cửa hình bầu dục bằng các ốc tai được chuyển thành các tín hiệu thần kinh và các tín hiệuthần kinh này được truyền đến hệ thống thần kinh trung ương. Về cơ bản, ốc tai là một cấu trúc hình xoắn tận hết bằng một cửa sổ có 1 màng linh hoạt ở mỗi đầu. 

Ở bên trong, ốc tai chia thành hai màng, một trong số đó, màng nền (basilar membrane) là cực kì quan trọng đối với hoạt động nghe. Khi những dịch chuyển (do các rung động âm gây ra) diễn ra tại cửa sổ hình bầu dục, chúng được truyền qua chất dịch trong ốc tai và gây ra sự dịch chuyển (displacement) của màng nền. Ở một đầu màng nền cứng hơn so với ở đầu kia, và điều này có nghĩa là cách thức mà trong đó nó được dịch chuyển phụ thuộc vào tần số của âm tác động vào. Các âm có tần số cao sẽ gây ra sự dịch chuyển lớn hơn ở đầu cứng; với tần số giảm dần, sự dịch chuyển cực đại sẽ di chuyển liên tục về phía đầu ít cứng hơn.

Gắn dọc với màng nền là cơ quan vỏ não (organ of corti), một cấu trúc phức tạp chứa nhiều tế bào tóc. Nó là sự dịch chuyển và sự kích thích của các tế bào tóc này vốn biến sự dịch chuyển của màng nền thành các tín hiệu thần kinh. Vì màng nền được dịch chuyển ở nhiều vị trí khác nhau phụ thuộc vào tần số, cho nên ốc tai và các cấu trúc bên trong của nó có thể biến tần số và cường độ của âm thành các tín hiệu thần kinh. Nhưng cần phải nhấn mạnh rằng sự tái hiện có tính thần kinh cuối cùng của thông tin tần số không phụ thuộc vào vị trí của chỉ riêng sự dịch chuyển màng nền không, và hiểu biết của chúng ta về cách thức tần số được lập mã thông qua hệ thống thính giác là chưa hoàn thiện.

Hình  1.5: Mặt cắt ngang của ốc tai

Nghiên cứu đầu tiên về thẩm nhận lời nói chỉ tính đến rất ít các thuộc tính thẩm nhận cơ bản của tai. Hơn nữa, nó đã cố gắng gắn kết các thuộc tính thẩm nhận của tín hiệu lời nói với kiểu tái  hiện phổ thay đổi theo thời gian tuyến tính. Đến khoảng năm 1980 nhiều nhà nghiên cứu đã nhận ra rằng cần phải hiểu những hiệu ứng có tính chất phân tích tính của hệ thính giác người về các tín hiệu lời nói và thật là sai lầm khi cho rằng người nghe chỉ đang xử lí thông tin theo cách giống như chiếc máy ghi phổ bình thường mà thôi.

1.4Nhận dạng tiếng nói

1.4.1Xử lý âm thanh

Khi âm thanh  được máy vi tính hỗ trợ thì nhu cầu xử lý âm thanh  đã xuất hiện. Các nhu cầu này  đã tạo ra nhiều lĩnh vực  ứng dụng trong thực tế. Chẳng hạn như: Tổng hợp âm thanh (Synthesis), nén âm thanh (Compression), nhận dạng người nói (speaker recognition), nhận dạng tiếng nói (speech recognition)… Các lĩnh vực ứng dụng khác nhau của xử lý tiếng nói được thể hiện qua hình 1.6.

Hình  1.6: Các lĩnh vực trong xử lý tiếng nói

Xử lý âm thanh đóng một vai trò quan trọng trong quá trình nhận dạng tiếng nói, nó cần trong việc lọc nhiễu tín hiệu, biến đổi tín hiệu, rút trích vector đặc trưng,… 

1.4.2Phân loại nhận dạng tiếng nói

1.4.2.1Nhận dạng từ liên tục và nhận dạng từ cách biệt

Một hệ nhận dạng tiếng nói có thể là một trong hai dạng: nhận dạng liên tục và nhận dạng từng từ.

Nhận dạng liên tục tức là nhận dạng tiếng nói được phát liên tục trong một chuỗi tín hiệu, chẳng hạn như một câu nói, một mệnh lệnh hoặc một đoạn văn được đọc bởi người dùng. Các hệ thống loại này rất phức tạp, nó phức tạp ở chỗ các từ được phát liên tục khó xử lý kịp (nếu cần thời gian thực), hoặc khó tách ra nếu như người nói liên tục không có khoảng nghỉ (thông thường rất hay xảy ra trong thực tế). Kết quả tách từ ảnh hưởng rất lớn  đến các bước sau, cần xử lý thật tốt trong quá trình này.

Trái lại, đối với mô hình nhận dạng từng từ, mỗi từ cần nhận dạng được phát âm một cách rời rạc, có các khoảng nghỉ trước và sau khi phát âm một từ. Mô hình loại này dĩ nhiên đơn giản hơn mô hình nhận dạng liên tục,  đồng thời cũng có những  ứng dụng thực tiễn như trong các hệ thống  điều khiển bằng lời nói, quay số bằng giọng nói…, với  độ chính xác khá cao, tuy nhiên khó áp dụng rộng rãi đối với mô hình trên.

Hình  1.7: Liên tục và cách biệt

1.4.2.2Nhận dạng phụ thuộc người nói và độc lập người nói

Đối với nhận dạng phụ thuộc người nói thì mỗi một hệ nhận dạng chỉ phục vụ được cho một người, và nó sẽ không hiểu người khác nói gì nếu như chưa  được huấn luyện lại từ  đầu. Do  đó, hệ thống nhận dạng người nói khó  được chấp nhận rộng rãi vì không phải ai cũng  đủ khả năng kiến thức và nhất là kiên nhẫn để huấn luyện hệ thống. Đặc biệt là hệ thống loại này không thể ứng dụng ở nơi công cộng. Ngược lại, hệ thống nhận dạng độc lập người nói thì lý tưởng hơn, ứng dụng rộng rãi hơn, đáp ứng được hầu hết các yêu cầu đề ra. Nhưng không may là hệ thống lý tưởng như vậy gặp một số vấn đề, nhất là độ chính xác của hệ thống. Trong thực tế, mỗi người có một giọng nói khác nhau, thậm chí ngay cùng một người cũng có giọng nói khác nhau ở những thời điểm khác nhau. Điều này ảnh hưởng rất lớn đến việc nhận dạng, nó làm giảm độ chính xác của hệ thống nhận dạng xuống nhiều lần. Do đó để khắc phục khuyết điểm này, hệ thống nhận dạng độc lập người nói cần  được thiết kế phức tạp hơn, đòi hỏi lượng dữ liệu huấn luyện lớn hơn nhiều lần (dữ liệu  được thhu từ nhiều giọng khác nhau của nhiều người). Nhưng điều này cũng không cải thiện được bao nhiêu chất lượng nhận dạng. Do đó, trong thực tế có một cách giải quyết là bán độc lập người nói. Phương pháp này thực hiện bằng cách thu mẫu một số lượng lớn các giọng nói khác biệt nhau. Khi sử dụng, hệ thống sẽ được điều chỉnh cho phù hợp với giọng của người dùng, bằng cách nó học thêm một vài câu có chứa các từ cần thiết (người dùng trước khi sử dụng hệ thống cần phải qua một quá trình ngắn huấn luyện hệ thống). Điều này đã được Microsoft đưa vào bộ phần mềm Office của mình.

Nhận dạng độc lập người nói khó hơn rất nhiều so với nhận dạng phụ thuộc người nói. Cùng một từ, một người, dù có cố gắng phát âm cho thật giống đi nữa thì cũng có sự khác biệt. Đối với bộ não con người, một hệ thống hoàn hảo, thì sự khác biệt  đó có thể  được bỏ qua do ngữ cảnh, và do có phần xử lý làm mờ đi của não. Nhưng đối với máy tính thì rất khó xây dựng được một mô hình giải quyết cho tất cả các trường hợp khác biệt đó.

Hình  1.8: Người nói khác nhau sẽ phát âm khác nhau

Hình  1.9: Mô hình nhận dạng bán độc lập người nói

1.4.3Hệ thống nhận dạng tiếng nói tự động

Nhận dạng tiếng nói tự  động (Automatic Speech Recognition - ASR): có nghĩa là chuyển đổi tự động tiếng nói thành chữ viết hoặc thành một trong các chức năng của thiết bị.

Một hệ thống nhận dạng tiếng nói tự động gồm có các thành phần sau:

  • Rút trích  đặc trưng tiếng nói: biến  đổi tín hiệu âm thanh thành chuỗi các vector  đặc trưng. Ngoài ra, quá trình này còn giải quyết vấn đề dò tìm điểm cuối (phân biệt trong chuỗi âm thu được đâu là tiếng nói đâu là độ ồn nền) và lọc nhiễu.
  • Quá trình phân lớp và nhận dạng: Thực chất  đây là quá trình nhận dạng dựa trên mô hình âm thanh, từ điển phát âm và mô hình ngôn ngữ của hệ thống. Mô hình ngôn ngữ ở đây thực chất chỉ biểu diển một ngữ pháp nào đó, nó có thể ứng với một ngôn ngữ cụ thể hoặc  đơn giản chỉ gói gọn trong phạm vi  ứng dụng của hệ thống, điều này góp phần giảm thiểu phạm vi nhận dạng của tiếng đó trong một vài từ chứ không phải toàn bộ từ vựng.
  • Giải mã: Quá trình này quá trình này có thể chỉ đơn giản là xuất ra chuỗi văn bản nhận dạng  được hoặc là một quá trình phân tích chuỗi nhận được ứng với tác vụ gì và thực hiện tác vụ đó.

Hình  1.10: Các thành phần cơ bản của hệ thống ASR

Ứng dụng:

  • Điều khiển bằng tiếng nói (khoảng 30 từ): Nhận dạng tên người, chữ số của hệ thống quay số bằng giọng nói trên điện thoại di động, điều khiển thiết bị điện tử,…
  • Trong điện tử viễn thông (khoảng 2000 từ): Tự động điền mẫu đơn trong hệ thống xử lý thông tin, tổng đài điện thoại, …
  • Từ  điển (khoảng 64k từ): Chuyển  đổi thư thoại (bộ từ vựng lớn), thư ký điện tử,…

1.4.4Lý thuyết nhận dạng tiếng nói

Nhận dạng tiếng nói là kỹ thuật nhận ra các thành phần lời nói của con người. Tiến trình này có thể được thực hiện từ việc thu vào tín hiệu tiếng nói từ micro, và kết thúc bằng từ đã được nhận dạng được hệ thống xuất ra. Những bước của quá trình trên sẽ được đề cập ở phần sau.

Việc nghiên cứu nhận dạng tiếng nói đã được bắt đầu từ cuối thập niên 40, trong đó sự phát triển nhanh chóng của công nghệ máy tính đã đóng góp một phần rất quan trọng. Ngày nay, nhờ sự phát triển tăng vọt trong công nghệ, nhận dạng tiếng nói  đã có mặt trong công nghiệp  ở một số lĩnh vực. Trong công nghiệp, khi tay và mắt của con người đã được tận dụng triệt để, thì việc điều khiển bằng tiếng nói có một thuận lợi rất lớn. Những trình ứng dụng khác thì áp dụng nhận dạng tiếng nói vào hệ thống nhận đặt phòng tự động qua điện thoại, bằng cách này khách hàng cảm thấy thuận lợi hơn so với việc nhấn các nút của  điện thoại. Hơn nữa, nhận dạng tiếng nói còn được ứng dụng nhiều dạng khác nhau như hệ thống chính tả, các đồ chơi trẻ em, trò chơi game,…

Một cách lý tưởng, một trình nhận dạng sẽ có thể nhận dạng được các từ khác nhau của bất kỳ người nào trong bất kỳ môi trường nào. Nhưng trong thực tế, khả năng của hệ thống phụ thuộc vào nhiều yếu tố khác nhau. Bộ từ vựng, đa người dùng, nhận dạng liên tục (phức tạp hơn nhiều so với nhận dạng từng từ) là các yếu tố gây khó khăn, phức tạp cho việc nhận dạng tiếng nói. Tương tự như vậy đối với độ ồn nền.

1.4.4.1Rút trích vector đặc trưng

Ngày nay, việc xử lý tín hiệu tiếng nói được thực hiện trên miền số. Tín hiệu số được thu bằng cách lấy mẫu theo một tần số nhất định, đó là việc đo tín hiệu theo một chu kỳ thời gian. Theo lý thuyết, bất cứ một tín hiệu có băng tần giới hạn nào cũng có thể tái tạo lại một cách hoàn chỉnh nếu như tần số lấy mẫu FS ít nhất là gấp  đôi tần số tối  đa của tín hiệu (theo Alan và Willsky, 1997). Chất lượng của tín hiệu được lấy mẫu còn phụ thuộc vào biên độ lấy mẫu – phụ thuộc vào số bit được dùng. Đối với những ứng dụng ASR, biểu diễn tín hiệu ở miền tần số thì tối ưu hơn – một biểu diễn gọn hơn hữu dụng hơn là cần thiết. Rút trích vector đặc trưng là việc xử lý biến đổi tín hiệu âm thanh thành một chuỗi những vector đặc trưng. Có một vài dạng đặc trưng của tín hiệu âm thanh có thể được sử dụng làm vector đặc trưng, chẳng hạn như là MFCC (Mel Frequency Cepstral Coeficient), LPC (Linear Prediction Filter Coefficient),… 

Để tham số hóa dạng sóng của tín hiệu, tín hiệu được chia thành chuỗi các khung gối lên nhau theo thời gian, mỗi khung thường dài khoảng 25ms, khoảng thời gian thích hợp để cho việc xử lý tĩnh hơn (hình 1.11).

Hình  1.11: Tổng quát quá trình rút trích vector đặc trưng

Để khử nhiễu và làm rõ tín hiệu, các khung trước khi được xử lý được nhân với hàm cửa sổ, thường dùng là cửa sổ Hamming hay Hanning. Sau khi áp hàm cửa sổ cạnh của khung sẽ trở nên mịn hơn, mặt khác nó còn giúp cho thành phần có tần số cao của tín hiệu xuất hiện trong phổ.

Hình  1.12: Các dạng cửa sổ thường dùng

1.4.4.2Phân lớp

Sau việc biến đổi tiếng nói thành vector đặc trưng là việc nhận ra cái gì thực sự được nói ra. Có một vài cách tiếp cận vấn đề này, như là: hướng cơ sở tri thức, hướng so khớp mẫu,… những phương pháp này có thể được kết hợp với nhau. 

Hình  1.13: Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển

a)  Kỹ thuật so khớp mẫu

Một hệ thống so khớp mẫu dựa trên ý tưởng là sự so khớp lời nói với một số tập mẫu  được lưu trữ, chẳng hạn như các  đoạn âm thanh mẫu. Thường mỗi mẫu phù hợp với một từ trong từ điển. Người phân lớp sẽ tính toán sự khác nhau về âm thanh giữa lời nói thu vào và từng mẫu  đã  được lưu trữ. Sau  đó, anh ta sẽ chọn mẫu nào so khớp nhất với dữ liệu nhập.

Đối với chương trình, một thuật toán cần được sử dụng để tìm ra sự so khớp không tuyến tính giữa tỷ lệ thời gian giữa hai tín hiệu, nó dùng để bù đắp sự chênh lệch do sự khác biệt tốc độ nói gây ra.

Kỹ thuật so khớp mẫu  được sử dụng rộng rãi trong sản xuất thương mại vào các thập niên 70 và 80, nhưng sau đó ngày càng được thay thế bởi các phương pháp mạnh hơn.

b)  Mạng Neural

Mạng Neural là một mô hình cố gắng mô phỏng hệ thống nơ-ron thần kinh của con người. Một mạng neural bao gồm một số lượng các nút. Những nút này được sắp xếp thành từng lớp kết nối lẫn nhau bằng trọng số khác nhau. Thông tin được đưa qua lớp vào, được xử lý qua

mạng, sau đó được xuất ra ngoài thông qua lớp ra. Kết quả trả về của mỗi nút được tính bằng hàm không tuyến tính các trọng số của các giá trị vào.

Mạng có khả năng phân loại chính xác phụ thuộc vào trọng số và các giá trị tối  ưu  được xác  định trong quá trình huấn luyện. Khi huấn luyện, thông tin một vài mẫu âm thanh, ví dụ như phổ biên độ, được đưa vào mạng thông qua các nút nhập, các giá trị kết xuất được so sánh với giá trị  được yêu cầu. Sự sai khác giữa các giá trị sẽ làm thay đổi các trọng số. Quá trình này được lập đi lập lại vài lần cho mỗi mẫu học, làm tăng độ chính xác của mạng.

Mặc dù là một kỹ thuật thú vị và  đầy hứa hẹn, nhưng mạng Neural chưa thật sự thành công trong một hệ nhận dạng tiếng nói liên tục hoàn chỉnh.

c)  Hướng dựa trên tri thức

Hệ thống dựa trên tri thức sử dụng tri thức để phân biệt sự khác nhau giữa các âm thanh. Vào khoảng thập niên 70 và 80, nó thích hợp trong việc ứng dụng trong hệ chuyên gia, nó dựa trên bộ luật được rút ra từ tri thức về tín hiệu âm thanh.

Một dạng khác của hệ thống được kế thừa từ quá trình phát âm của con người.  Ở  đây thay vì sử dụng bộ luật thì  định nghĩa thành phần trung gian. Theo cách này, sự phân biệt diễn ra bằng cách so sánh tiếng nói  được tổng hợp với một tiếng nói cần nhận dạng. Mặc dù là một kỹ thuật có tiềm năng, nhưng một hệ thống như vậy có sự giới hạn của nó.

d)  Mô hình Markov ẩn (Hidden Markov models – HMM)

Mô hình Markov ẩn là một phương pháp thống kê mạnh mẽ để mô hình hóa tín hiệu tiếng nói, và nó thật sự vượt trội trong việc áp dụng vào nhận dạng tiếng nói ngày nay. Một mô hình Markov ẩn được dùng để biểu diễn cho một đơn vị của ngôn ngữ, như là từ hay là âm vị. Nó gồm có một số hữu hạn các trạng thái và sự chuyển  đổi trạng thái, sự chuyển đổi đó được thực hiện thông qua xác suất chuyển đổi, hàm phân bố Gauss thường được chọn lựa để thực hiện điều này.

Một khi biểu diển một chuỗi mẫu quan sát, mô hình có thể xác định xác suất gặp các mẫu quan sát đó, nhưng nếu như một chuỗi đơn các mẫu quan sát không thể tìm ra một chuỗi các trạng thái có liên quan thì nó không thể xác định trạng thái nào và ở thứ tự nào.

Xác suất chuyển trạng thái và sự phân bố xác suất phụ thuộc vào trọng số của nó. Trong quá trình huấn luyện các trọng số này được tối ưu hóa cho phù hợp với dữ liệu huấn luyện (hình 1.14).

......................................................

Trong sơ đồ nhận dạng từ rời rạc bằng HMM, giả sử ta cần nhận dạng bộ từ vựng có V từ, mỗi từ đều có mô hình Markov riêng và được nói K lần. Ta thực hiện những bước sau:

1. Với mỗi từ v trong bộ từ vựng, chúng ta xây dựng một mô hình Markov ẩn v. 

2. Với mỗi từ chưa biết, chúng ta xây dựng mô hình nhận dạng như trên hình 5.3.

Tín hiệu tiếng nói được trích đặc trưng MFCC, rồi được lượng tử hóa để có được các quan sát rời rạc O={o1, o2,…, ot,…, oT}. Tiếp theo, tính xác suất cho tất cả các mô hình P(O|λv), 1≤v≤V, và chọn từ có xác suất lớn nhất, tức là:

1.1Ưu điểm và nhược điểm của HMM

1.1.1Ưu điểm

HMM có nhiều ứng dụng phong phú. Khi một HMM được áp dụng vào nhận dạng tiếng nói  thì các trạng thái được hiểu là các mẫu âm thanh, cho thấy những âm nào có khả năng được  nghe trong suốt những segment tiếng nói tương  ứng; còn các trạng thái sẽ tạo ra những  ràng buộc theo thời gian cho thấy bằng cách nào những trạng thái có thể nối tiếp nhau một cách  tuần  tự. Bởi tiếng nói luôn phát về phía trước theo thời gian nên các chuyển trạng thái trong một ứng dụng tiếng nói sẽ luôn tiến tới trước tương ứng (hay lặp tại chỗ, cho phép một trạng thái có khoảng tồn tại tuỳ ý).

Có thể dùng dùng để giải quyết các hệ thống mà ta không thể biết được chuỗi trạng thái mà hệ thống trải qua( còn gọi là ẩn).

1.1.2Nhược điểm

Giả định bậc một cho rằng tất cả các xác suất chỉ phụ thuộc duy nhất vào trạng thái hiện tại thì không đúng cho những ứng dụng về tiếng nói. Một hậu quả là các HMM khó có được các mẫu phát âm rõ ràng vì những phân phối âm thanh trong thực tế phụ thuộc rất nhiều vào những trạng thái quá khứ. Một hậu quả khác là các khoảng tồn tại được tạo mẫu không chính xác bởi một phân phối hàm mũ giảm thay vì bằng một phân phối Poisson chính xác hay những phân phối có dạng chuông khác.

Giả định độc lập cho rằng không có sự tương quan giữa những frames nào kế tiếp nhau là không đúng cho những ứng dụng về tiếng nói. Và theo giả định này các HMM chỉ kiểm tra một frame tiếng nói ở một thời điểm.

Những mẫu mật độ xác suất (rời rạc, liên tục hay bán liên tục) đều có độ chính xác tạo mẫu chưa tối ưu. Đặc biệt là các mẫu rời rạc phải chịu sai số lượng tử.

....................................................

  • Lặp lại các bước trên cho đến khi tất cả các frame đều được đánh nhãn.

Khởi tạo HMM cho từng từ: khởi tạo ma trận A, π, B theo cách khởi tạo ngẫu nhiên.

Huấn luyện HMM cho từng từ:

Hình  6.6: Lưu đồ huấn luyện HMM cho từng từ

Trong luận văn này, ngưỡng e được chọn 0.00001

1.1Giải thuật nhận dạng

Sau khi đã huấn luyện HMM của các từ cho hệ thống, ta có thể tiến hành việc nhận dạng từ được nói là từ nào trong số các từ đã huấn luyện. Giải thuật nhận dạng tiếng nói bằng HMM như sau: