Tải bản đầy đủ (.pdf) (92 trang)

NGHIÊN cứu NHẬN DẠNG TIẾNG nói TIẾNG VIÊṬ và ỨNG DỤNG TRONG MOBILE GAME

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (11.11 MB, 92 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


NGUYỄN MINH PHÁT

NGHIÊN CỨU NHẬN DẠNG TIẾNG
NÓI TIẾNG VIỆT VÀ ỨNG DỤNG
TRONG MOBILE GAME

LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS VŨ ĐỨC LUNG

TP. HCM, NĂM 2017


LỜI CAM ĐOAN
Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn này là trung thực và
chưa hề được sử dụng để bảo vệ một học vị nào. Mọi sự giúp đỡ cho việc thực hiện
luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ
rõ nguồn gốc rõ ràng và được phép công bố.
Tôi xin chịu mọi trách nhiệm về công trình nghiên cứu của riêng mình!

TP. Hồ Chí Minh, tháng 1 năm 2017
Học viên

Nguyễn Minh Phát



LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn thầy PGS. TS Vũ Đức Lung, người đã
hướng dẫn tận tình, tạo điều kiện thuận lợi để em hoàn thành tốt luận văn.
Đồng thời em cũng xin gửi lời biết ơn sâu sắc đến gia đình, bạn bè và nhà
trường luôn giúp đỡ tạo điều kiện cho em trong suốt quá trình học tập cũng như thực
hiện luận văn.
Em cũng rất cảm ơn Khoa nghiên cứu khoa học của đại học Carnegie Mellon,
đặc biệt là giáo sư Raj Reddy, người đứng đầu dự án mã nguồn mở phát triển nhận
dạng giọng nói CMUSphinx. Nhờ những đóng góp vô cùng to lớn của giáo sư, em
mới có thể thực hiện việc nghiên cứu của mình.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép,
nhưng do thời gian có hạn và kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận
văn còn nhiều thiếu sót, rất mong nhận được ý kiến góp ý của quý Thầy/Cô cùng các
anh chị học viên.

TP. Hồ Chí Minh, tháng 1 năm 2017
Học viên

Nguyễn Minh Phát


TÓM TẮT LUẬN VĂN
Hiện nay các công nghệ xử lý tiếng nói đã phát triển và được ứng dụng ở nhiều
lĩnh vực, độ chính xác của các hệ thống xử lý ngày càng được cải thiện. Các ứng dụng
của lĩnh vực xử lý tiếng nói rất đa dạng: nhận dạng tiếng nói, xác thực người nói qua
giọng nói, tổng hợp tiếng nói…và đã đạt được nhiều thành tựu trong thực tế.
Để nhận dạng được tiếng nói, ta cần phải xây dựng một hệ thống gọi là hệ
nhận dạng tiếng nói tự động. Hệ nhận dạng này có thể chuyển đổi chuỗi tín hiệu âm
thanh thành chuỗi từ. Đã có nhiều nhóm nghiên cứu trên thế giới phát triển thành

công hệ nhận dạng tiếng nói cho một số ngôn ngữ phổ biến như tiếng Anh, tiếng
Pháp, tiếng Nhật,… Ở Việt Nam cũng đã có nhiều công trình nghiên cứu và thử
nghiệm nhưng vẫn còn hạn chế.
Có nhiều phương pháp nhận dạng tiếng nói bằng thống kê bao gồm: mô
hình Markov ẩn, mạng nơ-ron, sử dụng cơ sở tri thức... Trong luận văn chủ yếu
nghiên cứu các phương pháp xử lý tiếng nói, rút trích đặc trưng tiếng nói bằng
MFCC (Mel-scale Frequency Cepstral Coefficient) và LPC (Linear Predictive
Coding), mô hình Markov ẩn, mô hình âm học, âm vị áp dụng cho tiếng Việt. Luận
văn cũng tìm hiểu về kiến trúc hệ thống nhận dạng tiếng nói qua công cụ CMU
Sphinx và kết hợp với Engine game Cocos2d-x, để xây dựng một Video game 2d có
khả năng nhận dạng tiếng nói tiếng Việt ra lệnh điều khiển trong Game trên nền
tảng hệ điều hành Windows phone.
Do mức độ phức tạp của vấn đề nhận dạng tiếng nói tiếng Việt và thời gian
hạn chế, luận văn này chỉ là bước nghiên cứu ban đầu cho việc tích hợp nhận dạng
tiếng nói tiếng Việt vào Video game.


MỤC LỤC
: TỔNG QUAN .................................................................................. 2
1.1 TÌNH HÌNH TRONG VÀ NGOÀI NƯỚC..................................................... 2
1.2 MỤC ĐÍCH VÀ MỤC TIÊU ĐỀ TÀI ............................................................ 6
1.2.1 MỤC ĐÍCH ............................................................................................. 6
1.2.2 MỤC TIÊU .............................................................................................. 6
: CƠ SỞ LÝ THUYẾT VỀ NHẬN DẠNG TIẾNG NÓI..................... 7
2.1 MỘT SỐ ĐẶC ĐIỂM CỦA TIẾNG VIỆT ..................................................... 7
2.2 BIỂU DIỄN TÍN HIỆU TIẾNG NÓI.............................................................. 8
2.3 HỆ NHẬN DẠNG TIẾNG NÓI ..................................................................... 9
2.3.1 Tổng quan ................................................................................................ 9
2.3.2 Các hệ nhận dạng tiếng nói..................................................................... 10
2.3.2.1 Nhận dạng từ liên tục và tách biệt ................................................... 10

2.3.2.2 Nhận dạng phụ thuộc người nói và độc lập với người nói................ 11
2.4 XỬ LÝ NHIỄU ............................................................................................ 11
2.4.1 Một số loại nhiễu trong môi trường thực ................................................ 11
2.4.2 Một số phương pháp xử lý nhiễu ............................................................ 12
2.5 RÚT TRÍCH ĐẶC TRƯNG TÍN HIỆU TIẾNG NÓI ................................... 13
2.5.1 Giới thiệu ............................................................................................... 13
2.5.2 Tiền khuếch đại (pre-emphasis).............................................................. 14
2.5.3 Tách từ (end-point detection) ................................................................. 14
2.5.4 Phân đoạn thành các khung (Frame Blocking)........................................ 15
2.5.5 Lấy cửa sổ khung tín hiệu (Windowing) ................................................. 16
2.5.6 Rút trích đặc trưng ................................................................................. 17
2.5.6.1 Rút trích đặc trưng với MFCC (Mel-scale Frequency Cepstral
Coefficient) ................................................................................................. 17
2.5.6.2 Rút trích đặc trưng với LPC (Linear Predictive Coding).................. 22
2.5.7 Dò tìm năng lượng (energy detection) .................................................... 28
2.6 GAUSSIAN MIXTURE MODEL ................................................................ 28
2.7 MÔ HÌNH MARKOV ẨN ........................................................................... 30
2.7.1 Giới thiệu ............................................................................................... 30
2.7.2 Chuỗi Markov ........................................................................................ 30
2.7.3 Tham số của mô hình Markov ẩn ........................................................... 31


2.7.4 Ba bài toán cơ bản của mô hình Markov ẩn ............................................ 33
2.7.4.1 Thuật toán lan truyền xuôi ............................................................... 34
2.7.4.2 Thuật toán lan truyền ngược ............................................................ 34
2.7.4.3 Thuật toán lan truyền xuôi – ngược ................................................. 35
2.7.4.4 Thuật toán Viterbi ........................................................................... 35
2.7.4.5 Thuật toán Baum-Welch ................................................................. 36
2.7.5 MÔ HÌNH HMM TRONG NHẬN DẠNG TIẾNG NÓI ........................ 37
2.7.5.1 HMM trong nhận dạng tiếng nói ..................................................... 37

2.7.5.2 Hai vấn đề chính của HMM trong nhận dạng .................................. 39
2.7.5.3 Các thành phần cơ bản của hệ thống nhận dạng tiếng nói dựa trên
HMM.......................................................................................................... 39
2.7.5.4 Nhận dạng tiếng nói với HTK và Sphinx ......................................... 41
: CÔNG CỤ HỖ TRỢ HUẤN LUYỆN VÀ NHẬN DẠNG
TIẾNG NÓI........................................................................................................... 43
3.1 TỔNG QUAN CMU Sphinx ........................................................................ 43
3.2 HUẤN LUYỆN VÀ NHẬN DẠNG GIỌNG NÓI VỚI CMU SPHINX ....... 44
3.2.1 Giới thiệu ............................................................................................... 44
3.2.2 Mô hình HMM trong nhận dạng tiếng nói với Sphinx4 .......................... 44
3.2.3 Các thành phần chính trong CMU Sphinx .............................................. 45
3.2.3.1 Thiết bị đầu cuối - Frontend ............................................................ 46
3.2.3.2 Biểu đồ tìm kiếm - Search graph ..................................................... 47
3.2.3.3 Bộ giải mã - Decoder ...................................................................... 47
3.2.3.4 Bộ ngôn ngữ - Linguist ................................................................... 48
3.2.4 Các xử lý chính trong CMU Sphinx ....................................................... 49
3.2.4.1 Huấn luyện ...................................................................................... 49
3.2.4.2 Nhận dạng ....................................................................................... 49
3.2.5 KẾT LUẬN............................................................................................ 50
3.2.5.1 Ưu điểm ...................................................................................... 50
3.2.5.2 Nhược điểm .................................................................................... 51
3.3 POCKETSPHINX ........................................................................................ 52
3.4 SPHINX 4 VỚI NGÔN NGỮ TIẾNG VIỆT ................................................ 52
3.4.1 Tổng quan .............................................................................................. 52
3.4.2

Corpus ............................................................................................... 52

3.4.2.1 Giới thiệu ........................................................................................ 52
3.4.2.2 Tầm quan trọng của Corpus trong hệ nhận dạng giọng nói .............. 53

: ENGINE GAMES COCOS2D-X .................................................... 54
4.1Tổng quan Cocos2d-x ................................................................................... 54
4.2 Các đối tượng chính trong Cocos2d-x .......................................................... 55


4.2.1 Director .................................................................................................. 55
4.2.2 Scene...................................................................................................... 56
4.2.3 Layer ...................................................................................................... 56
4.2.4 Scene Graph ........................................................................................... 56
4.2.5 Sprite ..................................................................................................... 57
4.2.6 Action .................................................................................................... 57
4.2.7 Parent Child Relationship ....................................................................... 57
4.2.8 Touch ..................................................................................................... 57
4.2.9 Physics ................................................................................................... 57
4.2.10 Network ............................................................................................... 57
: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM .......................... 58
5.1 CÀI ĐẶT CMUSphinx................................................................................. 58
5.1.1 Chuẩn bị các gói cài đặt ......................................................................... 58
5.1.2 Cài đặt .................................................................................................... 58
5.1.2.1 Cài đặt Sphinxbase .......................................................................... 59
5.1.2.2 Cài đặt sphinxtrain .......................................................................... 59
5.1.2.3 Cài đặt pocketsphinx ....................................................................... 59
5.2 XÂY DỰNG BỘ NGÔN NGỮ .................................................................... 60
5.2.1 Giới thiệu ............................................................................................... 60
5.2.2 Xây dựng bộ từ điển ............................................................................... 60
5.2.3 Xây dựng mô hình ngôn ngữ .................................................................. 60
5.2.3.1 Chuẩn bị tập tin văn bản .................................................................. 61
5.2.3.2 Xây dựng bộ từ vựng....................................................................... 61
5.2.3.3 Xây dựng mô hình ngôn ngữ ........................................................... 61
5.2.4 Xây dựng mô hình âm học ..................................................................... 62

5.2.4.1 Chuẩn bị dữ liệu .............................................................................. 62
5.2.4.2 Thiết lập định dạng âm thanh huấn luyện ........................................ 65
5.3 CẤU HÌNH SPHINX ................................................................................... 66
5.3.1 Cấu hình thư mục huấn luyện ................................................................. 66
5.3.2 Điều chỉnh tham số huấn luyện .............................................................. 67
5.3.3 Thực thi huấn luyện................................................................................ 68
5.4 CÀI ĐẶT COCOS2D-X............................................................................... 69
5.4.1 Môi trường lập trình cho các nền tảng khác nhau ................................... 69
5.4.2 Yêu cầu cài đặt tối thiểu cho Windows phone 8 ..................................... 70


5.5 SỬ DỤNG KẾT QUẢ HUẤN LUYỆN........................................................ 71
5.5.1 Các yêu cầu cài đặt đối với hệ thống ...................................................... 72
5.5.2 Thông tin hệ thống ................................................................................. 72
5.5.3 Mô hình chương trình thử nghiệm .......................................................... 73
5.6 THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ................................................ 73
5.7 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN .................................. 74
5.7.1 KẾT QUẢ ĐẠT ĐƯỢC: ........................................................................ 74
5.7.2 HƯỚNG PHÁT TRIỂN: ........................................................................ 75
TÀI LIỆU THAM KHẢO ..................................................................................... 76


i

DANH MỤC BẢNG
Bảng 2.1: Các giá trị đặc trưng cho các tham số phân tích LPC. ...................................... 27
Bảng 5.1. Thông số cấu hình. .......................................................................................... 68
Bảng 5.2. Danh sách lệnh được huấn luyện và nhận dạng ................................................ 73
Bảng 5.3. Kết quả kiểm tra trực tiếp sử dụng điện thoại. .................................................. 74



ii

DANH MỤC HÌNH
Hình 2.1: Chia tín hiệu thành các khung cửa sổ .................................................. 8
Hình 2.2: Các khung cửa sổ liền nhau và spectrogram tương ứng ..................... 9
Hình 2.3. Sơ đồ nhận dạng tiếng nói. ................................................................ 10
Hình 2.4. Quá trình rút trích đặc trưng. .............................................................. 13
Hình 2.5: Minh họa việc tính toán năng lượng thời gian ngắn ........................... 15
Hình 2.6. Phân đoạn tiếng nói thành các khung chồng lấp. ............................... 15
Hình 2.7: Tín hiệu trước và sau khi nhân với cửa sổ Hamming. ........................ 16
Hình 2.8. Các bước rút trích đặc trưng MFCC................................................... 17
Hình 2.9: Mel – spaced filterbank với 20 hệ số mel – spectrum.. ....................... 18
Hình 2.10. Minh họa các bước biến đổi MFCC.................................................. 18
Hình 2.11. Biểu đồ thang tần số Mel theo tần số thực. ...................................... 20
Hình 2.12. Băng lọc tần số Mel. ........................................................................ 21
Hình 2.13. Đưa tín hiệu vào băng lọc tần số Mel. .............................................. 21
Hình 2.14: Sơ đồ xử lý LPC dùng trích chọn đặc trưng tiếng nói....................... 23
Hình 2.15. Mẫu tiếng nói dự báo tuyến tính....................................................... 24
Hình 2.16. Mô hình GMM. ................................................................................. 29
Hình 2.17. Hàm mật độ của GMM có 3 phân phối Gauss. ................................. 29
Hình 2.18. Chuỗi Markov với 5 trạng thái (S1 đến S5). ....................................... 31
Hình 2.19: Mô hình HMM trái phải với 6 trạng thái. ........................................... 33
Hình 2.20. Thuật toán lan truyền xuôi – ngược. ................................................ 35
Hình 2.21. Ước lượng Baum - Welch. ............................................................... 37
Hình 2.22. Rút trích đặc trưng tiếng nói. ............................................................ 40
Hình 2.23. Mô hình máy nhận dạng tiếng nói với HMM. .................................... 41
Hình 2.24. Nhận dạng tiếng nói với HTK. .......................................................... 42
Hình 3.1. Mô hình tổng quát quá trình huấn luyện và nhận dạng tiếng nói. ....... 43
Hình 3.2. Kiến trúc hệ thống Sphinx4. ............................................................... 45

Hình 3.3. Kiến trúc thành phần Frontend. .......................................................... 46
Hình 3.4. Chuỗi các xử lý của thành phần Frontend.......................................... 46
Hình 3.5. Quá trình nhận dạng. ......................................................................... 50
Hình 3.6. Tổng quan về Corpus. ....................................................................... 53
Hình 4.1: Kiến trúc engine game Cocos2d-x ..................................................... 54
Hình 4.2: Liên kết giữa native games và web games ........................................ 54
Hình 4.3: Sử dụng JavaScript cho native games và web games. ...................... 55
Hình 4.4 : Quản lý các màn hình trong game (scene) ....................................... 55


iii
Hình 4.5: Cocos2d-x sử dụng thuật toán in-order walk sẽ duyệt cây từ trái sang
phải, xuất phát từ root. Những node nằm ở nhánh bên phải sẽ được draw sau
cùng. ................................................................................................................. 56
Hình 5.1. Thư mục cài đặt Sphinx trong Ubuntu. ............................................... 58
Hình 5.2. Sơ đồ quá trình tạo mô hình ngôn ngữ. ............................................. 61
Hình 5.3. Thiết lập thông số Rate và Format. .................................................... 66
Hình 5.4. Thiết lập thông số về Channel. .......................................................... 66
Hình 5.5. Cấu trúc thư mục Cocos2d-x. ............................................................ 70
Hình 5.6. Cấu trúc và nội dung thư mục project Poker. ..................................... 72
Hình 5.7. Sơ đồ hoạt động của chương trình thử nghiệm. ................................ 73
Bảng 5.2. Danh sách lệnh được huấn luyện và nhận dạng ............................... 73
Bảng 5.3. Kết quả kiểm tra trực tiếp sử dụng điện thoại. ................................... 74


MỞ ĐẦU
Tiếng nói là giải pháp hợp lý tự nhiên nhất, là phương tiện giao tiếp chủ yếu của con
người. Người dùng không chỉ xài giọng nói của mình như một phương thức nhập liệu
mà chính bản thân thiết bị cũng có thể xài giọng nói để đọc ra những thông tin cần thiết.
Đó là chưa kể đến lợi ích to lớn mà những phần mềm dựa trên giọng nói có thể mang

lại cho những người khiếm thị. Họ có thể tận hưởng những tiến bộ công nghệ tương tự
như những gì mà một người bình thường có thể làm, không còn khoảng cách xuất hiện
do những khiếm khuyết về giác quan.
Những chiếc smartphone, tablet giờ đây đều có tính năng điều khiển bằng giọng
nói, một số sản phẩm thậm chí còn trả lời lại người dùng như thể hai người đang nói
chuyện với nhau. Điều khiển bằng giọng nói đã trở thành một xu hướng mới mẻ trong
thị trường ứng dụng di động, đặc biệt là những app trước đây đòi hỏi người dùng phải
gõ và nhập liệu nhiều. Cùng với sự phát triển của các thiết bị IoT (Internet of Things),
xu hướng sử dụng phần mềm điều khiển bằng giọng nói sẽ được áp dụng nhiều hơn nữa
trong tương lai.
Hiện có cả trăm, cả nghìn ứng dụng cho phép người dùng tìm kiếm, viết email,
ghi chú và đặt lịch hẹn trên smartphone. Thế nhưng, với một số người, việc sử dụng bàn
phím nhỏ xíu trên điện thoại là không tiện lợi, các thao tác trên các ứng dụng, game đôi
khi rườm rà và thậm chí là rất khó chịu.
Trên thế giới, việc ra lệnh bằng tiếng Anh đã được ứng dụng trong Video Game
nhưng ra lệnh bằng tiếng Việt thì còn hạn chế. Để có thể đem lại cho người dùng những
trải nghiệm mới lạ thú vị, có thêm cách thức mới để giải trí thì ứng dụng nhận dạng
giọng nói tiếng Việt trong Video Game là hết sức cần thiết, giúp người khuyết tật có
thêm phương tiện để giải trí. Luận văn “Nghiên cứu nhận dạng tiếng nói Tiếng Viê ̣t và
ứng dụng trong mobile game” là nhằm xây dựng một ứng dụng giúp cho những người
khuyết tật, không lành lặn hoặc bị thương thuận tiện hơn trong việc sử dụng điện thoại
để giải trí. Đồng thời, việc ra lệnh bằng giọng nói trong game sẽ giúp cho chúng ta có
thêm phương tiện để thao tác, giúp thoát khỏi những thao tác nhập nhằng khi chơi Game
trên điện thoại.

1


: TỔNG QUAN
1.1 TÌNH HÌNH TRONG VÀ NGOÀI NƯỚC

Việc nghiên cứu, xây dựng các hệ thống nhận dạng tiếng nói tự động (Automatic
Speech Recognition - ASR) đã có bề dày lịch sử hơn 70 năm, qui tụ nhiều nhóm nghiên
cứu đến từ các trường Đại học, Viện nghiên cứu trên khắp thế giới. Bắt đầu từ những
năm 50 những nghiên cứu đầu tiên về ASR đã được tiến hành với ý tưởng chính dựa
trên ngữ âm. Phải đến những năm 70, nghiên cứu về nhận dạng tiếng nói mới thu được
các kết quả tốt hơn, làm nền tảng cho những phát triển sau này. Đầu tiên có thể kể đến
là bài toán nhận dạng từ rời rạc, Velichko và Zagoruyko là những người tiên phong
trong việc áp dụng phân lớp mẫu cho ASR. Ở Bell-lab, Itakura đã đưa ra phương pháp
mã hóa dự báo tuyến tính (Linear Predictive Coding – LPC) làm tiền đề cho việc áp
dụng các tham số phổ LPC vào ASR. Cho đến năm 1970 khi Lenny Baum ở Đại học
Princeton đã phát minh ra mô hình Markov ẩn (Hidden Markov Model - HMM), đây là
một trong những phát minh quan trọng. Từ đó có thể tạo ra văn bản tương ứng từ tiếng
nói bằng phương pháp thống kê, đã đánh dấu sự chuyển dịch nghiên cứu ASR từ cách
tiếp cận đối sánh mẫu sang tiếp cận sử dụng mô hình thống kê và được sử dụng phổ
biến cho đến ngày nay. Các hệ thống nhận dạng tiếng nói hiện tại đều dựa trên phương
pháp thống kê và so khớp mẫu. Phương pháp này đòi hỏi các tri thức về ngữ âm và một
lượng lớn dữ liệu huấn luyện để huấn luyện bộ nhận dạng.
Trên thế giới đã có nhiều hệ thống nhận dạng tiếng nói tiếng Anh đã và đang được
ứng dụng rất hiệu quả như: Via Voice của IBM, Spoken Toolkit của CSLU (Central of
Spoken Laguage Under-standing), Speech Recognition Engine của Microsoft, Hidden
Markov Model toolkit của đại học Cambridge, CMU Sphinx của đại học Carnegie
Mellon,…, một số ứng dụng phổ biến trên nền tảng di động gần đây nhất là phiên bản
Siri trên iPhone do Viện SRI (Mỹ) phát triển, Google Now được xây dựng trên nền
tảng hệ điều hành Android, Cortana của Microsoft. Trước đây chúng ta phải mất cả chục
thao tác chạm mới đặt xong một sự kiện, còn với Siri, Google Voice hay Cortana, bạn
chỉ cần ra lệnh một cái là xong. Mọi thao tác, từ việc ghi nội dung cho đến thiết lập giờ
giấc, đều được thực hiện một cách tự động.
Ngoài ra, công nghệ nhận dạng giọng nói xuất hiện ngày càng phổ biến trong các
ứng dụng chat/nhắn tin, nhiều dịch vụ Over-The-Top như Zalo, Viber và WhatsApp
cũng đã nhanh chóng đón đầu xu hướng để tích hợp tính năng chat giọng nói vào sản

phẩm của mình.
2


Ở Việt Nam, có 2 nhóm nghiên cứu chính về bài toán nhận dạng tiếng nói liên tục
với bộ từ vựng lớn (Large vocabulary Continuous Speech Recognition-LVCSR): đầu
tiên là nhóm thuộc Viện Công nghệ Thông Tin do PGS. Lương Chi Mai đứng đầu, sử
dụng phương pháp ANN và công cụ CSLU [2], nhóm thứ hai thuộc trường Đại học
Khoa học Tự nhiên Thành phố Hồ Chí Minh do PGS. Vũ Hải Quân đứng đầu, với
phương pháp HMM và dùng công cụ HTK. Ngoài ra còn có nghiên cứu của LIG hợp
tác với phòng thí nghiệm MICA ở Hà Nội về sự khả chuyển của các mô hình ngữ âm
(acoustic model portability).
Cho đến nay, đã có nhiều nghiên cứu và ứng dụng về nhận dạng tiếng nói tiếng
Việt và đã đạt được một số thành tựu nhất định:
- Vietvoice: Đây là phần mềm của giáo sư Lê Tang Hồ ngụ tại Canada. Phiên bản 1.1
được ra mắt lần đầu tiên vào giáng sinh năm 2004, có khả năng nói tiếng Việt từ các tệp
tin. Phần mềm miễn phí cho tất cả mọi người để đáp ứng nhu cầu dạy và học tiếng Việt,
đặc biệt là cho người Việt ở nước ngoài và người nước ngoài học tiếng Việt.
- Với việc sử dụng bộ thư viện của Microsoft Speech SDK để nhận dạng các từ tiếng
Anh, sau đó thực hiện chuyển đổi từ nhận dạng được sang tiếng Việt, nhóm BK02 (sinh
viên Trường Đại học Bách khoa TP Hồ Chí Minh) đã cho ra đời phần mềm Vspeech [6]
vào năm 2004. Phần mềm cho phép người dùng điểu khiển hầu hết các hoạt động của
máy tính bằng giọng nói như mở chương trình, lướt web, soạn thảo văn bản... Chương
trình hỗ trợ cả tiếng Anh lẫn tiếng Việt và được tích hợp với hầu hết các ứng dụng phổ
biến như: Microsoft Windows, Microsoft Office...
- Năm 2011, dựa trên công nghệ xử lí tiếng nói tiếng Việt, phòng thí nghiệm Trí tuệ
nhân tạo – AILab, Trường ĐH Khoa học Tự nhiên, ĐHQG-HCM đã xây dựng ứng
dụng iSago hỗ trợ giao tiếp với điện thoại di động bằng lời nói cho phép tìm kiếm
thông tin nhà hàng, quán Bar, Café trên địa bàn TP. HCM. Ngoài ra còn có VIS (Viet
voIce System) là hệ thống hỗ trợ hỏi đáp thông tin bằng tiếng Việt qua đường điện

thoại.
- Năm 2012, được sự hỗ trợ của Bộ Khoa học và Công nghệ thông qua đề tài nghiên cứu
“Thiết kế chip nhận dạng tiếng nói tiếng Việt trên nền công nghệ FPGA”, TS.Hoàng
Trang và nhóm nghiên cứu trẻ của trường Đại học Bách khoa - Đại học quốc gia TP. Hồ
Chí Minh đã thiết kế thành công chíp nhận dạng tiếng nói tiếng Việt phục vụ cho người
khuyết tật và các ứng dụng khác dựa trên nhận dạng, tổng hợp tiếng nói tiếng Việt.
Xu hướng ứng dụng công nghệ giọng nói trong nước đang được nhiều doanh nghiệp
quan tâm và phát triển.
3


-

Tháng 8/2015, sàn thương mại điện tử Sendo.vn đã giới thiệu ứng dụng mua sắm
trên điện thoại. Thay vì gõ từ khóa, người mua có thể sử dụng giọng nói để tra cứu
sản phẩm cần tìm trên SendoApp. Công ty Bkav cũng đã trang bị công nghệ "trợ lý
ảo" trong mô hình nhà thông minh SmartHome của mình. Theo đó, người dùng có
thể điều khiển các thiết bị trong nhà như bật tắt đèn, điều hòa, ti vi, kéo rèm cửa…
bằng giọng nói.

-

Đầu năm 2015, nhóm phát triển Robot thuộc Viện nghiên cứu Công nghệ FPT bắt
đầu thử nghiệm ứng dụng giọng nói vào robot. Sản phẩm có tên Rogo cho phép
dùng giọng nói để giao tiếp, điều khiển thiết bị trong gia đình, chụp ảnh,
telepresence… Ngoài Rogo, ban công nghệ FPT cũng nghiên cứu một số ứng dụng
như thuyết minh phim (từ phụ đề chuyển sang giọng nói).

Ứng dụng nhận dạng tiếng nói trong Video Game
- Được giới thiệu tại hội chợ Global Game Jam 2011, diễn ra từ ngày 28 đến 30 tại

Vancouver (Canada), PewPew là trò chơi bắn súng không gian giả tưởng trên nền đồ họa
2D. Game yêu cầu 2 người chơi cùng tham gia một lúc, sử dụng micro để điều khiển.
Một người sẽ điều chỉnh túi phản lực của nhân vật bằng cách thổi vào micro, người kia
phát ra âm thanh "pew pew pew" để bắn tia laser.
- Một số máy chơi game console ngày nay đã có tích hợp tính năng nhận diện tiếng nói
như PS4 của Sony hay Xbox One của Microsoft. Microsoft sẽ cho phép người dùng
console của mình có thể điều khiển bằng giọng nói để bật máy, thực hiện việc tìm kiếm,
còn đối với PS4 người dùng chỉ có thể ra lệnh giọng nói để tắt máy, mở game. Với Xbox
One để ra lệnh bằng giọng nói 1 cách có hiệu quả trong game người chơi có thể sử dụng
Voice Commander cho phép chơi cùng lúc với 8 bộ điều khiển (controller) và bất cứ ai
cũng có thể ra lệnh bằng giọng nói, một game thủ GladHeAteHer182, thay vì sử dụng
tay cầm Xbox One, đã thiết lập hệ thống điều khiển bằng giọng nói để ra lệnh cho nhân
vật trong game Destiny.
- Game điều khiển bằng nhận diện giọng nói thường xuất hiện phổ biến trên PC hơn so
với mobile. Thông thường các game thủ muốn sử dụng điều khiển game bằng giọng nói
có thể sử dụng một số phần mềm nhận diện giọng nói (được thiết kế để làm cho trò chơi
và các ứng dụng trở nên thú vị hơn) khi chơi Elite Dangerous và các game khác bằng
cách gán các lệnh bằng giọng nói với phím trên game như Dragon Gaming, Glove Pie và
Say2Play, PiLfluS... Điển hình như với VoiceAttack, Bearzly đã khiến vô số game thủ
4


ngã ngửa khi phá đảo Dark Souls mà không phải động đến bất cứ thiết bị nào khi chỉ sử
dụng chính giọng nói của mình để ra cho lệnh nhân vật. Ví dụ: Nếu muốn thực hiện cú
đánh mạnh, bạn chỉ cần nói “Heavy Attack” (cú đánh mạnh), nếu muốn uống bình máu
thì nói “Item” (vật phẩm). Tuy vậy, phần mềm này có một nhược điểm là độ trễ giữa lúc
nói và lúc thực hiện có thể lên đến 1.5 giây. Vì thế, Bearzly phải lên chiến thuật rất kỹ
càng để tránh sai sót do lag gây ra. Ngoài ra một số hãng game cũng đã tích hơp tính
năng ra lệnh bằng giọng nói qua Kinect cho game của mình như Need for Speed: Most
Wanted, Dead Space 3…

- Trên di động thì có game “Pah! Voice Activated” xuất hiện lần đầu tiên trên iPhone,
sau đó chuyển sang Android và Windows Phone, đây là trò chơi đơn giản: khi phát âm
ra “Ahhhhhh…” thì con tàu sẽ được nâng lên sau đó tự động chìm xuống, súng sẽ bắn
vào đối tượng khi phát âm “Pah!”.
Tuy nhiên hầu hết đểu sử dụng tiếng Anh để ra lệnh trong game. Đối với tiếng Việt thì
Game Up (Vút bay) hoạt động trên nền tảng Android và iOS là game đầu tiên và duy
nhất trong top 50 game của Giải thưởng Chim Xanh 2015 không sử dụng tay để chơi như
các game còn lại. Thay vào đó, người chơi chỉ việc sử dụng giọng nói của mình để điều
khiển nhân vật chính trong game bay lên và vượt qua các chướng ngại vật trên đường.
Điểm đặc biệt trong cách chơi của Vút bay là khả năng nhận diện âm lượng và độ cao
của âm thanh người chơi. Người chơi càng nói to thì nhân vật trong game bay càng nhanh
và ngược lại.

5


1.2 MỤC ĐÍCH VÀ MỤC TIÊU ĐỀ TÀI
1.2.1 MỤC ĐÍCH
Luận văn nghiên cứu mô hình Markov ẩn và các phương pháp nhận dạng tiếng
nói từ đó ứng dụng trong việc huấn luyện, nhận dạng tiếng nói tiếng Việt để ra lệnh điều
khiển trong mobile game.
Giúp người chơi giải trí, nâng cao trải nghiệm của người dùng trong Game.
Nâng cao hiệu quả khi chơi Game, giúp đơn giản hóa các thao tác khi chơi.
1.2.2 MỤC TIÊU
Tìm hiểu tổng quan về nhận dạng tiếng nói, các phương pháp xử lý tín hiệu số,
các phương pháp nhận dạng mẫu, phương pháp ngữ âm-âm vị học, kỹ thuật tìm kiếm tự
động trên máy tính.
Nghiên cứu mô hình Markov ẩn và hệ thống nhận dạng tiếng nói ứng dụng trong
việc huấn luyện, nhận dạng tiếng nói tiếng Việt.
Nghiên cứu các cách xây dựng mô hình ngôn ngữ, ngữ âm cho tiếng Việt.

Tìm hiểu và nghiên cứu các công cụ hỗ trợ huấn luyện, nhận dạng tiếng nói và
xây dựng một Game đánh bài có hỗ trợ nhận dạng tiếng nói tiếng Việt trong quá trình
chơi Game.

6


: CƠ SỞ LÝ THUYẾT VỀ NHẬN DẠNG TIẾNG NÓI
2.1 MỘT SỐ ĐẶC ĐIỂM CỦA TIẾNG VIỆT
-

Tiếng việt là một ngôn ngữ đơn âm (monosyllable – mỗi từ đơn chỉ có một âm
tiết). Một từ có cấu tạo gồm 2 phần là: nguyên âm V (vowel) và phụ âm C
(consonant) và được kết hợp theo 3 cách để tạo nên từ trong tiếng Việt:
o

C+V (phụ âm + nguyên âm). Ví dụ: ba, mẹ, đi

o C+V+C (phụ âm + nguyên âm + phụ âm). Ví dụ: bàn, con, mộng
o V+C (nguyên âm + phụ âm). Ví dụ: ung, ông, én
-

Do đặc điểm trên nên việc phiên âm cho tập từ vựng để xây dựng mô hình từ
vựng cho tiếng Việt là khó khăn. Tuy nhiên, điều này giúp cho hệ nhận dạng
tiếng nói xác định ranh giới giữa các âm tiết (endpoint detection) dễ dàng hơn.
Đối với tiếng Anh, tiếng Pháp là các ngôn ngữ đa âm, biến hình thì việc xác định
ranh giới giữa các âm tiết sẽ rất khó.

-


Tiếng Anh có khỏang hơn 50 âm. Phiên âm trong tiếng Việt thì khó hơn do 1 từ
phát ra giống 1 âm. Nếu phiên âm 1 từ tiếng Việt ra theo các thành phần như:
dấu, âm đầu, âm chính, âm cuối thì chúng ta có khoảng hơn 70 âm nhận dạng
cho tiếng Việt.

-

Đơn vị phát âm nhỏ nhất là âm tiết, tuy nhiên về phương diện thính giác, khi
nghe một âm tiết, nhất là của một ngôn ngữ quen thuộc, người nghe có khả năng
phân chia âm tiết thành các yếu tố nhỏ hơn được gọi là âm vị. Âm tiết trong
Tiếng Việt ổn định có cấu trúc rõ ràng (không có 2 âm tiết nào đọc giống nhau
mà viết khác nhau).

-

Trong Tiếng Việt, một từ thường gồm 5 thành phần: phụ âm đầu, âm đệm,
nguyên âm, phụ âm cuối và dấu (thanh điệu), người ta gọi chung 3 thành phần
âm đệm, âm giữa, và âm cuối là vần. Âm đầu có tất cả 22 âm vị khác nhau, đều
là phụ âm. Âm chính có 16 âm vị, gồm nguyên âm đơn dài, nguyên âm đơn
ngắn, nguyên âm đôi.

-

Tiếng Việt có 6 loại thanh điệu khác nhau: thanh huyền, hỏi, ngã, nặng, sắc, và
thanh bằng. Thanh điệu là âm vị siêu đoạn tính, đặc trưng về thanh điệu trong tín
hiệu tiếng nói thể hiện không rõ nét như các thành phần khác của âm tiết.

-

Tiếng Việt có 29 ký tự chuẩn, các ký tự này kết hợp với 5 thanh tạo nên 74 ký tự

âm tiết. Trong một chuỗi tiếng nói, biên độ tiếng nói sẽ phân bố liên tục theo
dạng hình sin.
7


29 ký tự chuẩn trong tiếng Việt:
[a, ă, â, b, c, d, đ, e, ê, g, h, i, k, l, m, n, o, ô, ơ, p, q, r, s, t, u, ư, v, x, y]
-

Trong Tiếng Việt hệ thống ngữ pháp, ngữ nghĩa rất phức tạp, cách phát âm thay
đổi nhiều theo vị trí địa lí (mỗi miền có giọng đặc trưng riêng).

2.2 BIỂU DIỄN TÍN HIỆU TIẾNG NÓI
a) Dạng sóng theo thời gian
Phần tín hiệu ứng với âm vô thanh là không tuần hoàn, ngẫu nhiên và có biên độ
hay năng lượng nhỏ hơn của nguyên âm (cỡ khoảng 1/3). Ranh giới giữa các từ: là các
khoảng lặng (Silent). Ta cần phân biệt rõ các khoảng lặng với âm vô thanh.
Âm thanh dưới dạng sóng được lưu trữ theo định dạng thông dụng trong máy
tính là *.WAV với các tần số lấy mẫu thường gặp là: 8000Hz, 10000Hz, 11025Hz,
16000Hz, 22050Hz, 32000Hz,…; độ phân giải hay còn gọi là số bít/mẫu là 8 hoặc 16 bít
và số kênh là 1 (Mono) hoặc 2 (Stereo).
b) Phổ tín hiệu tiếng nói
Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị ảnh phổ trong một
khung thời gian ngắn. Ảnh phổ rất hữu dụng để phân tích các âm vị và sự chuyển trạng
thái của chúng.
c) Biểu diễn tín hiệu tiếng nói trong không gian ba chiều (Sonagram)
Để biểu diễn trong không gian 3 chiều người ta chia tín hiệu thành các khung
cửa sổ (frame) ứng với các ô quan sát:

