Trong luận văn này sẽ đi nghiên cứu phương pháp nhận dạng đặc trưng tiếng nói như mô hình Markov ân Hidden Markov Models; ứng dụng dé điều khién thiết bị bằng giọng nói.. Trong phần hai,
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
NGHIÊN CỨU DIEU KHIỂN THIẾT BỊ TỪ XA
BẰNG NHAN DẠNG GIỌNG NÓI
CHUYEN NGANH: HE THONG THONG TIN
MA SO: 60.48.01.04
LUẬN VAN THẠC SĨ KỸ THUAT
NGƯỜI HƯỚNG DẪN KHOA HỌC:
HÀ NỘI - NĂM 2015
Trang 2MỞ ĐẦU
Vấn đề nghiên cứu các phương pháp nhận dạng tiếng nói đã và đang thu hútrất nhiều sự đầu tư và nghiên cứu của các nhà khoa học trên khắp thế giới Ý tưởng
về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20
và đến nay đã đạt được nhiều kết quả đáng kẻ
Nhận dạng tiếng nói là một kỹ thuật có thê ứng dụng trong rất nhiều lĩnh vựccủa cuộc sống như: trong việc điều khiển (điều khiển robot, động cơ, điều khiển xe
lăn cho người tàn tật ), an ninh quốc phòng
Ở Việt Nam, trong những năm gần đây đã có một số kết quả nghiên cứu ban
đầu về nhận dạng tiếng Việt, tuy nhiên nhưng nghiên cứu này mới được sử dụngtrong các phòng thí nghiệm mà chưa được ứng dụng thực tế
Trong luận văn này sẽ đi nghiên cứu phương pháp nhận dạng đặc trưng tiếng
nói như mô hình Markov ân (Hidden Markov Models); ứng dụng dé điều khién thiết
bị bằng giọng nói Mà cụ thê là điều khiển các thiết bị trong gia đình bằng giọng
nói.
Trên thế giới đã có rất 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 cua Microsoft, Hidden Markov Model toolkit của dai hoc Cambridge, CMU Sphinx
của dai hoc Carnegie Mellon, ngoài ra, một số hệ thống nhận dang tiễn nói tiếngPháp, Đức, Trung Quốc, cũng khá phát triển
Đối với nước ta, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ Đến
nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã đạt đượcmột số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết qua cần thiết dé có thé
tạo ra các sản pham mang tinh ứng dụng cao Có thé ké đến các công trình sau:
- AILab: Day là công trình được phòng thí nghiệm Trí tuệ Nhân tạo - AILab
thuộc Đại học Khoa học Tự nhiên tạo ra dựa trên các công nghệ tiên tiến nhất vềnhận dạng và tổng hợp tiếng nói dé đáp ứng nhu cầu của người dùng Dựa trên công
Trang 3nghệ xử lí tiếng nói tiếng Việt, AILab đã xây dựng phần mềm iSago chuyên hỗ trợ
tìm kiếm thông tin qua tiếng nói
Thông qua ứng dụng phần mềm người sử dụng có khả năng hỗ trợ giao tiếp
với điện thoại di động trực tiếp bằng lời nói.Từ đó người sử dụng tìm kiếm thông
tin nhà hàng, quán Bar, Cafe trên địa bàn TP HCM.
Khi người dùng đặt câu hỏi bằng tiếng nói, iSago sẽ truyền nội dung truy vấn
này về server để xử lý và gửi lại kết quả tìm kiếm, dạng một danh sách: tên nhà
hàng, địa chỉ.
Phần mềm này cũng cho phép người dùng hiển thi địa chỉ tìm được dang ban
đồ hoặc nghe đọc địa chỉ trực tiếp bằng công nghệ tổng hợp giọng nói Phan mềmđược cung cấp miễn phí tại địa chỉ www.ailab.hcmus.edu.vn
- Vietvoice: Đây là phần mềm của một người dân Việt Nam ngụ tại Canada
Phần mềm có kha năng nói tiếng Việt từ các tập tin Dé chạy được chương trình,cần cài đặt Microsoft Visual C++ 2005 Redistributable Package (x86) Đối với
người khiếm thị, phan mềm nay cho phép sử dung cách gõ tat (nhắn nut Ctrl và một
chữ) để chọn lựa một trong các tính năng hiển thị trên màn hình.Người dùng có thể
cập nhập từ điển các chữ viết tắt và các từ ngữ tiếng nước ngoài
- Vspeech: Đây là một phần mềm điều khiển máy tính bằng giọng nói do mộtnhóm sinh viên Đại học Bách Khoa TP HCM viết Phần mềm sử dụng thư việnMicrosoft Speech SDK để nhận dạng tiếng Anh nhưng được chuyền thành tiếng
Việt Nhóm đã khá thành công với ý tưởng này, do sử dụng lại thư viện nhận dạng
engine nên thời gian thiết kế rút ngắn lại mà hiệu quả nhận dạng khá tốt Phần mềm
Vspeech có các lệnh gọi hệ thống đơn giản như gọi thư mục My Computer, nútStart, Phiên bản mới nhất có tương tácvới MS Word 2003, lướt web với trìnhduyệt Internet Explorer.Không có các chức năng tùy chỉnh lệnh và gọi tắt các ứng
dụng.Phần mềm chạy trên nền Windows XP, microphone và card âm thanh sử dụng
tiêu chuẩn thông thường
Tuy nhiên việc ứng dụng nhận dạng giọng nói vào điều khiển còn nhiều hạnchế Ở Việt Nam thì hầu như chỉ mới có bộ phần mềm Vspeech của nhóm sinh viên
Trang 4trường Đại học Bách Khoa TP HCM, các phần mềm khác chỉ thử nghiệm trongphòng thí nghiệm, chưa được sử dụng thực tế vì chưa đạt trên 100 từ Phần mềmVspeech được phát triển từ mã nguồn mở Microsoft Speech SDK nhận dang tiếngAnh, thông qua đữ liệu, phương thức trung gian, việc nhận dạng được chuyền trongVspeech dé nhận biết tiếng Việt [1].
Luận văn tập trung nghiên cứu thiết bi phần cứng có thể điều khiển thiết bịbằng nhận dạng giọng nói Ứng dụng mô hình Markov ân đề nhận dạng giọng nói,
từ đó điều khiển các thiết bị từ xa Thiết bị phần cứng này có khả năng mở rộng vàphù hợp với nhiều giọng nói khác nhau
Nội dung chính của luận văn gồm 3 chươngChương I: Tổng quan
Trong chương này sẽ trình bày tổng quan về nhận dạng giọng nói và tính cấpthiết của đề tài Trong phần hai, luận văn trình bày các nghiên cứu trước đây về
nhận dạng giọng nói, điều khiến thiết bị từ xa bằng nhận dạng giọng nói Trong
phần ba, luận văn trình bày những mục tiêu cần đạt được của đề tài
Chương II: Điều khiển thiết bị từ xa bằng giọng nói
Trong phan | và 2 của chương này luận văn sẽ trình bày các thiết bị phầncứng Raspberry, vi điều khiển Arduino, thiết bị điều khiến điện trong gia đình Phan
3 của chương trình bày phương thức kết nối giữa các thiết bị phần cứng, giao thức
kết nối giữa máy tính Raspberry và Arduino thông qua modul bluetooth Và trong
phần 4 của chương này trình bày các phương pháp nhận dạng giọng nói, huấn luyện
bộ nhận dạng giọng nói trong hệ thống
Chương III: Thử nghiệm và đánh giá
Trong chương này luận văn trình bày quá trình thu thập dữ liệu của hệ thống.Cùng với việc thử nghiệm, đánh giá hệ thống luận văn đưa ra hướng phát triển saunày của thiết bị
Trang 5CHƯƠNG 1: TONG QUAN
1.1 Dat van dé
Vấn đề nghiên cứu các phương pháp nhận dạng tiếng nói đã và đang thu hút
rất nhiều sự đầu tư và nghiên cứu của các nhà khoa học trên khắp thế giới Ý tưởng
về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20
và đến nay đã đạt được nhiều kết quả đáng kẻ
Nhận dạng tiếng nói là một kỹ thuật có thê ứng dụng trong rất nhiều lĩnh vực
của cuộc sống như: trong việc điều khiển (điều khiển robot, động cơ, điều khiển xelăn cho người tàn tật ), an ninh quốc phòng
Ở Việt Nam, trong những năm gần đây đã có một số kết quả nghiên cứu ban
đầu về nhận dạng tiếng Việt, tuy nhiên nhưng nghiên cứu này mới được sử dụngtrong các phòng thí nghiệm mà chưa được ứng dụng thực tế
Trong luận văn này sẽ đi nghiên cứu ứng dụng phương pháp nhận dạng đặc
trưng tiếng nói như mô hình Markov ân (Hidden Markov Models); ứng dụng dé cho
điều khiến thiết bị bang giọng nói Mà cụ thé là điều khiển các thiết bị trong gia
1.2 Các nghiên cứu trước đây
Faisal Baig, Saira Beg, Muhammad Fahad Khan phát triển một hệ thống điều
khiển kiểm soát các thiết bị trong gia đình thông qua giọng nói được chuyển thànhvăn bản SMS hoặc sử dụng điện thoại di động như một thiết bị điều khiển từ xa Hệ
Trang 6thống này sẽ đem lại giúp ích cho người già và người tàn tật (những người sử dụngđiện thoại dé nhắn tin còn hạn chế) [2].
Người sử dụng điện thoai di động với hệ điều hành Android ra lệnh bằnggiọng nói Ung dụng trên điện thoại di động chuyển đổi giọng nói thành văn bảnbang cách sử dung Android API 2.01 Chuyển đổi giọng nói thành văn bản SMS.Tin nhắn nhận được được gửi tới thiết bị điều khiển qua sóng Bluetooth
Trong hệ thống này, sử dụng vi điều khiển PICI6F877A Development Kit dé
điều khiển các thiết bị thông qua tin nhắn nhận được
Trong nghiên cứu này, tác gia đề xuất một hệ thống điều khiến thiết bi từ xa
bằng giọng nói khi người dùng đang ở bên ngoài, và cũng có thể điều khiến các
thiết bị thông qua mạng di động
S M Anamul Haque, S M Kamruzzaman and Md Ashraful Islaml phát
triển một hệ thống điều khiến các thiết bi trong nhà thông qua một máy vi tính, tacgiả đưa ra hai cách tiếp cận khác nhau đề điều khién các thiết bi gia dụng; phương
pháp này đều lựa chọn bộ đếm thời gian và lệnh bằng giọng nói Hệ thống này sửdụng 2 PC kết nối song song để điều khiển các thiết bị gia dụng Giao diện phầnmềm được phát triển trên Visual Basic 6.0 [3] Cách thức hoạt động của mô hìnhbằng cách như sau:
s* Một máy tính thực hiện quá trình nhận dạng va chuyên thành dạng văn
bản, các đoạn mã văn bản được giao tiếp với máy tính còn lại
s* Máy tính thứ 2 điều khiển các thiết bị trong gia đình thông qua văn ban
được truyền từ máy tính 1
Hệ thống này bao gồm hai phần: điều khiển thiết bị và giao diện điều khiển
Bộ điều khiển dựa trên việc sử dụng các máy tính cá nhân chuẩn với giao diệnngười dùng đồ họa (GUI) phần mềm đề điều khién các thiết bị điện
Nhận dạng giọng nói bao gồm các việc số hóa các sóng âm thanh, chuyểnđổi chúng sang các đơn vị ngôn ngữ cơ bản và âm vị xây dựng từ âm vị và phân tíchtheo ngữ cảnh các từ ngữ để đảm bảo đúng chính tả cho các từ giống nhau
Trang 7Giao diện phần mềm điều khiển được viết bằng Visual Basic 6.0 sử dụng
công cụ nhận dạng giọng nói của Microsoft Phần mềm phát triển có thé được chạy
trên Windows98/ME/NT/ 2000 /2000 Server /XP.
Hệ thống giám sat và điều khiển các thiết bị trong gia đình được kết hopnhiều công nghệ khác nhau Hệ thống này có thé điều khiển tám thiết bị điện và cóthê mở rộng điều khiển 256 thiết bị điện trong công nghiệp hoặc lớn hơn thông qua
một máy tính duy nhất bằng cách mở rộng thêm thiết bị điều khiến
Marriam Butt, Mamoona Khanam, Aihab Khan, Malik Sikandar Hayat
Khiyal phát triển một hệ thống điều khién các thiết bị gia dung thông qua các cuộc
gọi thoại và giám sát phát hiện xâm nhập thông qua tin nhắn SMS Người dùng thựchiện một cuộc gọi thoại dé thực hiện điều khién các tắt / bật các thiết bi bang giọng
nói [4] Khi hệ thống phát hiện xâm nhập nó sẽ gửi một tin nhắn thoại được gửi đến
người dùng cảnh báo phát hiện xâm nhập vào ngôi nhà Các hệ thống đề xuất đượcthực hiện bằng cách sử dụng giọng nói qua Global System for Mobile
Communications (GSM) và công nghệ không dây dựa trên khuôn khổ NET và
Attention (AT) Hệ thống sử dung Speech Recoginition Microsoft Engine dé nhận
dạng giọng nói của người dùng Công nghệ GSM được sử dụng trong hệ thống cungcấp truy cập ở khắp mọi nơi trong hệ thống an ninh Kết quả thí nghiệm cho thấyrằng hệ thống được an toàn hơn và hiệu quả chỉ phí so với các hệ thống hiện có
Ứng dụng nhận dạng và điều khiển được phát triển bằng Net framework sửdụng ngô ngữ C# Ung dụng có ba phan chính:
e Thứ nhất là hiểu được lời nói hoặc tiếng nói của người dùng sử dụng
thư viện có sẵn SDK 5.1.
e Thứ hai là điều khiển các thiết bị theo nhu cầu của người dùng thông
qua các relay được kết nối song song với máy tính
e Thứ ba là phát hiện xâm nhập và gửi tin nhắn SMS đến số điện thoại
đã được cấu hình sẵn Phát hiện xâm nhập bởi các cảm biến được kết
nối song song với máy tính và các lệnh AT tương ứng
Trang 8Hệ thống giám sát các thiết bị trong gia đình cho hiệu quả cao, người dùng
có thể kiểm soát được các thiết bị tại bất kỳ vi trí nào có kết nỗi GSM
Nhóm phát triển Malik Sikandar Hayat Khiyal, Aihab Khan, and Erum
Shehzadi Software Engineering Dept phát triển một hệ thống điều khiến thiết bị từ
xa bằng tin nhắn SMS Hệ thống này được chia thành 3 phần chính: điện thọai diđộng, modem GSM, máy vi tính Khi người sử dụng thực hiện gửi một tin nhắn
SMS chứa mã lệnh tới modem GSM đã được cài đặt trước, tin nhắn nhận được từ
modem GSM được gửi tới máy tính qua giao tiếp song song, máy tính thực hiện xácthực và điều khiến thiết bị [5]
Nhóm Dhawan S Thakur and Aditi Sharma đưa ra một hệ thống HomeAutomation (HA) không dây (Wireless Home Automation - WHA) là một hệ thốngtích hợp tạo điều kiện cho người cao tuổi và người khuyết tat dé dang điều khiểncác thiết bi bằng giọng nói [6] Hệ thống này là khả năng linh hoạt cao va dé dàng
cài đặt, cau hình, hoạt động 6n đình và bao trì dé dàng
Một hệ thống WHA điền hình cho phép điều khiển các thiết bị trong nhà từ
một đơn vị điều khiển không dây tập trung Những thiết bị này thường phải được
thiết kế đặc biệt để tương thích với nhau va với các đơn vi điều khiển của các hệ
thống HA thương mại hiện có trên thị trường Tác giả đề cập đến một hệ thống có
thể được tích hợp như một đơn vị khả chuyên đơn lẻ cho phép điều khiển đèn, quạt,
điều hoà, ti vi, camera an ninh, cửa điện tử, các hệ thống máy tính, thiết bị nghe
nhìn và bật hoặc tắt thiết bị bất kỳ được cắm vào một 6 cắm trên tường, nhận được
trạng thái của cảm biến khác nhau và đưa ra quyết định phủ hợp
Toàn bộ hệ thống được điều khiển từ một Microphone được kết nối với conchip nhận dạng giọng nói HM 2007 Chip này sẽ gửi các lệnh bằng giọng nói trongchuỗi nhị phân đến vi điều khiển Các đơn vị cơ sở (base station - BS) sẽ dua raquyết định và gửi các lệnh đến đơn vị từ xa (Remote Station) bằng bộ thu phátZigBee Các hệ thống điều khiển từ xa (Remote System) nhận được các lệnh thông
qua bộ thu phát ZigBee và thực hiện các lệnh được yêu cầu Các đơn vị cảm biến
có khả năng phát hiện người đi vào hoặc đi ra phòng bằng cách đo sự thay đổi độ
Trang 9mạnh tín hiệu giữa các điểm truy cập và từ đó có thê bật hoặc tắt các thiết bị như
đèn và quạt và đồng thời gửi trạng thái của nó trở lại trạm cơ sở
Bài báo International Journal of Advanced Research in Electrical,
Electronics and Instrumentation Engineering trình bày một hệ thông kiểm soát thiết
bị bằng ứng dụng di động được phát triển trên điện thoại thông minh Android Ứngdụng sẽ gửi tín hiệu điều khiến bằng tin nhắn SMS tới modem GSM, lệnh điều
khiển thông qua vi điều khiển Arduino điều khiển các relay dé bật hoặc tắt thiết bị
điện trong gia đình [6].
1.3 Pham vi của dé tài
Luận văn nghiên cứu những ý tưởng cở bản và các phương pháp được sử
dụng trong nhận dạng tiếng nói Đồng thời đã tìm hiểu về công cụ nhận dạng tiếng
nói HMM từ đó xây dựng một chương trình Demo nhân dạng từ dùng để điềukhiển
Mục tiêu chỉ tiết:
e Công cụ nhân dạng giọng nói
e Tim hiểu phương pháp cài đặt công cụ hỗ trợ hệ nhận dạng tiếng nói trên
máy tính Raspberry
e Xây dựng chương trình mô phỏng, thực hiện nhận dạng khoảng 10 câu lệnh
dé điều khiến thiết bịLuận văn giới hạn trong việc tìm hiểu về giọng nói, các phương pháp xử lýtiếng nói, mô hình Markov ấn, kiến trúc hệ thống nhận dạng và điều khiến các thiết
bị điện Vì thời gian hạn chế nên luận văn xây dựng bộ từ vựng khoảng 10 câu lệnh
cơ bản dé điều khiển thiết bị Khi đọc lệnh điều khiến, máy tính Raspberry thựchiện quá trình nhận dạng và giao tiếp với Modul Arduino và điều khiến thiết bị
Do thời gian hạn chế nên chương trình chỉ mới thực hiện nhận dang với 10
người dùng.
Trang 10CHƯƠNG 2: DIEU KHIỂN THIET BỊ TỪ XA BANG
GIỌNG NÓI
2.1 Thiết bị phần cứng Raspberry 2.1.1 Lịch sử phát triển
2.1.2 Máy tinh Raspberry Pi 2 Model B
- Vixử lý Cortex A7 4 lõi 900Mhz Boardcom.
- Ram IGB.
- 04 công USB 2.0
- 40 GPIO Port
- 01 Công HDMI chuẩn với chat lượng hình anh Full HD
- 01 Công Ethernet kết nối mạng
- 01 Công đầu ra 3.5mm cho cả hình anh và âm thanh
- 01 Công kết nối với Raspberry Pi Camera Module CSI
- 01 Cổng kết nối với ngõ man hình hiền thị riêng của Raspberry Pi DSI
- Khe cắm thé MicroSD Card
- Nhân xử lý hình anh VideoCore VI 3D
Máy tính Raspberry Pi 2 Model B có thể hoạt động với các hệ điều hành sau:
- Arch Linux ARM
Trang 11nhà thiết kế, người thích tìm tòi và tất cả những ai yêu thích sáng tạo các sản phẩm
và môi trường có tính tương tác cao” (Arduino.cc)
2.2.2 Giới thiệu chung 2.2.3 Arduino và các lĩnh vực ứng dụng
2.2.4 Môi trường lập trình 2.2.5 Kha năng của bo mach Arduino
Bo mach Arduino sử dung dong vi xử ly 8-bit mega AVR của Atmel với hai
chip phố biến nhất là ATmega328 và ATmega2560 Các dòng vi xử ly nay chophép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh
với các loại bộ nhớ ROM, RAM va Flash, các ngõ vào ra digital I/O trong đó có
nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu Analog và các
chuẩn giao tiếp đa dạng như UART, SPI, TWI (12C)
* Sức mạnh xử lý
- xung nhịp: 16Mhz
- EEPROM: IKB (ATmega328) và 4KB (ATmega2560)
- SRAM: 2KB (ATmega328) và 8KB (ATmega2560)
- Flash: 16KB (ATmega8), 32KB (ATmega328) và 256 KB (ATmega2560) 2.2.6 Kit Arduino Uno
a Giới thiệu
KIT Arduino Uno là một bo mạch Arduino được thiết kế với nhân là chíp
ATmega328 KIT có tat cả 14 chân vào/ra số (trong đó có 6 chân có thé dùng dé
điều chế độ rộng xung PWM), 6 chân đầu vào analog, sử dụng thạch anh 16MHz
b Sơ đồ chân của Arduino