Trong cuộc sống có rất nhiều ứng dụng cần đến nhận dạng tự động bằng tiếng nói như nhapaj dữ liệu máy tính bằng lời, hỗ trợ người tàn tật, quay số điện thoại bằng lời nói … Hiện nay trên
Trang 1LUẬN VĂN THẠC SĨ KHOA HỌC
NGÀNH : ĐO LƯỜNG VÀ CÁC HỆ THỐNG ĐIỀU KHIỂN
NGHIÊN CỨU HỆ THỐNG NHÚNG GIÁM SÁT, ĐIỀU KHIỂN CÁC THIẾT BỊ DÂN DỤNG BẰNG TIẾNG NÓI
TIẾNG VIỆT
KHUẤT QUANG VINH
Hà Nội 2009
Trang 2LỜI CẢM ƠN
Sau một thời gian thực tập và nghiên cứu tại Trung tâm MICA – Trường
Đại học Bách Khoa Hà Nội, tôi đã hoàn thành luận văn “Hệ thống nhúng giám sát điều khiển các thiết bị dân dụng bằng tiếng nói tiếng Việt” theo đúng yêu
cầu khi được giao luận văn cao học
Tôi xin gửi lời cảm ơn chân thành tới Trung tâm MICA nơi tạo điều kiện
cho tôi thực tập nghiên cứu và làm luận văn Qua đây tôi cũng xin chân thành cảm
ơn TS Eric Castelli, TS Nguyễn Thị Lan Hương, TS Nguyễn Quốc Cường, TS Nguyễn Việt Tùng cùng nhiều cán bộ nghiên cứu khác đã giúp đỡ tôi hoàn thành
tốt luận văn này Đặc biệt tôi xin gửi tới PGS-TS Phạm Thị Ngọc Yến lòng biết
ơn sâu sắc, người đã trực tiếp hướng dẫn và tạo điều kiện giúp đỡ tôi hoàn thành luận văn này
Xin bảy tỏ lòng biết ơn tới các thày cô Bộ môn Kỹ thuật Đo và Tin học
công nghiệp đã tạo điều kiện và giúp đỡ tôi trong suốt quá trình học tập chương
trình đào tạo thạc sỹ vừa qua
Tôi cũng xin bày tỏ lòng biết ơn sâu sắc tới gia đình và bạn bè cùng khóa học luôn ủng hộ, khích lệ tôi để tôi có thể yên tâm học tập, nghiên cứu và trưởng thành như ngày hôm nay
Một lần nữa tôi xin chân thành cảm ơn!
Hà Nội, ngày 02 tháng 11 năm 2009
Trang 3CÁC THUẬT NGỮ SỬ DỤNG TRONG LUẬN VĂN
1 HMM Hidden Markov Moden
2 LPC Linear Predictive Coding
3 MFCC Mel Frequency Coefficient Cepstral
4 ANN Artificial Neuron Network
5 MLP Multilayer Perceptron
6 DSP Digital Signal Processor
7 CCS Code Composer Studio
8 TI Texas Instrument
9 CSDL Cơ sở dữ liệu
10 DTW Dynamic Time Wrapping
Trang 4MỤC LỤC
LỜI MỞ ĐẦU 8
-CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI VÀ HỆ THỐNG TƯƠNG TÁC NGƯỜI – MÁY BẰNG TIẾNG NÓI 11
-1.1 Nhận dạng tiếng nói: 11
-1.2 Các phương pháp tiếp cận trong nhận dạng tiếng nói 14
-1.2.1 Phương pháp âm học – ngữ âm học: 14
-1.2.2 Phương pháp nhận dạng mẫu 16
-1.2.3 Phương pháp ứng dụng trí tuệ nhân tạo 18
-1.3 Tình hình nghiên cứu và ứng dụng về nhận dạng tiếng nói tiếng Việt 20 -1.4 Hệ thống tương tác người – máy bằng tiếng nói 21
-1.5 Mục tiêu và nhiệm vụ của luận văn 23
-1.5.1 Mục tiêu 23
-1.5.2 Nhiệm vụ 23
-CHƯƠNG 2: XÂY DỰNG CƠ SỞ DỮ LIỆU 25
-2.1 Nhà thông minh: 25
-2.1.1 Quan niệm về ngôi nhà thông minh 25
-2.1.2 Các đối tượng điều khiển trong ngôi nhà thông minh 26
-2.2 Điều khiển các thiết bị trong nhà bằng tiếng nói: 27
-2.2.1 Các phương thức điều khiển thiết bị gia dụng trong nhà: 27
-2.2.2 Nghiên cứu, đề xuất “cú pháp” điều khiển cho thiết bị: 29
-2.2.3 Đề xuất tập lệnh và lệnh định danh cho một số thiết bị gia dụng: 29 -2.2.4 Tổng kết tập lệnh: 33
-2.3 Xây dựng cơ sở dữ liệu: 34
-2.3.1 Bảng các từ cần thu âm 34
-2.3.2 Các bước thu âm 34
-CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN NHẬN DẠNG TỪ ĐIỀU KHIỂN TRÊN PC 35 -3.1 Tiền xử lý tín hiệu: 35
-3.1.1 Hàm năng lượng ngắn hạn 35
Trang 5-3.1.3 Bộ lọc hiệu chỉnh 36
-3.2 Trích chọn đặc trưng tín hiệu tiếng nói: 37
-3.2.1 Phân khung tín hiệu 37
-3.2.2 Mô hình LPC (Linear Predictive Coding model) 39
-3.2.3 Phương pháp MFCC (MelFrequency Ceptrum Coefficients) 46
-3.3 Mô hình nhận dạng: 49
-3.3.1 Mô hình Markov ẩn 49
-3.3.2 Mô hình mạng neuron 57
-3.4 Thử nghiệm thuật toán trên Matlab 62
-3.4.1 Phạm vi thử nghiệm (giới hạn) 62
-3.4.2 Kết quả 62
-3.4.2.1 Mô hình Markov ẩn (HMM) 62
-3.4.2.2 Mô hình mạng Neuron 69
-3.4.3 Lựa chọn thuật toán để cài đặt lên hệ nhúng 71
-CHƯƠNG 4: TRIỂN KHAI THUẬT TOÁN NHẬN DẠNG TIẾNG VIỆT TRÊN DSP 72 -4.1 Giới thiệu về DSP C6713 72
-4.1.1 Một số đặc điểm kĩ thuật của DSP C6713 72
-4.1.2 Bộ DSK 6713 74
-4.1.3 Bộ Codec AIC23 75
-4.1.4 Code Compose Studio (CCS) 76
-4.2 Viết thuật toán nhận dạng từ điều khiển cho DSP 78
-4.2.1 Lưu đồ thuật toán nhận dạng tiếng nói tự động cho DSP 78
-4.2.2 Xây dựng các module của chương trình 79
-4.3 Cài đặt thuật toán nhận dạng trên DSP 6713 79
-4.3.1 Thu tín hiệu âm thanh trên DSK 6713 79
-4.3.2 Cài đặt thuật toán trích đặc trưng MFCC và mạng Neuron lên chip DSP 80 -CHƯƠNG 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 82
-5.1 Nhận xét kết quả chung của luận văn 82
-5.2 Phương hướng tiếp theo 83
-5.2.1 Cải tiến thuật toán 83
-5.2.2 Thiết kế hệ nhúng tự chủ 84
Trang 6TÀI LIỆU THAM KHẢO 86
Trang 7-DANH MỤC HÌNH VẼ
Hình 1.1: Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói điển hình -
13 Hình 1.2: Sơ đồ khối phương pháp âm học ngữ âm học 15
-Hình 1.3: Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu 17
Hình 1.4: Mô hình của phương pháp bottomup 20
-Hình 1.5: Sơ đồ hoạt động của một hệ thống giao tiếp người máy bằng tiếng nói - 22 -Hình 1.6: Rô bốt trợ giúp ALBERT tại triển lãm Hannover, Rô bốt này được điều khiển bằng tiếng nói [Rogalla 2002] 23
Hình 2.1: Điều khiển TV từ xa 29
Hình 2.2: Điều khiển từ xa cho Điều hòa 30
Hình 2.3: Nồi cơm điện có hẹn giờ nấu 31
Hình 2.4: Điều khiển từ xa Đầu đọc đĩa DVD 32
Hình 3.1: Trích đặc trưng của tiếng nói 38
Hình 3.2: Tin hiệu gốc và tín hiệu được khôi phục bởi các hệ số LPC 43
Hình 3.3: Các bước thực hiện thuật toán LPC 43
Hình 3.4: Tấn số Mel 47
Hình 3.5: Qui trình trích đặc trưng MFCC 47
Hình 3.6: Các bộ lọc tam giác để tính năng lượng trên mỗi dải tần số 48
Hình 3.7: Mô hình bóng màu 50
Hình 3.8: Hàm forward 52
Hình 3.9: Hàm backward 52
Hình 3.10: Biến Forwardbackward 54
Hình 3.11: Mô hình phi tuyến của một mạng Neuron 57
Hình 3.12: a) Hàm ngưỡng b) Hàm tuyến tính c)Hàm sigmoid 58
Hình 3.13: Cấu trúc mạng Neuron 1 mức 58
Hình 3.14: Mạng Neuron đa lớp 59
Hình 3.15: Mạng hồi qui Hopfield 59
Hình 3.16: Quá trình học mạng đa mức 61
Hình 3.17: Quá trình họcHMM 63
Hình 3.18: Quá trình kiểm tra HMM 64
Hình 3.19: Hàm tính codebook 65
Hình 3.20: Hàm huấn luyện HMM 65
Hình 3.21: Hàm kiểm tra 65
Hình 3.22: Kết quả theo kích thước codebook 66
Hình 3.23: Kết quả theo số trạng thái HMM 66
Trang 8Hình 3.24: Kết quả theo số bậc LPC 67
Hình 3.25: Kết quả theo số trạng thái HMM 67
Hình 3.26: Test 2 lần để nâng cao kết quả 68
Hình 3.27: Quá trình tìm tham số tối ưu cho mạng Neuron 69
Hình 3.28: Hàm chuẩn bị dữ liệu 70
Hình 3.29: Hàm huấn luyện mạng Neuron 70
Hình 3.30: Hàm Kiểm tra 70
Hình 3.31: Mạng Neuron với đặc trưng LPC 70
Hình 3.32: Mạng Neuron với đặc trưng MFCC 71
Hình 4.1: Cấu trúc bộ nhớ của DSP 73
Hình 4.2: Bảng mạch DSK 6713 74
Hình 4.3: Cấu trúc bộ kit DSK 6713 75
Hình 4.4: Mô hình bộ CodecAIC23 75
Hình 4.5: Kết nối CCS với DSK 6713 77
Hình 4.6: Lưu đồ thuật toán nhận dạng tiếng nói rời rạc cho DSP 78
Hình 4.7: Sai lệch khi tính hệ số MFCC bằng chương trình C 81
Hình 5.1: Mô hình nhận dạng kết hợp DTW và mạng Neuron cho 1 từ 84
Trang 9-LỜI MỞ ĐẦU
Nhận dạng tiếng nói tự động từ lâu đã là một mơ ước của con người Trong những năm gần đây, khi mà khoa học công nghệ tiến bộ cho phép thì ước mơ này đang dần dần trở thành hiện thực Trong cuộc sống có rất nhiều ứng dụng cần đến nhận dạng tự động bằng tiếng nói như nhapaj dữ liệu máy tính bằng lời, hỗ trợ người tàn tật, quay số điện thoại bằng lời nói … Hiện nay trên thế giới đã có một
só hệ thống nhận dạng tiếng nói cỡ lớn, có độ chính xác tương đối cao Các hệ thống này chủ yếu được phát triển trên nền công nghệ hiện đại với các máy tính lớn, các vi mạch xử lý tiếng nói chuyên dụng và sử dụng các cơ sở dữ liệu tiếng nói khá hoàn chỉnh (chủ yếu là tiếng Anh)
Còn đối với tiếng Việt, do có những đặc thù riêng, nên việc chọn lựa cách tiếp cận bài toán nhận dạng sao cho phù hợp với tiếng Việt là một vấn đề quan trọng và tương đối khó khăn Trong những năm gần đây, ở Việt Nam nói chung
và ở Đại học Bách Khoa HN nói riêng, đã có khá nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt Tuy nhiên, nếu so với trên thế giới thì những kết quả đó còn tương đối hạn chế Cho đến nay, các hệ thống nhận dạng tiếng nói thành công nhật chủ yế dựa trên khuynh hướng nhận dạng mẫu Các kỹ thuật nhận dạng mẫu đơn giản như lượng tử hóa vector, hiệu chỉnh thời gian động … đã được áp dụng khá thành công vào các ứng dụng nhận dạng tiếng nói tiếng Việt phát âm rời rạc với số lượng từ vựng hạn chế Tuy nhiên, mục tiêu của nhận dạng tiếng nói tự động bằng máy là phải tiến tới các hệ thống nhận dạng tiếng nói liên tục, kích thước từ điển lớn, không phụ thuộc người nói Vì vậy, các hệ thống nhận dạng tiếng nói ngày nay thường được xây dựng trên cơ sở áp dụng các kỹ thuật nhận
Trang 10dạng mẫu phức tạp hơn, đó là mô hình Markov ẩn, hoặc mô hình lai giữa Markov
Để có thể mở rộng các ứng dụng của nhận dạng tiếng nói tiếng Việt tự động, các ứng dụng của công nghệ này không chỉ được phát triển trên máy tính
mà cần phải được phát triển trên các hệ nhúng
Với mục đích đưa các nghiên cứu về nhận dạng tiếng nói tiếng Việt vào ứng dụng trong thực tế, mang lại những sản phẩm thực sự hữu ích và thân thiện cho người sử dụng Luận văn này đi giải quyết vấn đề nghiên cứu thiết kế một vỉ mạch nhúng có thể cấy ghép vào các thiết bị gia dụng sẵn có, để thêm tính năng điều khiển bằng giọng nói cho các thiết bị đó
Nội dung của luận văn tập trung vào các vấn đề sau:
- Nghiên cứu các kỹ thuật nhận dạng tiếng nói
Trang 11- Chương 1: Tổng quan về nhận dạng tiếng nói
- Chương 2: Xây dựng cơ sở dữ liệu
- Chương 3: Xây dựng và kiểm thử thuật toán nhận dạng tiếng Việt rời rạc trên PC
- Chương 4: Xây dựng thuật toán nhận dạng trên DSP
- Chương 5: Kết quả và hướng phát triển
Trong quá trình thực hiện đề tài này tôi đã học hỏi và thu nhận được rất nhiều kiến thức mới mẻ, điều này làm tôi cảm thấy hăng hái hơn trong việc học tập và nghiên cứu sau này Do hiểu biết của bản thân còn hạn chế và lĩnh vực xử
lý tiếng nói là một lĩnh vực khó nên chắc chắn luận văn còn nhiều thiếu sót, tôi rất mong nhận được sự chỉ bảo góp ý của các thầy, cô giáo và các bạn học cùng khóa học Cao học Đo lường & các hệ thống điều khiển 2007-2009
Tôi xin chân thành cảm ơn!
Học viên thực hiện
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI
VÀ HỆ THỐNG TƯƠNG TÁC NGƯỜI – MÁY BẰNG
TIẾNG NÓI
1.1 Nhận dạng tiếng nói:
Nhận dạng tiếng nói là một lĩnh vực có tiềm năng ứng dụng to lớn Một cách tổng quát, nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói Thực chất đay là quá trình biến đỏi tín hiệu âm thanh thu được qua micro, qua đường dây điện thoại hoặc các thiết bị thu âm khác, … thành một chuỗi các từ, sau đó các từ được nhận dạng có thể được sử dụng ngay trong các ứng dụng điều khiển thiết bị, nhập liệu, soạn thảo văn bản bằng lời, … hoặc được đưa đến một quá trình xử lý ngôn ngữ mức cao hơn
Có thể phân loại các hệ thống nhận dạng tiếng nói như sau:
- Nhận dạng các từ phát âm rời rạc/liên tục
- Nhận dạng tiếng nói phụ thuộc người nói/không phụ thuộc người nói
- Hệ thống nhận dạng có từ điển cỡ nhỏ (khoảng vài chục từ)/ từ điển cỡ lớn (hàng nghìn từ)
- Nhận dạng tiếng nói trong môi trường có độ ồn thấp/cao
- …
Trong một hệ thống nhận dạng tiếng nói phát âm rời rạc thì người nói sau khi nói một từ phải dừng lại trước khi phát âm từ tiếp theo Ngược lại, hệ thống nhận dạng lời nói liên tục không đòi hỏi điều này
Hệ thống nhận dạng phụ thuộc người nói đòi hỏi người nói phải cung cấp một số mẫu tiếng nói của mình trước khi sử dụng Còn hệ thống nhận dạng không phụ thuộc người nói có thể nhận dạng lời nói của bất kì người nào
Trang 13Hệ thống nhận dạng tiếng nói có từ điển cỡ lớn hoặc có nhiều từ dễ nhầm lẫn thường có độ chính xác không cao bằng hệ thống nhận dạng có vốn từ vựng
cỡ nhỏ
Một vấn đề trọng tâm của nhận dạng tiếng nói là phải giải quyết được tính biến thiên của tín hiệu tiếng nói Hiện tại các hệ thống nhận dạng tiếng nói phân biệt hai loại tính chất biến thiên: biến thiên âm học và biến thiên thời gian Biến thiên âm học bao hàm sự khác biệt về trọng âm, phát âm, cao độ, âm lượng … Còn biến thiên thời gian là sự khác nhau về tốc độ phát âm Hai loại biến thiên này lại không hoàn toàn độc lập với nhau, ví dụ khi một người nói nhanh (biến thiên thời gian) thì một số đoạn âm thanh có thể bị luyến (biến thiên âm học)
Ngoài ra, khi lời nói là một cụm từ hay một câu, ta cần áp dụng mô hình ngôn ngữ hoặc một nguyên tắc ngữ pháp thích hợp nào đó để giới hạn mức độ kết hợp giữa các từ mô hình ngôn ngữ đơn giản nhất là một cấu trúc xác định các từ được ghép đi sau một từ nào đó trong từ điển Mô hình ngôn ngữ phức tạp hơn sử dụng các nguyên tắc ngữ pháp của ngôn ngữ tự nhiên
Trang 14Hình 1.1: Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói điển hình
Hình 1.1 cho ta thấy các phần tử cơ bản của một hệ thống nhận dạng tiếng nói điển hình Tín hiệu tiếng nói sau khi được số hóa sẽ được chuyển thành một tập các vector tham số đặc trưng với các phân đoạn tiếng nói có độ dài khoảng 10-30ms Các đặc tính này được dùng để tìm kiếm các từ giống nhất với một số điều kiện ràng buộc về âm học, từ vựng và ngữ pháp (mô hình ngôn ngữ) Trong quá trình huấn luyện, cơ sở dữ liệu tiếng nói được sử dụng để xác định cac tham số hệ thống
Một trong những khó khăn lớn nhất của việc nghiên cứu nhận dạng tiếng nói tự động là tính phụ thuộc đa chuyên ngành Có rất nhiều chuyên ngành khoa học liên quan đến nhận dạng tiếng nói như: xử lý tiếng nói, vật lý (âm học), nhận dạng mẫu, lý thuyết truyền tin, ngôn ngữ học, sinh lý học, khoa học máy tính…
Để có thể xây dựng thành công một hệ thống nhận dạng tiếng nói tự nhiên có từ điển cỡ lớn thì cần phải có nhiều kiến thức trong tất cả các lĩnh vực chuyên môn
đó, đấy là một lượng kiến thức khổng lồ vượt quá khả năng của bất kỳ một người nào Vì vậy, hầu hết các nhà khoa học thường chỉ tập trung giải quyết một số bài toán cụ thể trên cơ sở chuyên ngành hẹp của mình
Cơ sở dữ liệu tiếng nói
Mô hình
âm học
Phân tích xác định đặc tính Tìm kiếm
Tín hiệu
tiếng nói
Câu được nhận dạng
Mô hình
từ vựng
Mô hình ngôn ngữ
Các vector đặc
Trang 151.2 Các phương pháp tiếp cận trong nhận dạng tiếng nói
Hiện nay có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói,
đó là:
- Phương pháp âm học – ngữ âm học
- Phương pháp nhận dạng mẫu
- Phương pháp ứng dụng trí tuệ nhân tạo
1.2.1 Phương pháp âm học – ngữ âm học:
Phương pháp này dựa trên lý thuyết về âm học – ngữ âm học cho rằng tồn tại các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ
âm đó được đặc trưng bởi một tập các đặc tính tín hiệu tiếng nói Mặc dù các đặc tính âm học của các đơn vị ngữ âm biến thiên rất lớn theo cả giọng người nói lẫn tác động của các đơn vị ngữ âm xung quanh nhưng tồn tại các quy tắc cho phép giải quyết vấn đề này Bước đầu tiên trong nhận dạng tiếng nói theo phương pháp này là phân đoạn và gán nhãn Bước này chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán cho mõi đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp Bước tiếp theo (bước nhận dạng) dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp… để xác định ra một từ hoặc một chuỗi từ đúng trong số một chuỗi các nhãn ngữ âm được tạo ra sau bước thứ nhất
Sơ đồ khối của hệ thống nhận dạng theo phương pháp này như sau:
Trang 16Nguyên lý hoạt động của hệ thống này như sau:
- Tín hiệu tiếng nói sau khi số hóa được đưa tới khối phân tích tiếng nói nhằm xác định các số đo phổ tín hiệu tiếng nói biến đổi theo thời gian Các
kỹ thuật phân tích tiếng nói phổ biến là sử dụng các bộ lọc thông dải, mã hóa dự đoán tuyến tính (LPC), …
- Bước sau đó là tách đặc tính tín hiệu tiếng nói nhằm biến đổi các số đo phổ tín hiệu thành một tập các đặc tính mô tả các tính chất âm học của các đơn
vị ngữ âm khác nhau Các đặc tính đó có thể là: tính chất âm mũi, âm xát,
vị trí các formant, âm hữu thanh hay vô thanh, tỷ số mức năng lượng tần số cao so với mức năng lượng tần số thấp, …
- Tiếp theo là bước phân đoạn và gán nhãn Ở bước này hệ thống nhận dạng tiếng nói cố gắng tìm các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị
Hình 1.2: Sơ đồ khối phương pháp âm học ngữ âm học.
Bộ phát hiện đặc điểm 1
Hệ thống phân
tích tiếng nói
Bộ phát hiện đặc điểm Q
Chiến lược điều khiẻn
Phân đoạn
Và Gán nhãn
Âm mui Phụ âm xát
Lưới âm vị Lưới đoạn Khả năng Gán nhãn Cây quyết đinh Chiến lược – phân tích s(n)
Trang 17ngữ âm Đây chính là bước chủ yếu của hệ thống nhận dạng tiếng nói theo khuynh hướng âm học – ngữ âm học, và là bước khó thực hiện tin cậy nhất
- Bước cuối cùng là dựa vào một số nguyên tắc lựa chọn để kết hợp chính xác các khối ngữ âm để tạo thành các từ nhận dạng
- Phương pháp này đã được nghiên cứu sâu trong hơn 40 năm qua, tuy nhiên
vì nhiều nguyên nhân mà cách tiếp cận này không thu được nhiều thành công Sau đây là một vài nguyên nhân cơ bản:
- Phương pháp này yêu cầu sự hiểu biết sâu rộng về các thuộc tính âm học của các đơn vị ngữ âm Điều này thường không thể có được trừ các thuộc tính âm học của các nguyên âm
- Việc lựa chọn các đặc điểm đa phần dựa vào các quan sát không theo cách thức nào cả Với hầu hết các hệ thống các đặc điểm được lựa chọn dựa vào trực giác và không được tối ưu
- Thiết kế của các bô phân loại âm thanh cũng không được tối ưu Gần đây phương pháp CART (Classification And Regression Tree) được sử dụng để xây dựng các cây quyết định hiệu quả hơn Tuy nhiên các đặc điểm được lựa chọn chỉ là các tối ưu địa phương
- Không có thủ tục tự động, xác định nào để điều chỉnh các tham số của phương pháp này (ví dụ như điều chỉnh ngưỡng quyết định …) Thậm chí không có mọt cách đánh nhãn nào được phần lớn các chuyên gia chấp nhận
1.2.2 Phương pháp nhận dạng mẫu
Phương pháp này không cần xác định đặc tính âm học hay phân đoạn tiêng nó mà
sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo 2 bước Ở bước thứ nhất, hệ thống sử dụng một tập mẫu tiếng nói (cơ sở dữ liệu tiếng nói) để huấn luyện tạo ra các mẫu tiếng nói đặc trưng (mẫu tham chiếu) Bước thứ hai hệ
Trang 18thống nhận các mẫu tiếng nói từ bên ngoài, so sánh chúng với các mẫu đặc trưng
để nhân dạng
Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói dùng cho huấn luyện có đủ các phiên bản của mẫu cần nhận dạng thì quá trình huấn luyện có thể xác định chính xác các đặc tính âm học của mẫu (mẫu ở đây có thể là âm vị, từ, cụm từ,
…) Trước đây, đối với các hệ thống nhận dạng tiếng nói là các từ rời rạc, vốn từ vựng cỡ nhỏ thì người ta thường áp dụng các kỹ thuật nhận dạng mẫu đơn giản như: lượng tử hóa vector, hiệu chỉnh thời gian động, Hiện nay có hai kĩ thuật nhận dạng mẫu được áp dụng khá thành công trong lĩnh vực nhận dạng tiếng nói,
đó là mô hình Markov ẩn và mạng Neuron
Sơ đồ khối của hệ thống nhận dạng tiếng nói theo phương pháp này như sau:
Hình 1.3: Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu
Hoạt động của hệ thống có thể được tóm tắt như sau:
- Trích chọn đặc trưng tiếng nói: đầu tiên tín hiệu tiếng nói được phân tích thành một chuỗi các số đo để xác định mẫu nhận dạng Các số đo đặc tính thường la kết quả của một số kĩ thuật phân tích phổ như: các bộ lọc thông
Phân tích
hệ thống
Huấn luyện mẫu
Các mẫu chuẩn/ các
mô hình
Phân loại mẫu
Quyết định logic
Băng lọc
LPC DFT
Tiếng nói nhận dạng
Trích chọn
đặc trưng
Tiếng
nói
Trang 19dải, phân tích mã hóa dự đoán tuyến tính (LPC), phép biến đổi Fourier rời rạc (DFT) …
- Huấn luyện mẫu: các mẫu tiếng nói tương ứng với các đơn vị âm thanh cùng loại được dùng để đào tạo ra các mẫu hoặc các mô hình đại diện, còn gọi là mẫu tham chiếu hay mẫu chuẩn
- Nhận dạng: các mẫu tiếng nói được đưa tới khối phân loại mẫu, khối này có nhiệm vụ so sánh mẫu đầu vào cần nhận dạng với các mẫu tham chiếu đã được xác định, rồi dựa trên một số tiêu chuẩn để quyết định xem mẫu tham chiếu nào giống mẫu đầu vào nhất
Phương pháp này có một số đặc điểm sau:
- Hiệu năng của hệ thống rất nhạy cảm đối với số dữ liệu mẫu đưa vào huấn luyện Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ thống càng cao, tuy nhiên dung lượng bộ nhớ và thời gian luyện mẫu cũng tăng theo
- Các mẫu tham chiếu thường phụ thuộc vào môi trường phát âm và các đặc tính truyền dẫn của môi trường
- Phương pháp này có thể được sử dụng để nhận dạng từ mà không đòi hỏi khả năng am hiểu sâu về ngôn ngữ
1.2.3 Phương pháp ứng dụng trí tuệ nhân tạo
Có thể coi đây là phương pháp kết hoepj của các phương pháp trên với ý tưởng tận dụng tối đa các ưu điểm của từng phương pháp, đồng thời cố gắng mô phỏng khả năng tuyệt hảo của con người trong sự phân tích và cảm nhận các sự kiện bên ngoài nói chung và tiếng nói nói riêng
Đặc điểm chung của các hệ thống nhận dạng theo phương pháp này là:
- Sử dụng hệ chuyên gia để phân đoạn, gán nhãn ngữ âm Điều này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm
- Sử dụng mạng Neuron để học các mối quan hệ giữa các ngữ âm Sa đó dùng mạng này để nhận dạng tiếng nói
Trang 20Việc sử dụng hệ chuyên gia ở đây là nhằm mục đích tận dụng các nguồn kiến thức của con người vào trong hệ thống nhận dạng, đó là:
- Kiến thức về âm học: Nhằm để phân tích phổ và xác định đặc tính âm học của các mẫu tiếng nói đầu vào
- Kiến thức về từ vựng: Sử dụng kết hợp các khối ngữ âm thành các từ cần nhận dạng
Trang 21Hình 1.4: Mô hình của phương pháp bottom-up
1.3 Tình hình nghiên cứu và ứng dụng về nhận dạng tiếng nói tiếng Việt
Tại Việt Nam, lĩnh vực nhận dạng tiếng nói tiếng Việt mới được thực sự quan tâm trong những năm gần đây Có luận văn đã đi giải quyết việc nhận dạng tiếng nói tiếng Việt sử dụng mức dưới từ [Nguyễn Phú Bình], nhận dạng các từ rời rạc [Nguyễn Hồng Quang], nhận dạng chữ số [Nguyễn Tử Quảng],… Cũng có nhiều nghiên cứu áp dụng các mô hình nhận dạng đã thành công với các ngôn ngữ như Anh, Pháp để áp dụng cho tiếng Việt như
Xác định câu Mô hình ngôn ngữ
Truy câp từ điển Nguyên tắc ngữ âm Nguyên tắc phân loại âm
Âm hữu thanh/ vô thanh / khoảng lặng
Trang 22Hiện nay, có một số Viện và Trung tâm nghiên cứu hàng đầu về lĩnh vực nhận dạng tiếng nói ở Việt Nam như:
- Phòng nhận dạng và công nghệ tri thức - Viện công nghệ thông tin
- Trung tâm nghiên cứu quốc tế MICA - Đại học Bách khoa Hà Nội
- Khoa Công nghệ thông tin - Trường Đại học Khoa học Tự nhiên
Để có thể mở rộng các ứng dụng của xử lý tiếng nói (nhận dạng và tổng hợp), các ứng dụng của công nghệ này không chỉ được phát triển trên máy tính mà cần phải được phát triển trên các hệ nhúng Tuy nhiên tại Việt Nam, vấn đề này cũng chưa thực sự phát triển, mới chỉ có những nghiên cứu thực hiện dưới dạng
đề tài sinh viên, hay những đề tài khoa học cấp khoa hay cấp trường của trường đại học
1.4 Hệ thống tương tác người – máy bằng tiếng nói
Sơ đồ của một hệ thống giao tiếp người máy bằng tiếng nói được trình bày trên hình 2 Giống như việc giao tiếp của con người, bài toán đầu tiên của một hệ thống tương tác bằng tiếng nói là phải hiểu lời nói được đưa ra bởi người điều khiển, có nghĩa là phải nhận dạng được tiếng nói Do vậy khối đầu vào của hệ
Trang 23thống giao tiếp chính là khối nhận dạng tiếng nói Với khối này, tiếng nói được nhận dạng sẽ được chuyển sang dạng văn bản và được đưa tới bộ phân tích ngôn ngữ Dựa trên các nguyên tắc phân tích ngữ nghĩa bộ phân tích ngôn ngữ sẽ đưa ra
ý nghĩa của lời nói và đưa nội dung ý nghĩa này tới hệ chuyên gia Hệ chuyên gia
sẽ lựa chọn những chỉ thị, mệnh lệnh phù hợp cho khối điều khiển cũng như đưa
ra các chỉ thị bằng văn bản để có thể tổng hợp lại thành tiếng nói qua đó có thể giao tiếp với người sử dụng
Hình 1.5: Sơ đồ hoạt động của một hệ thống giao tiếp người máy bằng tiếng nói.
Speech Recognizer
Language Analyzer
Expert system
speech synthesizer
Text-to-vocabulary
&grammar model
Semantic rule
Pronunciation rule
Systems under voice control executes commands reports status
Convert spoken input into grammatically correct text
Extracts meaning from text
Select desired action, issues commands to system, constructs reply in text form
Convert text reply into machine generated speech
(Text) ( Meaning ) (reply
text)
(Speech )
Voice output (Speech)
Output action
Trang 24Hình 1.6: Rô bốt trợ giúp ALBERT tại triển lãm Hannover, Rô bốt này được điều khiển bằng tiếng nói
- Xây dựng và thử nghiệm trên PC một số mô hình nhận dạng tiếng nói đã có
áp dụng cho tập khẩu lệnh đã xây dựng
- Xây dựng và thử nghiệm trên một hệ nhúng với thuật toán trên
1.5.2 Nhiệm vụ
• Tìm hiểu về các hệ thống nhận dạng tiếng nói tự động
• Xây dựng cơ sở dữ liệu từ điều khiển cho các thiết bị gia dụng
• Nghiên cứu một số thuật toán trong nhận dạng tiếng nói tiếng Việt rời rạc
để chọn ra một thuật toán phù hợp cho việc cài đặt lên hệ thống nhúng
Trang 25• Tìm hiểu DSP dấu phảy động của hãng TI Tiến hành lập trình thuật toán nhận dạng tiếng nói cho hệ thống này
• Lập trình các chương trình quản lý và điều khiển hệ thống
• Kỹ thuật giao tiếp, truyền tin giữa PC và hệ DSK6713
Trang 26CHƯƠNG 2: XÂY DỰNG CƠ SỞ DỮ LIỆU
2.1 Nhà thông minh:
2.1.1 Quan niệm về ngôi nhà thông minh
Các thiết bị gia dụng như tủ lạnh, dụng cụ nấu bếp hay máy giặt đã trở nên thông dụng đối với hầu hết các ngôi nhà Chúng đem lại sự cải thiện lớn cho đời sống con người và trở thành thành phần không thể tách rời đối với mỗi ngôi nhà Những lợi ích từ việc tự động hoá nhà rất được chú ý và việc sản xuất cũng như phát triển các thiết bị gia dụng trở thành một lĩnh vực quan trọng trên thị trường Các thiết bị điện tử hiện đại cũng trở nên ngày càng thông dụng trong các ngôi nhà Các thiết bị như TV, VCR, radio hay các hệ thống âm thanh Hi-Fi trở thành nguồn giải trí rất thông dụng và cũng trở thành thành phần không thể thiếu đối với mỗi ngôi nhà Sự phát triển của mô hình các ngôi nhà cũng gắn liền với sự phát triển của các thiết bị bao gồm trong nó Mọi người xem TV hay nghe nhạc để thư giãn, để dành thời gian rảnh rỗi cho việc nghỉ ngơi và thưởng thức các bộ phim trên các kênh ưa thích Vấn đề duy nhất tồn tại là họ phải đứng dậy để điều khiển trực tiếp trên các thiết bị Do đó các thiết bị điều khiển từ xa đã được nghiên cứu
và ngày càng trở nên phổ biến, với các thiết bị điều khiển từ xa cuộc sống của con người trở nên dễ dàng hơn rất nhiều Bây giờ con người có thể nghỉ ngơi trên sofa, xem một bộ phim, họ có thể điều chỉnh TV một cách dễ dàng mà không cần phải rời khỏi vị trí thoải mái đang có Một kết luận đơn giản có thể được đưa ra đó là việc làm cho cuộc sống của con người ngày càng dễ dàng hơn chính là mục tiêu nghiên cứu và phát triển của khoa học kỹ thuật áp dụng trong các ngôi nhà thông minh
Trang 272.1.2 Các đối tượng điều khiển trong ngôi nhà thông minh
Hệ thống chiếu sáng
Đây là hệ thống thông dụng được dùng nhiều nhất trong các hệ thống nhà thông minh Ban có thể điều khiển ánh sáng từ mọi vị trí trong nhà (hay bất kỳ nơi nào trên mạng Internet)
Hệ thống bảo vệ và kiểm soát vào ra
Nhà của bạn tự động gửi thông báo đến cho bạn hay bất kỳ người nào khi
co báo động Bạn có thể tiết kiệm được rất nhiều tiền vì không phải thuê cac Công
ty bảo vệ chuyên nghiệp hoặc thuê người gác cổng Hơn thế nữa các sản phẩm nhà thông minh cho phép bạn đóng mở cửa từ xa để cho phép người thân ra vào hoặc ngăn cản người lạ ngay cả khi ban không ở nhà việc này được tiến hành thông qua Internet
Hệ thống rạp hát trong nhà và các phương tiện giải trí khác
Hãy tưởng tượng bạn có thể thay thế tất cả các điều khiển từ xa bừng duy nhất một bộ điều khiển Bạn không cần thiết phải biết 10 bước trong quy trình khởi động một hệ thống rạp hát trong nhà, bạn chỉ cần nhấn một nút và hệ thống nhà thông minh sẽ làm nốt phần còn lại giúp bạn Các hệ thống loa tích hợp bên trong đồ vật trang trí thì đặc biệt thông dụng với các ngôi nhà thông minh, chúng tạo ra những âm thanh đặc biệt chất lượng cao trong toàn ngôi nhà
Hệ thống điện thoại
Hệ thống điện thoại thường được dùng cho các ứng dụng thương mại nhỏ nay hoàn toàn phù hợp để sử dụng cho ngôi nhà của bạn Với bộ điều khiển nhà thông minh và số điện thoại của người gọi, bạn có thể đặt chế độ nhận diện người gọi, với từng người cho phép thì điện thoại mới đổ chuông Phần mềm điều khiển
âm thanh cho phép các máy điện thoại trong nhà của bạn được sử dụng như một điều khiển từ xa
Ổn định nhiệt độ
Trang 28Điều khiển Ổn định nhiệt độ từ xa cho phép bạn điều chỉnh nhiệt độ trong nhà khi bạn đang ỏ trên giường hoặc ngay cả khi bạn không có nhà qua một điện thoại di động Chúng có thể tự động gửi thông báo bằng tin nhắn đến cho bạn nếu nhiệt độ trong phòng quá thấp hoặc quá cao
Hệ thống nước tưới
Vòi tưới nước của bạn tự động bật khi hạn hán, một vài ứng dụng còn sử dụng hệ thống tự động phun nước khi có người đi vào khu vực bảo vệ Hayc tưởng tượng có người muốn vào khu vực riêng của ban khi không được phép thế
là quần áo ướt sũng…
Mạng
Hệ thống nhà thông minh đợc thiết lập bằng rất nhiều kết nối khác nhau Một điều thật tuyệt vời là rât nhiều hệ thống được tạo thành mà không phải them dây dẫn Nếu bạn đang xây mới một ngôi nhà hãy quan tâm đến việc tạo ra một ngôi nha hiên đại và tiện nghi Hãy quan tâm đến hệ thống mạng âm thanh, hình ảnh, an ninh vvv ban sẽ thực sự hài lòng với những gì bạn làm khi ngôi nhà được hoàn thiện
2.2 Điều khiển các thiết bị trong nhà bằng tiếng nói:
2.2.1 Các phương thức điều khiển thiết bị gia dụng trong nhà:
a Điều khiển thông qua trung tâm điều khiển:
Tín hiệu điều khiển được gửi tập trung đến Trung tâm điều khiển Tại đây, trung tâm điều khiển có nhiệm vụ phân tích, xác nhận lệnh và thực hiện lệnh điều khiển, đồng bộ và cập nhật trạng thái của hệ thống Tín hiệu điều khiển được gửi đến trung tâm điều khiển theo hai cách:
- Thông qua môi trường “cảm thụ” (môi trường của Wifi, Bluetooth) và thông qua mạng viễn thông (Internet, phoneline, hay mobile phone…)
Ở đây người sử dụng có thể ở rất xa, truy nhập vào hệ thống nhờ sử
Trang 29dụng các thiết bị đa phương tiện như Laptop, máy tính, PDA, hay Smartphone
- Thông qua tín hiệu âm thanh được gửi về từ hệ thống microphone Người sử dụng phải đứng ở trong vùng cảm nhận của hệ thống microphone Tín hiệu âm thanh thu được micro chuyển trực tiếp về trung tâm điều khiển Trung tâm có nhiệm vụ lọc nhiễu, nhận dạng lệnh điều khiển, xác nhận lại với người sử dụng thông qua loa và thực hiện lệnh điều khiển
b Điều khiển trực tiếp:
Người sử dụng ở vị trí tương tác trực tiếp với thiết bị, người sử dụng có hai lựa chọn:
- Điều khiển thiết bị thông qua các phím điều khiển
- Điều khiển thiết bị bằng khẩu lệnh: Khi đó, hệ thống phải phân biệt được hai tình huống xảy ra, một là chỉ thiết bị ở ngay gần người điều khiển nhận dạng được lệnh, hai là có rất nhiều thiết bị trong phòng cùng
“nghe” được lệnh
c Vấn đề đồng bộ giữa hai phương thức điều khiển:
Về mặt lý thuyết, có thể chia các thiết bị ra làm 3 loại:
- Chỉ điều khiển thông qua trung tâm điều khiển:
- Chỉ điều khiển trực tiếp:
- Có thể điều khiển trực tiếp hoặc thông qua trung tâm điều khiển
Ở đây, các thiết bị thông minh có nhiều hơn 1 phương thức điều khiển Do
đó, để tránh xung đột xảy ra, nhất thiết trạng thái của thiết bị phải được các hệ thống điều khiển cùng biết Ví dụ, khi bật một bóng đèn, hay chạy hệ thống điều hòa bằng điều khiển trực tiếp thì trạng thái của chúng ở trên Trung tâm điều khiển cũng phải là trạng thái ON Hoặc trường hợp có nhân viên vẫn làm việc muộn trong phòng, nhưng “sếp” lại nghĩ là không có ai và cứ một người ra lệnh tắt thì người kia ra lệnh bật …
Trang 302.2.2 Nghiên cứu, đề xuất “cú pháp” điều khiển cho thiết bị:
a Cú pháp điều khiển phỏng theo ngôn ngữ tự nhiên:
- Động từ (hành động) trước Định danh sau
b Cú pháp điều khiển hình cây
- Định danh trước Hành động
2.2.3 Đề xuất tập lệnh và lệnh định danh cho một số thiết bị gia dụng:
Khi các thiết bị được cài đặt thêm bộ phận tiếp nhận điều khiển bằng tiếng nói, chúng trở nên “thông minh” Sau đây sẽ phân tích các khẩu lệnh có thể được
sử dụng để điều khiển một số thiết bị gia dụng, một số thiết bị phục vụ giảng dạy dựa trên tính năng chính của thiết bị đó và thói quen sử dụng chúng của người Việt
1 Ti vi:
Hình 2.1: Điều khiển TV từ xa
a Lệnh cơ bản: Bật TV, Tắt TV, Kênh [0 1 10], Tăng kênh, Giảm kênh, Tăng Voolum, Giảm Voolum, Tắt tiếng, Bật tiếng
Trang 31b Lệnh nâng cao: Menu, Lên trên, Xuống dưới, sang phải, qua trái, sang trái, Chọn, Tăng, Giảm, Tăng độ sáng, giảm độ sáng, chế độ phim ảnh, chế độ chuẩn
2 Máy điều hòa:
Hình 2.2: Điều khiển từ xa cho Điều hòa
a Lệnh cơ bản: Bật điều hòa, Tắt điều hòa, bật chế độ gió/ tạo gió, tắt chế độ tạo gió/ tắt tạo gió/ dừng tạo gió
b Lệnh nâng cao: Chế độ, Làm lạnh tối đa, Làm lạnh trung bình
3 Tủ lạnh:
a Lệnh cơ bản: Bật/tắt tủ lạnh, Tăng nhiệt độ, giảm nhiệt độ,
b Lệnh nâng cao: Làm lạnh tối đa, làm lạnh tối thiểu, làm lạnh trung bình
4 Máy giặt:
a Lệnh cơ bản: Tắt/bật/mở máy giặt, mở/đóng khoang chứa/cửa, bắt đầu, tạm dừng
b Lệnh nâng cao:
5 Máy xay sinh tố:
a Lệnh cơ bản: Bật/tắt máy sinh tố, mở/đóng nắp
6 Máy cạo râu:
a Lệnh cơ bản: Bật/tắt máy cạo râu
Trang 327 Nồi cơm điện:
Hình 2.3: Nồi cơm điện có hẹn giờ nấu
a Lệnh cơ bản: Tắt/ bật nồi cơm điện, chế độ hâm nóng
b Lệnh nâng cao: Hẹn giờ nấu sau [time]
8 Máy hút bụi:
a Bật/tắt máy hút bụi, Tăng/giảm lực hút
9 Bàn là:
a Lệnh cơ bản: Tắt/bật Bàn là, tạm dừng làm nóng
b Lệnh nâng cao: Chế độ phun nước, chế độ hơi ẩm
10 Nồi đun nước tự động:
Trang 33Hình 2.4: Điều khiển từ xa Đầu đọc đĩa DVD
a Lệnh cơ bản: Tắt/bật đầu DVD, Mở/đóng ổ đĩa, Play, Tạm dừng, Mục kế tiếp, Mục sau, Mục trước,
b Lệnh nâng cao: Menu, lên trên, xuống dưới, sang trái, sang phải, chọn, tăng, giảm
18 Bình nóng lạnh:
a Lệnh cơ bản: Tắt/ bật bình nóng lạnh, nhiệt độ trung bình, nhiệt độ
Trang 34- Từ khóa đơn âm: Tắt, bật, đóng, mở, lên, xuống, trên, dưới, sang, trái, phải,
chọn, tăng, giảm, trước, sau, xoay, đứng, phim, ảnh,chuẩn, tiếng, kênh, âm, đèn, phòng, cửa, đặt, chọn, tầng,trệt, thượng, số, hơi, ẩm, phun, nước, độ, loa
- Số đếm đơn âm: 0,1,2,3,4,5,6,7,8,9,10
- Số đếm đa âm: 11, 12, …
- Từ khóa 2 âm tiết: chế độ, âm lượng, volum, play, menu, tạm dừng, hơi ẩm,
phun nước, tùy chọn, danh mục, tầng trệt, tầng thượng, phòng ngủ, phòng bếp, phòng khách, phòng tắm, trung bình, tối đa, tối thiểu, TV, tủ lạnh, quạt điện, máy chiếu, cầu thang, bàn là, quạt cây, quạt bàn, quạt trần, máy giặt
Trang 35- Từ khóa đa âm tiết: máy điều hòa, bình nóng lạnh, DVD, VCD, đầu đọc
đĩa, máy hút bụi, nồi cơm điện, máy cạo râu, máy xay sinh tố,
- Từ khóa chỉ thời gian:
o Chỉ thời gian tuyệt đối (đồng hồ): Ví dụ: 1 giờ 20 phút, 11h kém 10
…
o Chỉ khoảng thời gian: Ví dụ: 1 tiếng, 1 tiếng rưỡi, …
2.3 Xây dựng cơ sở dữ liệu:
2.3.2 Các bước thu âm
- Thu âm từ khóa đơn (39 từ)
- Thu âm số đếm 0 10
- Thu âm số từ 11 – 100
- Thu âm từ khóa 2 âm tiết (29)
- Thu âm từ khóa đa âm tiết (9)
- Thu âm từ chỉ thời gian (chọn thế nào?)
Việc thu âm tiến hành trong môi trường chuẩn (không nhiễu)
Tần số lấy mẫu 16kHz, kiểu dữ liệu 16bit Thu âm đơn kênh tiếng (mono) Phần mềm thu âm: Cool Edit Pro
Sử dụng phòng thu âm của trung tâm nghiên cứu quốc tế MICA Sau đó, tiến hành hiệu chỉnh thô dữ liệu thu được, sắp xếp và lưu lại thành một bộ CSDL
Trang 36CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN NHẬN DẠNG
TỪ ĐIỀU KHIỂN TRÊN PC
3.1 Tiền xử lý tín hiệu:
3.1.1 Hàm năng lượng ngắn hạn
Hàm năng lượng ngắn hạn của tiếng nói đực tính bằng cách chia tín hiệu tiếng nói thành các frame, mỗi frame dài N mẫu Mỗi frame này được nhân với một hàm cửa sổ W(n) và với hàm cửa sổ bắt đầu ở mẫu thứ m thì hàm năng lượng ngắn hạn Em được định nghĩa như sau:
∑−+
=
−
= m M 1 ( ) ( ) 2
m n
N n n
W
0
01)(
3.1.2 Phát hiện điểm đầu và điểm cuối của tiếng nói
Phát hiện thời điểm bắt đầu cũng như điểm kết thúc của tiếng nói (endpoint detection) là một phần khá quan trọng và cần thiết cho bất kì một chương trình nhận dạng tiếng nói nào, đặc biệt là những hệ thống nhận dạng tiếng nói đơn giản nhưng khá hiệu quả, đó là kĩ thuật phân tích, đánh giá dựa trên hàm năng lượng ngắn hạn của tiếng nói Thuật toán đó như sau:
1 Với mỗi frame của tín hiệu, tính năng lượng ngắn hạn Em theo công thức (3.1) Nếu Em lớn hơn giá trị ngưỡng Ethreshold đặt trước (được ước lượng từ nhiễu nền) thì đánh dấu frame đó là bắt đầu của tiếng nói (kí hiệu là frame B) Ngược lại thì xét frame kế tiếp cho đến khi xác định được frame B, nếu không xác định được frame B thì tín hiệu đó không phải là tiếng nói
Trang 372 Tính năng lượng ngắn hạn Em của các frame sau frame B cho đến khi Emnhỏ hơn Ethreshold thì dừng, đánh dấu frame đó là két thúc của một từ (kí hiệu là frame E)
3 Hiệu chỉnh điểm bắt đầu bằng cách tính năng lượng ngắn hạn em của các section trong lân cận phía trước frame B, rồi chọn section thích hợp có emnhỏ hơn ethreshold làm điểm bắt đầu của tiếng nói Mỗi section phải có độ dài nhỏ hơn độ dài của một frame và ethreshold < Ethreshold
4 Hiệu chỉnh điểm kết thúc ở frame E một cách tương tự
Sau khi xác định được điểm bắt đầu và kết thúc ta có thể dựa vào độ dài thời gian đoạn âm thanh đó để tiến hành thêm một bước kiểm tra nữa xem đó có chắc chắn
là tiếng nói hay không (một từ tiếng Việt nếu phát âm rõ ràng thì thường phải dài hơn 200ms)
Nguyên nhân cần phải áp dụng bộ lọc này là do phổ tiếng nói hữu thanh có xu hướng suy giảm toàn bộ -6dB/octave khi tần số tăng lên Điều này do khuynh hướng suy giảm -12dB/octave của nguồn kích âm hữu thanh và tăng lên +6dB/octave do phát âm ở miệng Do đó cần phải bù +6dB/octave trên toàn bộ băng tần Trong xử lý tín hiệu số, người ta thường dùng bộ lọc thông cao có tần số cắt 3dB ở tần số trong phạm vi từ 100Hz đến 1kHz Bộ lọc này có hàm truyền đạt là:
H(z) = 1 – az-1 , với 0.9 ≤ a ≤ 1.0
Trang 38Trong trường hợp này tín hiệu ra quan hệ với tín hiệu vào theo phương trình sai phân sau:
) 1 ( ) (
3.2 Trích chọn đặc trưng tín hiệu tiếng nói:
Đây là phần quan trọng nhất trong bước xử lý tín hiệu đồng thờ cũng là một trong những khâu có vai trò quyết định tới độ chính xác đạt được của hệ thống Hiện nay có rất nhiều phương pháp phân tích tham số đặc trưng đã và đang được
sử dụng Chẳng hạn như phuonwg pháp phân tích cepstral thông qua mã hóa dự đoán tuyến tính LPC, phương pháp các hệ số MFCC (Mel Frequencey Cepstral Coefficient) thông qua việc phân tích cepstral theo thang độ đo Mel, … Trong số
đó, phương pháp phân tích cepstral theo thang đo Mel (tính các hệ số MFCC) là một trong những phương pháp phổ biến và được áp dụng nhiều trong các hệ thống nhận dạng lớn (chẳng hạn như SPHINX…) cũng như trong các phòng thí nghiệm
xử lý tiếng nói do có một số ưu điểm sau đây:
- Phương pháp này thực sự khai thác tương đối tót các đặc tính của tuyến âm, trong khi đó như ta đã biết các đặc tính của tuyến âm là một trong những yếu tố quyết định âm thanh được phát ra
- Các đặc tính tương đối đươn giản, dễ kiểm soát
- Thực tế đã chứng minh rằng các tham số đo được thực sự tốt cho các ứng dụng nhận dạng tiếng nói
3.2.1 Phân khung tín hiệu
Do tín hiệu tiếng nói có thể coi là ổn định trong một khoảng thời gian ngắn
cỡ khoảng vài chục ms, nên khi tiến hành các phép phân tích biến đổi trên tín hiệu
Trang 39tiếng nói người ta thường chia tín hiệu tiếng nói thành các đoạn nhỏ cỡ 10-30ms, công việc đó được gọi là phân khung tín hiệu (Frame Blocking)
Trong bước này tín hiệu đã được hiệu chỉnh s~( )n được phân thành các
khung (frame), mỗi khung có N mẫu Hai khung kề nhau lệch nhau M mẫu
Khung đâu tiên chứa N mẫu, khung thứ hai bắt đầu chậm hơn khung thứ nhất M mẫu, và chờm lên khung thứ nhất N – M mẫu Tương tự, khung thứ ba chậm hơn khung thứ nhất 2M mẫu (chậm hơn khung thứ hai M mẫu) và chờm lên khung thứ nhất N – 2M mẫu … Quá trình này tiếp tục cho đến khi tất cả các mẫu tiếng nói cần phân tích thuộc vệ một hoặc nhiều khung
Hình 3.1: Trích đặc trưng của tiếng nói
Dễ thấy, nếu M ≤ N thì các khung kề nhau sẽ chờm lên nhau, kết quả là việc đánh giá phổ sẽ liên quan từ khung này đến khung kia, nếu M << N thì việc đánh giá phổ từ khung này đến khung kia sẽ rất trơn
Ngược lại nếu M ≥ N thì các khung kề nhau sẽ không chờm lên nhau, do đó một vài tín hiệu sẽ bị mất hoàn toàn (nghĩa là không xuất hiện trong bất kỳ khung
Trang 40nào), phổ thu được khi đánh giá các khung kề nhau sẽ chứa một phần nhiễu Biên
độ nhiễu thành phần nhiễu này tăng lên khi M tăng (nghĩa là có càng nhiều mẫu bị
bỏ qua không phân tích) Điều này là không thể chấp nhận được đối với các hệ thống nhận dạng thực tế Nếu ta kí hiệu khung thứ k là xk(n), và có tất cả K khung thì:
).()(n s~ M k n
x k = + n = 0, 1, 2, … N-1 k = 0, 1, 2 … K-1
3.2.2 Mô hình LPC (Linear Predictive Coding model)
Mô hình LPC được sử dụng khá rông rãi trong các hệ thống nhận dạng tiếng nói là bởi các lý do sau:
LPC cung cấp một mô hình tốt của tín hiệu tiếng nói Đặc biệt đối với các trạng thái gần ổn định của âm thanh, mô hình LPC cho ta một xấp xỉ khá tốt của phổ âm thanh Tuy trong các vùng ngắn và không âm, mô hình LPC hoạt động kém hiệu quả hơn vùng có âm, nhưng nó vẫn cung cấp một mô hình có thể sử dụng tốt cho mục đích nhận dạng tiếng nói
Cách mà LPC được ứng dụng trong việc phân tích tín hiệu tiếng nói dẫn đến một sự phân tách hợp lý các âm nguồn âm thanh Và như vậy, việc biểu diễn chi tiết các đặc điểm của các dải âm thanh là hoàn toàn có thể
Phương pháp tính toán của LPC chính xác về mặt toán học và đơn giản, trực tiếp trong việc cài đặt lên cả phần cứng hoặc phần mềm Số lượng tính toán trong
xử lý LPC cũng ít hơn trong phương pháp filters-bank
Mô hình LPC hoạt động tốt trong các ứng dụng nhận dạng Kinh nghiệm cho thấy, các hệ thống nhận dạng sử dụng mô hình LPC cho kết quả tốt hơn so với các
hệ sử dụng filter-bank[1]