Hình 2.1: Chia tín hiệu thành các khung cửa sổ

Độ dài một cửa sổ tương ứng là 10ms.
Vậy, nếu tần số Fs = 16000Hz thì ta có 160 mẫu trên một cửa sổ.
Các cửa số có đoạn chồng lẫn lên nhau (khoảng 1/2 cửa sổ).

8


Tiếp theo ta vẽ phổ của khung tín hiệu trên trục thẳng đứng, biên độ phổ biểu
diễn bằng độ đậm, nhạt của màu sắc. Sau đó ta vẽ theo trục thời gian bằng cách chuyển
sang cửa số tiếp theo.

Hình 2.2: Các khung cửa sổ liền nhau và spectrogram tương ứng
Biểu diễn tín hiệu tiếng nói theo không gian 3 chiều là một công cụ rất mạnh
để quan sát và phân tích tín hiệu. Ví dụ : theo phương thức biểu diễn này ta có thể dễ
dàng phân biệt âm vô thanh và âm hữu thanh dựa theo các đặc điểm sau:
+Âm vô thanh:
- Năng lượng tập trung ở tần số cao.
- Các tần số phân bố khá đồng đều trong 2 miền tần số cao và tần số thấp.
+ Âm hữu thanh:
- Năng lượng tập không đồng đều.
- Có những vạch cực trị.

2.3 HỆ NHẬN DẠNG TIẾNG NÓI
2.3.1 Tổng quan
Nhận dạng tiếng nói là là một hệ thống tạo khả năng để máy nhận biết ngữ nghĩa
của lời nói. Về bản chất, đây là quá trình biến đổi các tín hiệu âm thanh thành một chuỗi
các từ. Kết quả của quá trình nhận dạng có thể được ứng dụng trong điều khiển thiết bị,
nhập dữ liệu, quay số điện thoại tự động…
Tín hiệu tiếng nói sẽ được rút trích đặc trưng, kết quả thu được sau quá trình này
là các vector đặc trưng.


9


Dữ liệu được huấn luyện

Mô hình ngôn ngữ

Mô hình từ vựng

Mô hình âm
học

Mẫu tham
khảo

Tín hiệu
vào

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

Mô hình
hóa

So khớp
mẫu

Kết quả


Hình 2.3. Sơ đồ nhận dạng tiếng nói.
Hệ thống phải được huấn luyện và xây dựng các đặc trưng để thực hiện việc so
khớp các mẫu. Khi thực hiện huấn luyện, hệ thống sử dụng các vector đặc trưng để tính
toán, ước lượng các tham số cho các mẫu gọi là các mẫu tham khảo. Các mẫu tham khảo
này sẽ được dùng để so sánh và nhận dạng.
Khi nhận dạng, dãy các vector đặc trưng của tín hiệu cần nhận dạng sẽ được so
sánh với các mẫu tham khảo được xây dựng trong quá trình huấn luyện trước đó. Hệ nhận
dạng sẽ tính toán mức độ tương đồng dãy các vector đặc trưng với mẫu tham khảo. Thuật
toán Viterbi được áp dụng cho việc tính toán độ tương đồng trong mô hình Markov ẩn.
Mẫu nào có mức độ tương đồng cao nhất sẽ là kết quả của quá trình nhận dạng.
2.3.2 Các hệ nhận dạng tiếng nói
2.3.2.1 Nhận dạng từ liên tục và tá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 ra 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 hệ thống
dạng này rất phức tạp vì nếu người nói phát âm liên tục sẽ rất khó tách từ, không xử lý
kịp theo thời gian thực. Trong đó, kết quả tách từ ảnh hưởng rất lớn đến các quá trình
sau.
Đố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 lặng trước và sau khi phát âm một từ. Các ứng dụng thực tiễn đối
10


với mô hình dạng này có thể kể đến như hệ thống điều khiển bằng giọng nói, quay số
bằng giọng nói, nhập văn bản bằng giọng nói, tìm kiếm bằng giọng nói,…
2.3.2.2 Nhận dạng phụ thuộc người nói và độc lập với người nói
Trong việc nhận dạng phụ thuộc người nói thì mỗi hệ nhận dạng chỉ phục vụ cho
một người và hệ nhận dạng này sẽ không hiểu người khác nói gì nếu chưa được huấn
luyện. Vì vậy, những hệ nhận dạng này không được áp dụng.

Đối với hệ nhận dạng độc lập người nói thì khắc phục được nhược điểm của hệ
nhận dạng phụ thuộc người nói nhưng hệ nhận dạng này lại không được chính xác. Trên
thực tế, do mỗi người có một giọng nói khác nhau, sống ở những vùng miền và có độ
tuổi khác nhau cũng tác động đến quá trình nhận dạng. Để khắc phục vấn đề này đòi hỏi
hệ nhận dạng phải được huấn luyện với lượng dữ liệu lớn và phong phú. Tuy nhiên điều
này cũng không tăng cường được độ chính xác của quá trình nhận dạng là bao nhiêu.
Do đó để giải quyết vấn đề trên người ta sử dụng phương pháp bán độc lập với
người nói bằng cách thu mẫu một số lượng lớn các tiế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 tiếng của người dùng, bằng cách cho nó
học thêm một vài câu chứa các từ cần thiết (người dùng phải trải qua một quá trình ngắn
để huấn luyện hệ thống trước khi có thể sử dụng).

2.4 XỬ LÝ NHIỄU
Tiếng nói thu nhận trong môi trường văn phòng, nhà ở v.v... và công nghiệp
thường chứa nhiều tạp âm. Không dễ gì có thể lọc được mọi thứ nhiễu, mà ta chỉ tìm
cách tối thiểu hoá chúng để có thể nâng cao chất lượng của hệ thống nhận dạng.
Đối với môi trường nhiễu biết trước, bên cạnh việc sử dụng dữ liệu huấn luyện
gồm các mẫu sạch (được hiểu là mẫu không tạp âm), các mẫu tín hiệu được ghi trong
môi trường nhiễu tương đương cũng được sử dụng để huấn luyện, qua đó hệ thống sẽ
được thích nghi với môi trường làm việc có nhiễu ngay từ đầu vào.
Đối với môi trường nhiễu chưa biết trước, hệ thống nhận dạng sẽ có thể sử dụng
các kỹ thuật tiền xử lý nâng cao tín hiệu, sử dụng micro chuyên dụng có tính định
hướng nguồn âm, sử dụng các phương pháp bù nhiễu hay các mô hình thích nghi…
2.4.1 Một số loại nhiễu trong môi trường thực
- Nhiễu hướng (Directional noise): nhiễu từ hướng như âm TV, giọng nói v.v…
11


- Nhiễu khuếch tán (Diffuse noise): nhiễu môi trường, nền v.v...
- Vang (Reverberation): nhiễu do trễ khi phản xạ tường, trần nhà v.v…

- Nhiễu thiết bị: quạt tản nhiệt, cơ cấu chấp hành, mang cả tính hướng và khuếch
tán.
2.4.2 Một số phương pháp xử lý nhiễu
a. Kỹ thuật CMS (Cepstral-mean-subtraction)
Đây là một kỹ thuật thông dụng để khử nhiễu trong các hệ thống nhận dạng, được
dùng kết hợp trong quá trình tính toán các đặc tính phổ của tiếng nói. Phương pháp này
dựa trên giả thiết là các đặc tính tần số của môi trường là thường xuyên cố định hoặc
biến đổi chậm.
Ô ( )  O ( ) 

1 T
 O(t )
T t 1

(2.1)

Trong đó, T là độ dài của vùng lấy giá trị trung bình, thường là độ dài của cả phát âm.
Các tham số phổ của một phát âm được trừ đi giá trị trung bình của các tham số trong
một khoảng thời gian nào đó và làm cho các giá trị này ít bị ảnh hưởng bởi môi trường.
b. Kỹ thuật RASTA
RASTA là kỹ thuật lọc dựa trên giả thiết rằng các tính chất thời gian của các nhiễu là
khác so với các tính chất thời gian của giọng nói. Tốc độ thay đổi của các thành phần
không phải tiếng nói thường xuyên nằm ngoài tốc độ hoạt động của bộ máy phát âm
con người. Bộ lọc số RASTA sau có thể loại bỏ được một phần các nhiễu của môi
trường và các nhiễu bổ sung bất thường khác.

c. Trừ phổ (SS, Spectral-subtraction)
Đây là một thuật toán giảm nhiễu đơn giản nhất. Nó dựa trên nguyên lý cơ bản là nó sẽ
mô tả và cập nhật nhiễu trong tín hiệu có nhiễu bằng cách thu nhiễu khi không có sự
hiện diện của tín hiệu. Và nhiễu đó sẽ được trừ với tín hiệu có nhiễu, kết quả là tín hiệu

12


của chúng ta sau khi xử lý bằng thuật toán này sẽ được loại đi nhiễu và xét trên
phương diện lý tưởng thì nó là tín hiệu sạch [8][11].

2.5 RÚT TRÍCH ĐẶC TRƯNG TÍN HIỆU TIẾNG NÓI
2.5.1 Giới thiệu
Đặc điểm chung của các hệ nhận dạng tiếng nói là đều bắt đầu bằng quá trình tìm
hiểu và mô phỏng các đặc điểm của tiếng nói, hay còn gọi là quá trình “rút trích đặc
trưng”. Công việc này đặt nền tảng quan trọng cho việc áp dụng các phương pháp nhận
dạng và quyết định tới tính chính xác của toàn hệ thống. Đây là một trong những công
đoạn quan trọng trong quá trình nhận dạng tiếng nói, vì giúp giảm thiểu số lượng dữ liệu
trong quá trình huấn luyện và nhận dạng. Trích chọn đặc trưng đối với nhận dạng tiếng
nói là việc tham số hóa chuỗi tín hiệu âm thanh dạng sóng đầu vào, biến đổi tín hiệu âm
thanh thành một chuỗi các vector đặc trưng n chiều, mỗi chiều là một giá trị thực. Bên
cạnh đó, việc trích chọn đặc trưng giúp làm rõ sự khác biệt của tiếng nói này với tiếng
nói khác hay làm mờ đi sự khác biệt của hai lần phát âm trong cùng một từ. Kết quả của
quá trình trích chọn các đặc trưng sẽ là một hoặc nhiều vector mang đặc trưng riêng.

Hình 2.4. Quá trình rút trích đặc trưng.
Nguồn: Tham khảo từ [3]
Tín hiệu âm thanh lưu trong máy tính là tín hiệu digital [11], mô hình hoá tín hiệu
âm thanh trong máy tính dưới dạng toán học là một hàm s(n) với n chỉ thời gian (đơn vị
thông thời là ms) và s(n) là biên độ âm.

13


2.5.2 Tiền khuếch đại (pre-emphasis)

Ở bước này, mục đích là tăng cường tín hiệu, làm nổi rõ đặc trưng của tín hiệu và
làm cho nó ít nhạy cảm hơn với các hiệu ứng do độ chính xác hữu hạn ở những bước sau.
Bộ làm rõ tín hiệu thường là một bộ lọc thông cao (high-pass filter) có phương trình sai
phân như sau:
~

s(n)  s(n)  as (n  1); với 0.9  a  1
Trong đó, hệ số làm nổi a càng cao, thành phần có tần số thấp bị loại đi càng nhiều.
Bộ lọc thông cao giữ lại các thành phần có tần số cao, loại bỏ các thành phần có tần số
thấp. Trong tiếng nói các thành phần có tần số cao mang năng lượng ít hơn nhiều so với
các thành phần có tần số thấp, nhưng những vùng này lại lưu giữ một phần tín hiệu
quan trọng của tiếng nói. Vì vậy, chúng ta sẽ tăng cường tín hiệu trong vùng tần số cao
- vùng tần số của tiếng nói, một cách dễ hiểu là làm tiếng nói lớn hơn lên để ảnh hưởng
của các âm thanh môi trường và nhiễu trở thành không đáng kể.

2.5.3 Tách từ (end-point detection)
Để giảm khối lượng tính toán, và tăng độ chính xác, chỉ khi nào có tín hiệu tiếng
nói thu được mới xử lý. Tín hiệu tiếng nói s(n) sau khi được khuếch đại, thì được chuyển
sang để tách từ. Công đoạn này chia toàn bộ tín hiệu thu được thành các đoạn tín hiệu mà
chỉ chứa nội dung của một từ.
Trong nhiều phương pháp để tách điểm đầu và điểm cuối của một từ ra khỏi toàn
bộ tín hiệu tiếng nói, thì phương pháp dùng hàm năng lượng (ESS – Energy of Speech
Signal) thời gian [18] là phương pháp được sử dụng phổ biến nhất. Ta thấy rằng biên độ
của tín hiệu tiếng nói thay đổi đáng kể theo thời gian. Thực tế biên độ của phần âm vô
thanh (unvoiced) là thấp hơn rất nhiều so với biên độ của phần âm hữu thanh (voiced).
Năng lượng thời gian ngắn của tín hiệu tiếng nói cung cấp sự biểu diễn ngược với sự biến
đổi của biên độ.

14



×