Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 55

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM


TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập – Tự do – Hạnh phúc.
-----✩----- -----✩-----
Số: ______ /BKĐT
Khoa: Điện – Điện tử
Bộ Môn: Điện Tử

NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP


1. HỌ VÀ TÊN: TRƯƠNG HOÀNG MINH MSSV: 41102098

2. NGÀNH: ĐIỆN TỬ - VIỄN THÔNG LỚP : DD11DV04


3. Đề tài: Thiết kế Mạch nhận dạng giọng nói áp dụng vào hệ thống an ninh dùng Neural
Network
4. Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):
 Thiết kế hệ thống nhúng nhận dang giọng nói làm mật khẩu an ninh sử dụng Neural
Network
 Thực hiện ứng dụng trên Kit Raspberry Pi
 Đọc cảm biến nhận biết người đến gần hệ thống

5. Ngày giao nhiệm vụ luận văn: 17/9/2017


6. Ngày hoàn thành nhiệm vụ: 27/12/2017
7. Họ và tên người hướng dẫn: Phần hướng dẫn
Ths. Hồ Trung Mỹ Toàn bộ đề tài
Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn.

Tp.HCM, ngày…... tháng….. năm 20


CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH

PHẦN DÀNH CHO KHOA, BỘ MÔN:


Người duyệt (chấm sơ bộ):.......................
Đơn vị:......................................................
Ngày bảo vệ : ...........................................
Điểm tổng kết: .........................................
Nơi lưu trữ luận văn: ...............................
Lời cảm ơn GVHD:

LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành, sâu sắc nhất
đến Th.S Hồ Trung Mỹ. Thầy đã tận tụy, giúp đỡ, hướng dẫn trực
tiếp tôi hoàn thành đề tài trong suốt thời gian vừa qua.

Đề tài này sẽ không thực hiện suôn sẽ nếu không có sự giúp


đỡ, chia sẽ kinh nghiệm của bạn bè cùng khóa.Các bạn đã chia sẽ
những kinh nghiệm cũng như cho mượn các thiết bị cần thiết giúp
tôi sớm có thể hoàn thành đề tài.

Lời cuối cùng, tôi rất là cảm ơn vì sự động viên ủng hộ từ gia
đình và bạn bè. Mọi người là động lực giúp tôi hoàn thành đề tài
này.

Một lần nữa xin chân thành cảm ơn

Tp. Hồ Chí Minh, ngày 27 tháng 12 năm

Sinh viên

Trương Hoàng Minh

i
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

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

Đề tài xây dựng hệ thống đọc cảm biến nhận biết có người đi chuyển gần đến hệ
thống sau đó thông báo nhận dạng giọng nói để làm mật khẩu mở khóa hệ thống và hệ thống
chỉ mở khi nhận dạng đúng giọng nói của người đã lưu giọng nói của mình làm mật khẩu

Trong đề tài này phần nhận dạng giọng nói dùng mạng Neural NetWork.Chương trình được
huấn luyện trên máy tính cá nhân và sau đó nhúng bộ hệ số huấn luyện xuống Kit Raspberry
Pi 2. Trên máy tính cá nhân sử dụng phần mềm Matlab. Trên Kit code được viết bằng
Python2.7 chạy trên Raspberry Pi 2 sử dụng hệ điều hành nhúng Raspbian.Hệ thống nhúng
thực hiện quá trình tiền xử lí cắt các khoảng lặng (phần không chứa tín hiệu tiếng nói) bằng
phương pháp xác định ngưỡng năng lượng thời gian ngắn sau đó dùng phương pháp MFCC
(Mel-scale Frequence Cepstral Coefficient).Các vector đặc trưng được trích ra sau đó đưa vào
máy tính cá nhân để huấn luyện bộ trọng số trên Matlab sử dụng mãng Neural truyền thẳng và
thuật toán BackPropagation để huấn luyện tạo ra bộ trọng số, sau đó bộ trọng số được nhúng
lại lên Kit để phục vụ quá trình nhận dạng trên phần cứng nhúng là Kit Raspberry Pi 2.

Phần nhận dạng tiếng nói cũng là phần nhận dạng từ liên tục nó phức tạp ở chỗ các từ được
phát liên tục khó xử lý kịp (nếu cần thời gian thực), hoặc khó tách ra nếu như người nói liên
tục không có khoảng nghỉ (thông thường rất hay xảy ra trong thực tế). Kết quả tách từ ảnh
hưởng rất lớn đến các bước sau, cần xử lý thật tốt trong quá trình này.

ii
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

MỤC LỤC

1. GIỚI THIỆU ................................................................................................................................... 1

1.1 Tổng quan................................................................................................................................... 1

1.2 Tình hình nghiên cứu trong và ngoài nước ................................................................................ 2

1.3 Nhiệm vụ luận văn ..................................................................................................................... 2

2. LÝ THUYẾT................................................................................................................................... 3

2.1 Nhận dạng. .............................................................................................................................. 3

2.2 Tiếng nói ....................................................................................................................................... 4

2.2 .1 Phân loại tiếng nói ................................................................................................................ 4

2.2.2 Lý thuyết nhận dạng tiếng nói ................................................................................................ 5

2.2.3 Phân loại các hệ thống nhận dạng giọng nói .......................................................................... 5

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

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

2.2.4 Các phương pháp tiếp cận giọng nói ...................................................................................... 7

2.2.5 Một hệ thống nhận dạng tiếng nói dùng Neural nhân tạo ..................................................... 8

2.3 Tiền xử lí âm thanh ....................................................................................................................... 9

2.4 Trích đặc trưng .............................................................................................................................. 9

2.4.1 Các phương pháp trích đặc trưng thường dùng .................................................................... 10

2.4.2 Trích chọn đặc trưng MFCC ................................................................................................ 11

2.4.2.1 Pre-Emphasis.................................................................................................... 12

2.4.2.2 Windowing ........................................................................................................ 14

2.4.2.3 Phân tích phổ dùng FFT ................................................................................... 15

2.4.2.4 Tính toán năng lượng ....................................................................................... 17

2.4.2.5 Hệ số delta ........................................................................................................ 18

2.5 Mạng Neuron (Neural Network) ................................................................................................. 18

2.5.1 Giới thiệu mạng Neural nhân tạo và mô hình tổng quát của mạng Neural .......................... 18

2.5.2 Hàm kích hoạt f .................................................................................................................... 19

iii
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

2.5.3 Cấu trúc Neural nhân tạo ...................................................................................................... 22

2.6 Thuật toán Backpropagation ....................................................................................................... 23

2.7 Tổng quan về Raspberry Pi B (RPB)........................................................................................... 23

2.7.1 Cấu trúc và chức năng của Raspberry Pi B ......................................................................... 24

2.7.2 Hệ điều hành nhúng.............................................................................................................. 25

2.8 Cảm biến PR................................................................................................................................ 25

3 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG .................................................................................... 28

3.1 Liệt kê các phần cứng.................................................................................................................. 28

3.2 Sơ đồ khối chức năng phần cứng: ............................................................................................... 28

4 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM ..................................................................................... 29

4.1. Sơ đồ khối và hoạt động của hệ thống. ...................................................................................... 29

4.2 Quá trình thu âm......................................................................................................................... 29

4.3 Tiền xử lý .................................................................................................................................... 29

4.4 Trích đặc trưng MFCC ................................................................................................................ 33

4.4.1 Pre-emphasis ........................................................................................................................ 33

4.4.2 Frame Blocking&Overlap .................................................................................................... 34

4.4.3 Windowing ........................................................................................................................... 34

4.4.4 Tính FFT .............................................................................................................................. 35

4.4.5 Mel-Frequency Filter Bank .................................................................................................. 35

4.4.6 Tính Ceptrum ...................................................................................................................... 37

4.4.7. Logged Energy .................................................................................................................... 37

4.5 Huấn luyện bộ trong số ............................................................................................................... 38

4.5.1 Thu mẫu, lưu thành tập mẫu ................................................................................................. 38

4.5.2 Tiền xử lý và trích đặc trưng ................................................................................................ 39

4.5.3 Huấn luyện ........................................................................................................................... 39

5 KẾT QUẢ THỰC HIỆN .................................................................................................................... 43

6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ......................................................................................... 44

6.1 Kết luận ....................................................................................................................................... 44

iv
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

6.2 Hướng phát triển ......................................................................................................................... 45

7. TÀI LIỆU THAM KHẢO ............................................................................................................... 46

8. PHỤ LỤC ...................................................................................................................................... 47

v
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

DANH SÁCH HÌNH MINH HỌA


Hình 2-1 Sơ đồ nhận dạng tổng quát ...................................................................................................... 3

Hình 2-2 Sơ đồ nhận dạng giọng nói ....................................................................................................... 8

Hình 2-3 đồ khối nhận dạng giọng nói dùng Neural network ................................................................. 9

Hình 2-4 Giải thuật trích đặc trưng MFCC thông thường ..................................................................... 12

Hình 2-5 Bộ lọc số pre-emphasis .......................................................................................................... 12

Hình 2-7 Đáp ứng tần số được chuẩn hóa của bộ lọc pre-emphasis .................................................... 13

Hình 2-6 Tín hiệu x(n) và x_preemphasis(n) trong miền thời gian ....................................................... 13

Hình 2-8 Các frame trong phân tích tiếng nói ....................................................................................... 14

Hình 2-9 Cửa sổ Hamming 160 điểm .................................................................................................... 15

Hình 2-10 Quá trình phân tích phổ tín hiệu .......................................................................................... 16

Hình 2-11 Thang đo Mel đối với tín hiệu âm tần .................................................................................. 17

Hình 2-12 Mô hình mạng Neural truyền thẳng nhiều lớp..................................................................... 19

Hình 2-13 Mô hình một Neural cụ thể .................................................................................................. 19

Hình 2-14 Hàm kích hoạt tuyến tính ......................................................... Error! Bookmark not defined.

Hình 2-15 Các hàm Hardlim...................................................................... Error! Bookmark not defined.

Hình 2-16 Hàm kích hoạt sigmod .............................................................. Error! Bookmark not defined.

Hình 2-17 Mô hình mạng neural nhân tạo đơn giản. ............................................................................ 22

Hình 2-18 Perceptron ............................................................................................................................ 22

Hình 2-19 1 So sánh cấu trúc và chức năng của RBP với các board tương tự trên thị trường ............. 24

Hình 2-20 Sơ đồ mô tả cấu trúc phần cứng của Raspberry Pi 2 Model B ............................................. 25

Hình 2-21 Hình cấu tạo PIR.................................................................................................................... 26

Hình 2-22 Nguyên lý phát hiện người di chuyển của cảm biến PIR ...................................................... 27

Hình 3-1 Sơ đồ khối chức năng phàn cứng ........................................................................................... 28

Hình 4-1 Sơ đồ khối hoạt động hệ thống .............................................................................................. 29

Hình 4-2 giải thuật cắt khoảng lặng ..................................................................................................... 31

Hình 4-3 Minh họa Overlap y mẫu ........................................................................................................ 32

vi
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-4 Dạng sóng của một câu nói trước và sau khi cắt khoảng lặng ............................................... 32

Hình 4-5 Sơ đồ giải thuật trích đặc trưng MFCC dùng trong phần mềm .............................................. 33

Hình 4-6 Dạng sóng trước và sau khi Pre-emphasis.............................................................................. 34

Hình 4-7 Các bộ lọc tam giác dùng cho băng bộ lọc Mel ...................................................................... 36

Hình 4-8 Băng 27 bộ lọc tam giác tạo ra trong phần mềm ................................................................... 37

Hình 4-9 Sơ đồ xây dựng bộ trọng số huấn luyện ................................................................................. 38

Hình 4-10 Sơ đồ xây dựng bộ trọng số huấn luyện ............................................................................... 39

Hình 4-113 Sơ đồ giải thuật huấn luyện................................................................................................ 41

Hình 4-12 giải thuật đọc cảm biến ........................................................................................................ 42

Hình 5-1 Kết quả ma trận đặc trưng .................................................................................................... 43

Hình 5-2 Kết quả cắt khoảng lặng và pre-emphasis .............................................................................. 44

vii
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

1. GIỚI THIỆU

1.1 Tổng quan

Ngày nay việc điều khiển bằng giọng nói không còn là hình ảnh tưởng tượng trong
nhưng phim viễn tưỡng nữa, mà đang là một xu thế phát triển, đặc biệt là cho các thiết bị di
động.Công nghệ nhận giọng nói là giải pháp hợp lý thay thế cho các phương thức giao tiếp,
nhận dữ liệu qua các thiết bị ngoại vi như chuột, bàn phím.Ngoài ra phần mềm nhận dạng
giọng nói còn mang lại nhiều lợi ích to lớn như hỗ trợ người khuyết tật, vấn đề bảo mật, điều
khiển robot…. .Tất nhiên, hiện nay công nghệ nhận dạng giọng nói vẫn chỉ mới giai đoạn
phát triển nên chưa thể nào thay thế hoàn toàn các thiết bị điều khiển khác. Trên thế giới đã
có nhiều công trình nghiên cứu nhận dạng tiếng nước ngoài khá tốt.Bên cạnh đó là các phần
mềm nhận dạng lời nói nỗi tiếng trên các thiết bị di động như Google Voice Input,Apple Siri
hay Microsoft Cortana. Tuy nhiên, cho đến nay các công trình nghiên cứu nhận dạng giọng
nói tiếng Việt còn chưa nhiều,và đạt hiệu suất chưa cao,và hầu hết thực hiện trên máy tính cá
nhân.

Hiện nay, cùng với sự phát triển mạnh mẽ của công nghệ vi mạch, các lõi IP (IP core) đang
được sử dụng rộng rãi trong các hệ thống nhúng, các thiết bị thông minh.Raspberry Pi 2 là hệ
thống máy tính nhúng sử dụng lõi ARM Cortex A7 khá mạnh về tốc độ xử lí, dung lượng và
các ứng dụng về âm thanh.Việc nhúng thành công các chương trình nhận dạng giọng nói
tiếng Việt với số từ lớn vào các Kit xử lí nhỏ gọn sẽ có ý nghĩa to lớn trong việc phát triển
ứng dụng vào thực tế,đặc biệt là trong vấn đề bảo mật và điều khiển trong nhưng ứng dụng
như nhà thông minh.Do vậy, đề tài sử dụng và cải tiến các giải thuật đã và đang nghiên cứu
trong lĩnh vực nhận dạng giọng nói, thiết kế hệ thống nhúng nhận dạng giọng nói thực hiện
nhận dạng giọng nói khi phát âm từ đơn tiếng Việt trên Raspberry Pi 2.

Để nhận dạng và hiểu được tiếng nói người, bộ não người phải trải qua quá trình học lại
nhiều lần và xử lí phức tạp.Đã có nhiều nghiên cứu lĩnh vực này với nhiều hướng tiếp cận
khác nhau.Trong đó , mạng Neural nhân tạo là hệ thống mô phỏng một số tính chất của não
bộ người. Nó có khả năng học quan hệ giữa các biến đầu vào và đầu ra khi dữ liệu đầu vào
không có qui luật hoặc không có qui luật rõ ràng. Phương pháp nhận dạng dùng mạng Neural
nhân tạo khá hiệu quả trong việc tăng độ chính xác nhận dạng.Vì vậy đề tài chọn mạng
Neural nhân tạo để giải quyết bài toán nhận dạng giọng nói.

1
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

1.2 Tình hình nghiên cứu trong và ngoài nước

Hiện nay trên thế giới có rất nhiều nghiên cứu về hệ thống nhận dạng giọng nói và
đạt được những thành tựu như : Via Voice cửa IBM, Spoken Toolkit của trung tâm CSLU(
Center of Spoken Language Understanding),… những hệ thống này được xây dựng để nhận
dạng tiếng Anh, ngoài ra còn một số hệ thống nhận dạng tiếng nói của các ngôn ngữ khác
như : tiếng Ý , Đức, Pháp ,Tây Ban Nha…

Theo [ 1 ] - Hệ thống nhận dạng giọng nói phụ thuộc người nói.Mạng Neural của hệ thống là
mạng Time-Delay Neural Netwok 3 lớp và sử dụng thuật toán lan truyền ngược
(Backpropagation) để nhận dạng được âm vị của ba từ „B‟, ‟D‟, và „G‟ phụ thuộc vào 3
người nói khác nhau. Kết quả của tỉ lệ nhận dạng chính xác đạt được 98,5% trong khi kết quả
đạt được tốt nhất của Hidden Markov Model (HMM) dưới điều kiện tương tự (1946) là
93,7%.

Theo [ 2 ] -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 tiềm năng „Thiết kế chip nhận dạng giọ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 đã có cơ hội để thử sức nghiên cứu xây dựng một số cấu trúc vi
mạch nhận dạng tiếng nói tiếng Việt. Kết quả nhận dạng được các chữ số từ 0 đến 9 và
khoảng 20 từ đơn âm với xác xuất nhận dạng trên 80%. Đây là một bài báo được đăng tại :

Theo [ 3 ] - Trình bày một hướng nhận dạng tiếng nói tiếng Việt dựa trên việc trích đặc trưng
tiếng nói bằng phương pháp MFCC và bộ nhận dạng dùng mạng HMM. Kết quả được kiểm
nghiệm thực tế bằng mô hình xe điều khiển từ xa, xác suất nhận dạng thực hiện bộ 4 từ : phải,
trái , tới ,lui đạt 99%. Tuy nhiên hạn chế lớn của đề tài này là bộ từ vựng nhỏ và tốc độ xử lí
chậm.

1.3 Nhiệm vụ luận văn

Mô tả Nghiên cứu lý thuyết về nhận dạng giọng nói và phương pháp trích chọn đặc
trưng giọng nói MFCC(Mel-scale Frequency Cepstral Cofficiention ), mạng Neural Network
truyền thẳng và thuật toán Back Propagation. Trên cơ sở đó, xây dựng giải thuật nhận dạng
giọng được phát ra từ tác giả trong điều kiện nhiễu thấp. Thực hiện huấn luyện trên máy tính
cá nhân và xây dựng hệ thống nhúng nhận dạng trực tiếp trên Raspberry Pi 2.

2
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

2. LÝ THUYẾT

2.1 Nhận dạng.

Nhận dạng của loài người là một quá trình hoàn hảo, đó là sự quan sát đối tượng
cần nhận dạng, ghi nhận lại những đặc trưng của đối tượng, phân lớp đối tượng và có sử
dụng khả năng phán đoán suy luận để phân biệt đối tượng đó với đối tượng khác (trong một
tập gần như vô hạn đối tượng). Trong khi đó, nhận dạng tự động – nhận dạng bằng công cụ
máy vi tính chỉ đơn giản là quá trình phân biệt tín hiệu này với tín hiệu khác (trong một tập
hữu hạn các tín hiệu), quá trình này được thực hiện bằng cách thực hiện các bước tổng quát
sau (như trong hình 1.1)

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

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

3
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

thì tín hiệu đó thuộc vào nhóm tín hiệu đó với một tỉ lệ nhất định gọi là độ chính xác
của hệ thống nhận dạng (tỉ lệ này dĩ nhiên là càng cao càng tốt)

2.2 Tiếng nói

Tiếng nói thường xuất hiện dưới nhiều hình thức mà ta gọi là đàm thoại, việc đàm
thoại thể hiện kinh nghiệm của con người. Đàm thoại là một quá trình gồm nhiều người, có
sự hiểu hiết chung và một nghi thức luân phiên nhau nói. Những người có điều kiện thể chất
và tinh thần bình thường thì rất dễ diễn đạt tiếng nói của mình, do đó tiếng nói là phương tiện
giao tiếp chính trong lúc đàm thoại. Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp
người nghe hiểu được ý cần diễn đạt như biểu hiện trên gương mặt, cử chỉ, điệu bộ. Vì có đặc
tính tác động qua lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếp nhanh chóng. Trong
khi đó, chữ viết lại có khoảng cách về không gian lẫn thời gian giữa tác giả và người đọc.Sự
biểu đạt của tiếng nói hỗ trợ mạnh mẽ cho việc ra đời các hệ thống máy tính có sử dụng tiếng
nói, ví dụ như lưu trữ tiếng nói như là một loại dữ liệu, hay dùng tiếng nói làm phương tiện
giao tiếp qua lại. Nếu chúng ta có thể phân tích quá trình giao tiếp qua nhiều lớp, thì lớp thấp
nhất chính là âm thanh và lớp cuối cùng là tiếng nói diễn tả ý nghĩa muốn nói. Số lượng các
âm thanh tiếng nói riêng biệt (các âm vị) của một ngôn ngữ thường là một đối số để đánh giá
và không bất biến đối với những ngôn ngữ khác. Ví dụ, theo một thống kê cụ thể về các âm
vị chuẩn, trong tiếng Anh Mỹ, có 39 âm thanh bao gồm 11 nguyên âm,4 nguyên âm đôi,4 bán
nguyên âm và 20 phụ âm.

2.2 .1 Phân loại tiếng nói

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

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

4
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

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

Âm vô thanh: Là âm khi tạo ra tiếng thì dây thanh không rung hoặc rung đôi chút tạo ra giọng
như giọng thở, ví dụ “h”, “p” hay “th”

Âm bật: Để phát ra âm bật, đầu tiên bộ máy phát âm phải đóng kín, tạo nên một áp suất, sau
đó không khí được giải phóng một cách đột ngột, ví dụ “ch”, “t”.

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

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

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

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

2.2.3 Phân loại các hệ thống nhận dạng giọng nói


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

5
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

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

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

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

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

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

6
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

thống cần phải qua một quá trình ngắn huấn luyện hệ thống). Điều này đã được Microsoft
đưa vào bộ phần mềm Office của mình.

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

2.2.4 Các phương pháp tiếp cận giọng nói

Về cơ bản, có ba tiếp cận nhận dạng tiếng nói chính như sau:
 Tiếp cận âm thanh- ngữ âm
 Tiếp cận nhận dạng mẫu
 Tiếp cận trí tuệ nhân tạo
Tiếp cận âm thanh- ngữ âm dựa trên cơ sở công nhận sự tồn tại của các đơn vị ngữ âm trong
ngôn ngữ tiếng nói; các đơn vị ngữ âm này được biểu diễn đặc trưng bởi một tập hợp những
thuộc tính thể hiện trong tín hiệu âm thanh hay biễu diễn phổ theo thời gian. Bước đầu tiên
của tiếp cận âm thanh- ngữ âm cho nhận dạng tiếng nói được gọi là bước phân đoạn và gán
nhẵn vì nó liên quan đến việc phân đoạn các tín hiệu âm thanh thành các vùng rời rạc theo
thời gian mà ở đó các thuộc tính âm học của tín hiệu biểu diễn cho một hay một vài đơn vị
ngữ âm. Sau đó gán một hoặc nhiều nhãn ngữ âm cho mỗi vùng phân đoạn dựa theo các
thuộc tính âm học. Bước thứ hai của tiếp cận là giai đoạn thực sự nhận dạng giọng nói.
Nhiệm vụ của bước này là cố gắng xác định một từ hợp lệ hay chuỗi từ hợp lệ từ một chuỗi
các nhãn ngữ âm thu được của bước thứ nhất dựa trên cơ sở các ràng buộc (về từ vựng và cú
pháp) của tác vụ nhận dạng giọng nói.

Tiếp cận nhận dạng mẫu:về cơ bản là một quan điểm sử dụng trực tiếp các mẫu tiếng nói
(speech patern)(chính là đoạn tín hiệu tiếng nói cần nhận dạng) mà không cần xác định thật
rõ các đặc trưng và cũng không cần phân đoạn tín hiệu như với tiếp cận âm thanh ngữ âm.
Phương pháp này cũng thực hiện hai bước, tích lũy các mẫu tiếng nói, và nhận dạng mẫu
thông qua so sánh mẫu. Kiến thức về tiếng nói được đưa vào trong quá trình tích lũy. Đặc
tính hữu ích chủ yếu của phương pháp này nằm ở khâu so sánh mẫu trong đó các mẫu tiếng
nói không biết được so sánh trực tiếp với các mẫu đã được học bằng tích lũy và đồng thời
được phân loại theo sự tượng trưng mẫu tốt nhất.

7
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Tiếp cận trí tuệ nhân tạo: là dường như khai thác quan điểm của hai tiếp cận kể trên. Tiếp cận
này cố gắng „máy móc hóa‟ chức năng nhận dạng theo cách mà con người áp dụng trí thông
minh của mình trong việc quan sát, phân tích và thực hiện những quyết định trên các đặc
trưng âm học của tín hiệu. Một trong những kĩ thuật được xây dựng theo quan điểm này là
việc sử dụng một hệ chuyên gia cho việc phân đoạn và gán nhãn tín hiệu, hay việc học và
thích nghi theo thời gian…Xét trên khía cạnh mô phỏng trí tuệ con người thì việc ứng dụng
mạng Neural phần nào mang tính chất của tiếp cận trí tuệ nhân tạo.

Nhìn một cách tổng quan hệ thống nhận dạng giọng nói được thực hiện theo mô
hình sau:

Hình 2-2 Sơ đồ nhận dạng giọng nói

Trích đặc trưng: Lấy các giá trị đo đạt tín hiệu ngõ vào để xác định mẫu thử.

 Huấn luyện mẫu:Các mẫu thử sẽ là giá trị ngõ vào của mạng, dùng để
huấn luyện mạng.
 So sánh mẫu: mẫu thử chưa biết được so sánh với mẫu thử tham khảo
mỗi lớp và sự tình toán tương đồng giữa mẫu thử kiểm tra với mỗi
mẫu thử tham khảo.
 Quyết định logic: điểm số của sự giống nhau với mẫu tham khảo được
dùng để quyết định mẫu tham khảo phối hợp tốt nhất với mẫu thử
chưa biết.

2.2.5 Một hệ thống nhận dạng tiếng nói dùng Neural nhân tạo

8
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-3 đồ khối nhận dạng giọng nói dùng Neural network
Tín hiệu âm thanh: Được thu từ các thiết bị và được số hóa để xử lý

 Tiền xử lý: Cắt các khoảng lặng hoặc nhiễu nền để giảm kích
thước, tăng xác suất nhận dạng
 Trích đặc trưng: Phân tích tín hiệu, trích đặc trưng cơ bản lưu
thành tập các đặc trưng riêng của mỗi từ.

 Huấn luyện: Dùng mạng Neural huấn luyện các vector đặc trưng
của tập huấn luyện mẫu tạo ra bộ trọng số huấn luyện làm cơ sở
dữ liệu cho quá trình nhận dạng
 Nhận dạng: dùng mạng Neural nhằm tạo tính toán các đặc trưng
của tín hiệu kết hợp với bộ trọng số so sánh đưa ra kết quả.

2.3 Tiền xử lí âm thanh

Có nhiều phương pháp tiền xử lí âm thanh để chia âm thanh vừa thu được đạt được một
chuẩn nhất định. Về cơ bản là giảm nhiễu và cắt các khoảng lặng không cần thiết. Đề tài áp
dụng phương pháp phổ biến là phương pháp xác định ngưỡng năng lượng thời gian ngắn

Phương pháp xác định năng lượng thời gian ngắn: năng lượng thời gian ngắn của đoạn chứa
tiếng nói luôn lớn hơn nhiều so với đoạn chỉ có nhiễu. Do đó nếu ta chọn được mức ngưỡng
phù hợp thì ta sẽ trích được tín hiệu mang thông tin một cách tốt nhất. Khuyết điểm lớn nhất
của phương pháp này là rất khó xác định điểm đầu và điểm cuối khi có biên độ lớn.

Sau khi cắt các khoảng lặng, để giảm nhiễu có thể dùng phương pháp lọc nhiễu Wiener và để
khắc phục việc tín hiệu thu quá nhỏ có thể dùng phương pháp chuẩn hóa biên độ tín hiệu.

2.4 Trích đặc trưng

Tính hiệu âm thanh ngoài đời thực là tín hiệu liên tục, hay tín hiệu tương tự.Trước khi thực
hiện bất cứ bước xử lý nào, tín hiệu âm thanh cần được số hóa.Việc này được thực hiện tự
động bởi các thiết bị thu âm, bằng cách lấy mẫu tín hiệu đầu vào. Như vậy, một tín hiệu âm

9
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

thanh bất kỳ khi đã được đưa vào máy tính, là một tập các mẫu liên tiếp nhau, mỗi mẫu là giá
trị biên độ của tín hiệu tại một thời điểm nhất định.Trước khi đến quá trình nhận dạng hay
quá trình huấn luyện giọng nói ở bộ „ giải mã giọng nói‟ , bất kỳ mẫu âm thanh nào cũng
phải thông qua bộ „trích đặc trưng‟. Trích đặc trưng đối với nhận dạng giọ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. Tóm lại, rút trích vector đặc
trưng sẽ xử lý tín hiệu tiếng nói để giữ lại những thông tin có ích và loại bỏ những thành phần
không mong muốn nhằm tạo ra một chuỗi ngắn các vector đặc trưng.

Lợi ích của trích đặc trưng

 Tạo ra các tham số đặc trưng cho tiếng nói để làm tăng độ chính xác
của kết quả nhận dạng
 Giảm khối lượng tính toán cần thiết cho quá trình nhận dạng
 Làm rõ sự khác biệt của tiếng này so với tiếng khác.
 Làm giảm đi sự khác biệt của cùng hai lần phát âm thanh khác nhau
của cùng một tiếng.

Yêu cầu của trích đặc trưng

Để rút trích đặc trưng, ta cần phải chọn phương pháp trích đặc trưng
thỏa mãn một phần hay toàn bộ trong các yêu cầu sau đây:

 Có khả năng diễn đạt thông tin giọng nói và tiếng nói thể hiện được
đặc trưng của những người nói khác nhau.
 Dễ dàng tính toán, đo lường.
 Ổn định ít biến đổi.
 Xảy ra tự nhiên và liên tục trong tiếng nói
 Ít thay đổi theo môi trường nói(độc lập môi trường)
 Không ảnh hưởng bởi sự biến dạng bóp méo.
 Không ảnh hưởng bỏi độ ồn nền và băng tần giới hạn.
 Không ảnh hưởng bởi trạng thái người nói
 Không bị ảnh hưởng bởi những âm tương đồng
2.4.1 Các phương pháp trích đặc trưng thường dùng

 Đặc trưng miền âm

10
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

o Autocorrelation Coefficients (COR)


o Partial Correlation Coefficients (PARCOR)
o Log Area Ratio Coefficients (LAR)
o Perceptional Linea Prediction (PLP)
 Đặc trưng miền tần số và Ceptral
o Line Spectrum Pairs (LSP)
o Bank of filters (tuyến tính)
o Bank of filters (Mel)
o Mel Frequency Ceptral Coefficients (MFCC)
Trong nhận dạng tiếng nói, kĩ thuật trích chọn đặc trưng MFCC là phương pháp phổ biến
nhất và được ưa chuộng hơn cả vì tính hiệu quả và tin cậy của nó trong các môi trường nhận
dạng khác nhau.Phần tiếp theo sẽ giới thiệu cụ thể về phương pháp trích đặc trưng MFCC.

Trong bài toán nhận dạng tiếng nói đang xét, với tần số lấy mẫu mặc định 8000Hz, một đoạn
mẫu với một số lượng mẫu nhất định tạo thành một frame, như vậy tín hiệu tiếng nói là tập
các frame liên tiếp nhau, trích chọn đặc trưng MFCC cho ta tập đặc trưng cho mỗi frame
tiếng nói này. Tại sao phải chia thành các frame cụ thể chúng có đặc trưng như thế nào, vấn
đề sẽ được đề cập tới ở phần sau.

2.4.2 Trích chọn đặc trưng MFCC

MFCC là viết tắt của Mel-Frequency Ceptral coefficients. Phương pháp này dựa trên
khả năng càm nhận âm thanh của tai người. Đó là tuyến tính ở vùng tần số thấp và tăng theo
thang logarit ở vùng tần số cao.Từ đặc trưng này, phương pháp MFCC cho ta những đặc
trưng quan trọng nhất của tiếng nói con người. Đầu ra của MFCC là các vector đặc trưng mà
khi dựa vào các vector này ta sẽ phân biệt được các tiếng nói khác nhau. Các vector này được
sữ dụng trong cả quá trình huấn luyện và nhận dạng tiếng nói.

Hình 2.3-1 chỉ ra sơ đồ khối của thuật toán trích đặc trưng dùng phương pháp MFCC thông
thường. Trước tiên tín hiệu được số hóa bời bộ A/D. Mặc dù tai người có thể nghe được
những âm thanh có tần số từ 20Hz đến 20KHz nhưng thông thường tiếng nói của con người
dưới 5KHz và băng thông giới hạn cho tín hiệu nói thoại đạt chất lượng là 4KHz.

11
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-4 Giải thuật trích đặc trưng MFCC thông thường

2.4.2.1 Pre-Emphasis
Chúng ta biết rằng phổ tiếng nói hữu thanh có khuynh hướng suy giảm toàn bộ -
6dB/octave khi tần số tăng lên. Điều này là do khuynh hướng suy giảm - l2dB/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. Điều này được gọi là pre-emphasis tín hiệu. Trong xử lý
tín hiệu số, chúng ta dùng bộ lọc thông cao có tần số cắt 3dB ở tần số trong phạm vi từ 100
Hz đến l kHz. Bộ lọc thông cao này có phương trình sai phân :

H(z)=1-a.z-1

Si‟=Si – a.Si-1

Trong các hệ thống nhận dạng tiếng nói bằng phần mềm thì a=0.97 , khi đó đáp ứng tần số
của bộ lọc được chỉ ra trong hình 2.3.2 , tại ω=π (phân nửa tốc độ lấy mẫu) biên độ tín hiệu
được khuếch đại lên 35dB so với biên độ tín hiệu tại ω=0

Hình 2-5 Bộ lọc số pre-emphasis

12
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-6 Tín hiệu x(n) và x_preemphasis(n) trong miền thời gian

Hình 2-7 Đáp ứng tần số được chuẩn hóa của bộ lọc pre-emphasis

Bởi vì tín hiệu tiếng nói là tín hiệu biến đổi chậm theo thời gian, trong một hệ thống nhận
dạng tiếng nói thì tiếng nói được phân đoạn thành những khoảng thời gian ngắn được gọi là
các frame. Để cho các thông số của frame ít thay đổi, thông thường có 50% chồng lấp giữa
các frame kế cận nhau, như trong hính 2.3-4. Trong các hệ thống nhận dạng tiếng nói bằng
phần mềm, tiếng nói được chia thành những frame có chiều dài 20ms với 10ms chồng lấp.
13
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Khi tiếng nói được lấy mẫu với tần số 8KHz sẽ có 160 mẫu trong mỗi frame và có 80 mẫu
chồng lấp giữa 2 frame kế cận nhau.

Hình 2-8 Các frame trong phân tích tiếng nói

2.4.2.2 Windowing

Một cửa sổ thường được ứng dụng để gia tăng tính liên tục giữa các frame kế
cận nhau.Một trong các cửa sổ được dùng phổ biến nhất trong nhận dạng tiếng nói đó là cửa
sổ Hamming được xác định bởi phương trình sau, trong đó N là chiều dài cửa sổ và nó bằng
với chiều dài các frame.

14
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-9 Cửa sổ Hamming 160 điểm

Tiếng nói sau khi được chia thành những frame có chiều dài 160 mẫu với 50% chồng lấp
được thảo luận trong phần Frame Blocking, 160 điểm cửa sổ Hamming được nhân với mỗi
frame theo từng mẫu. Các frame ngõ ra cửa sổ được liên tục tại điểm đầu và điểm cuối của
mỗi frame. Bước này có thể được diễn giải bởi phương trình sau, trong đó fn(l) là frame được
pre-emphasis thứ n, ham(l) thay cho cửa sổ hamming wfn(l) là frame thứ n sau khi qua cửa sổ
Hamming.

2.4.2.3 Phân tích phổ dùng FFT


Biến đổi Fourier nhanh (FFT) được dùng để tính toán phổ của tín hiệu tiếng
nói. Đó chính là sự thực thi phép biến đổi Fourier rời rạc (DFT) đạt hiệu suất cao với điều
kiện ràng buộc là phổ được đánh giá tại những tần số rời rạc, những tần số này được nhân với
fs/N (các tần số trực giao với nhau), trong đó fs là tần số lấy mẫu, N là chiều dài của DFT.
Thuật toán FFT chỉ yêu cầu khối lượng tính toán với tỉ lệ với N.log(N), trong khi đó DFT yêu
cầu khối lượng tính toán tỷ lệ với N2.

Độ phân giải tần số của DFT bị giới hạn bởi 2 yếu tố: chiều dài của tín hiệu và chiều dài của
DFT. Nếu tín hiệu được tạo ra bởi việc cộng hai tín hiệu sin mà tần số của hai tín hiệu này rất
gần với nhau, khi đó để phân biệt hai tần số này chúng ta phải quan sát tín hiệu với phân đoạn
đủ dài. Đối với chiều dài của DFT, phổ tần số được tạo ra bởi N điểm DFT bao gồm N/2
điểm với cách đều nhau phân bố giữa 0 đến phân nữa tần số lấy mẫu. Vì vậy để tách rời hai

15
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

tần số có khoảng cách đều nhau phân bố giữa 0 đến phân nữa tần số lấy mẫu.Vì vậy để tách
rời hai tần số có khoảng cách gần nhau thì khoảng cách giữa các điểm phải nhỏ hơn khoảng
cách giữa hai đỉnh. Khi các frame được cửa sổ hóa với chiều dài là 160 điểm, chiều dài DFT
được thiết lập là 256 điểm để đạt được độ phân giải tần số tốt với khối lượng tính toán có thể
chấp nhận được khi thực thi phần cứng thực tế. Sau khi biến đổi FFT 256 điểm, chỉ có biên
độ(căn bậc 2) của 128 điểm đầu tiên được dùng cho bước tính toán tiếp theo bởi tính chất đối
xứng của phép biến đổi FFT

Hình 2-10 Quá trình phân tích phổ tín hiệu

2.3.4.2 Băng bộ lọc tần số Mel

Một băng bộ lọc số được dùng để mô hình các tầng ban đầu của phần chuyển
đổi trong hệ thống thính giác con người với 2 lí do sau.Thứ nhất, vị trí của việc dịch chuyển
cực đại dọc theo màng rung trong tai người để kích thích tỷ lệ với logarithm của tần số âm
thanh được, một thang đo Mel được dùng để ánh xạ tần số âm thanh nhận được sang thang đo
tuyến tính. Thang tần số này được định nghĩa bởi phương trình (2.3.5) và được minh họa ờ
hình 2.3.8. Nó xấp xỉ như thang tuyến tính trong khoảng từ 0 đến 1000Hz, xấp xỉ như thang
logarithm bên ngoài tần số 1000Hz.

16
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-11 Thang đo Mel đối


với tín hiệu âm tần

Băng thông bộ lọc thang đo Mel thông thường trong nhận dạng tiếng nói bao gồm một số bộ
lọc bandpass hình tam giác được phân bố bên trong băng thông tín hiệu.Chúng được cách đều
nhau trên thang Mel và băng thông của chúng được thiết kế sao cho điểm 3dB nằm ở khoảng
giữa hai bộ lọc kế cận nhau.

2.4.2.4 Tính toán năng lượng


Công suất của mỗi frame cũng là thành phần trong đặc trưng MFCC.Nó được
tính toán như là logarithm của công suất tín hiệu, có nghĩa là đối với frame thứ n,mỗi frame
có 160 mẫu {Snl, l=1,2,….,160}

17
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

2.4.2.5 Hệ số delta
Chất lượng của hệ thống nhận dạng tiếng nói có thể được cải thiện nhiều hờn
bằng cách thêm vào tính đạo hàm theo thới gian để có được những thông số cơ bản. Trong xử
lý tín hiệu số, đạo hàm cấp 1 theo thời gian có thể được xấp xỉ bởi:

2.5 Mạng Neuron (Neural Network)

2.5.1 Giới thiệu mạng Neural nhân tạo và mô hình tổng quát của mạng Neural
Bộ não con người là hệ thống xử lí thông tin phức hợp, phi tuyến, song song và
có khả năng học, ghi nhớ, tổng quát hóa và xử lý lỗi. Nó bao gồm khoảng hàng chục –trăm tỷ
tế bào thần kinh liên kết với nhau.Các nhà khoa học chỉ mới bắt đầu tìm hiểu mạng thần kinh
sinh học hoạt động như thế nào. Tổng quát rằng tất cả các chức năng thần kinh bao gồm cả bộ
nhớ được chứa đựng trong những tế bào thần kinh và trong những thông tin liên kết giữa
chúng.Học tập được xem như những thiết lập mới giữa các tế bào thần kinh hay những thay
đổi của những liên kết hiện tại.

Tế bào thần kinh sinh học gồm 3 thành phần chính là thân tế bào (Cell body), một hệ thống
hình cay các đầu dây thần kinh vào(Dendrite) và một trục (Axon) dẫn đến các đầu dây thần
kinh ra. Tại đầu của các dây thần kinh có các khớp thần kinh(Synapse) để liên kết với các tế
bào thần kinh khác. Tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các
tế bào thần kinh là tín hiệu điện phát sinh thông qua các quá trình phản ứng và giải phóng các
chất hữu cơ. Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm
tăng hay giảm điện thế của nhân tế bào

Dựa trên mạng Neural sinh học mạng Neural nhân tạo được xây dựng ở hình 1.4.3.Mô hình
mạng Neural nhân tạo được xây dựng gồm một lớp đầu vào, một lớp đầu ra và một hoặc
nhiều lớp ẩn. Trong mạng Neural gồm hệ thống các Neural cùng các ma trận trọng số ứng với
mỗi lớp. Các Neural này sẽ tính toán dữ liệu dựa trên dữ liệu đầu vào và bộ trọng số của
mạng Neural.Ở mỗi Neural trong mạng Neural cũng được xây dựng dựa trên mô hình toán
học tương ứng. Mỗi Neural sẽ bao gồm tính chập của đầu vào và trọng số.

18
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-13 Mô hình một Neural cụ thể

Hình 2-12 Mô hình mạng Neural truyền thẳng nhiều lớp

2.5.2 Hàm kích hoạt f


Hàm kích hoạt có nhiệm vụ giới hạn giá trị ngõ ra của Neural, và tùy theo từng
yêu cầu mà hàm kích hoạt có thể khác nhau,dưới đây là những hàm thông dụng nhất

 Hàm kích hoạt ngưỡng:

 Hard-Limit loại 1:

19
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Đây là hàm kích hoạt ngưỡng ( loại 1), nó cho ra 0 nếu


ngõ vào hàm kích hoạt nhỏ hơn 0 và bằng 1 nếu ngõ vào hàm
kích hoạt lớn hơn hoặc bằng không.Hàm này được sử dụng

Hình 2-14 Hàm kích hoạt ngưỡng

thông dụng trong mạng Preceptron dùng để tạo ra các quyết


định mang tính chất phân loại

 Hard-Limit loại 2:
Đây là hàm ngưỡng, nó cho ra -1 nếu ngõ vào của hàm
kích hoạt là nhỏ hơn 0 và cho ra 1 nếu ngõ vào hàm kích hoạt

nhỏ hơn hoặc bằng 0.Hàm này cũng được dùng thông
dụng trong mạng perceptron dùng để tạo ra các quyết định
mang tính chất phân loại.
 Hàm kích hoạt tuyến tính
Đây là hàm tuyến tính nó cho ra giá trị của chính giá trị vào.Hàm này được sử dụng thông
dụng trong mạng Adaline dùng trong xấp xỉ hàm tuyến tình.

20
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 2-15Hàm kích hoạt tuyến tinh

Hàm kích hoạt sigmod


Hàm này còn gọi là hàm bão hòa, nhận đầu vào tùy ý và cho đầu ra
trong khoảng 0 đến +1. Hàm này sử dụng cho các mạng được huấn luyện (trained) bởi thuật
toán Lan truyền ngược (Back-Propagation), bởi vì nó dễ lấy đạo hàm, do đó giảm đáng kể
các phép tính trong quá trình huấn luyện mạng. Hàm này được sử dụng cho những ứng dụng

Hình 2-16 Hàm kich hoạt simod

mà giá trị đầu ra nằm trong khoảng [0;1].

Các hàm chuyển đổi với các neural lớp ẩn là cần thiết để biểu diễn sự phi tuyến và trong
mạng. Lý do là hợp thành của các hàm đồng nhất là một hàm đồng nhất. Mặc dù vậy nhưng
nó mang tính chất phi tuyến (nghĩa là, khả năng biểu diễn các hàm phi tuyến) làm cho các

mạng nhiều lớp có khả năng rất tốt trong biểu diễn các ánh xạ phi tuyến. Tuy nhiên, đối với
luật học lan truyền ngược, hàm phải khả vi (differentiable) và sẽ có ích nếu như hàm được
gắn trong một khoảng nào đó. Do vậy, hàm sigmoid là lựa chọn tốt nhất. Đối với các đơn vị
đầu ra , các hàm chuyển động được chọn sao cho phù hợp với sự phân phối của các giá trị
đích mong muốn. Nếu giá trị ra trong khoảng [0;1] thì làm sigmoid là phù hợp nhất.

21
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

2.5.3 Cấu trúc Neural nhân tạo


Mạng neural nhân tạo (Artificial Neural Network –ANN) : là một tập hợp các bộ xử lý rất
đơn giản- neuron- và nối với nhau.

Perceptron :Được giới thiệu bởi Rosenblatt vào những năm 1950, là mạng neuron nhân tạo

đơn giản nhất gồm một neuron với các trọng số có thể điều chỉnh được và một giới hạn cứng.

2-1 nhân tạo đơn giản.


Hình 2-17 Mô hình mạng neural

2-2

Hình 2-18 Perceptron

22
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

2.6 Thuật toán Backpropagation


Thuật giải lan truyền ngược : Quá trình học gồm hai pha :
 Lan truyền các mẫu input từ lớp nhập đến lớp xuất
 Giá trị sai số được tính đầu tiên cho lớp xuất, kết quả này được dùng
để tính sai số của các neuron ở lớp ẩn cao nhất, và lớp ẩn kế tiếp thì
tính theo kết quả của lớp ẩn cao hơn nó.Cứ thế lan truyền cho đến lớp
nhập.

Cho không gian mẫu học (x,t) là giá trị cần huấn luyện ; t là giá trị
kết quả đích (đầu ra mong muốn) của quá trình huấn luyện. Hệ số học 
.Qui định chỉ số lớp là tăng dần từ lớp đầu vào đến lớp đầu ra. Thuật giải
lan truyền ngược được tóm tắt như sau :

 Tạo mạng truyền thẳng có nin Neuron đầu vào nhidden Neuron trên mỗi
lớp ẩn và h lớp ẩn với nout đầu ra
 Khởi tạo bộ trọng số cho mạng với giá trị nhỏ
 Trong khi <điều kiện kết thúc chưa thỏa> làm

Với mỗi cặp (x,t) trong không gian mẫu huấn luyện thực hiện :

 Xét lớp nhập (*) : truyền x qua mạng , tại mỗi lớp xác định đầu ra
của mỗi Neuron.Quá trình này được thực hiện đến lớp xuất dựa
theo cấu trúc mạng cụ thể.
 Xét lớp xuất :đối với đầu ra Ok của Neuron k trong lớp xuất K, xác định sai số
 Chuyển sang lớp ẩn L kế nó, đặt L=K-1
 Xét lớp ẩn(**) : với mỗi Neuron I trên lớp ẩn thứ L, xác định sai số :
 Cập nhật lại trọng số có trong mạng ,wij
 Nếu L>1 thì chuyển sang lớp ẩn trên nó :L=L-1 và quay lại bước (**)
 Ngược lại : chọn cặp (x,t) mới trong không gian mẫu học, quay lại bước(*)

2.7 Tổng quan về Raspberry Pi B (RPB)

Raspberry Pi là một seri các máy tính chỉ có một board mạch kích thước chỉ
bẳng một thẻ tín dụng, được phát triển tại Anh bởiRaspberry Pi Foundation với mục đích thúc
đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và các nước đang phát

23
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

triển. Raspberry Pi ban đầu được dựa trên hệ thống trên một vi mạch(SoC)BCM2835 của
Broadcom, bao gồm một vi xử lý ARM1176JZF-S 700 MHz, VideoCore IV GPU, và ban đầu
được xuất xưởng với 256 MB RAM, sau đó được nâng cấp (model B và B +) lên đến 512
MB. Board này cũng có socket Secure Digital (SD) (model A và B) hoặc

MicroSD (model A + và B +) dùng làm thiết bị khởi động và bộ lưu trữ liên tục. Vào đầu
tháng Hai năm 2015, thế hệ tiếp theo của Raspberry Pi, Raspberry Pi 2, đã được phát hành.
Board máy tính mới này đầu tiên chỉ có một cấu hình (model B) và trang bị SoC Broadcom
BCM2836, với một nhân ARM Cortex-A7 CPU lõi tứ và một VideoCore IV dual-core GPU;
1 GB bộ nhớ RAM với thông số kỹ thuật còn lại tương tự như của các thế hệ model B+ trước
đó.

2.7.1 Cấu trúc và chức năng của Raspberry Pi B


Nhân xử lý ARM Cortex A7 giúp Raspberry Pi 2 có thể chạy được tất cả các
hệ điều hành ARM GNU/Linux, bao gồm Snappy Ubuntu Core, đồng thời hãng Microsoft
cũng đã ra quyết định hỗ trợ phiên bản Windows 10 cho Raspberry Pi, đây là một lợi thế rất
lớn cho các nhà phát triển.

Hình 2-19 1 So sánh cấu trúc và chức năng của RBP với các board tương tự trên
thị trường

Có thể thấy rằng với cấu hình như trên thì Raspberry Pi 2 model B cũng như các board tương
tự có thể được xem như một chiếc máy tính nhỏ sẵn sàng đi vào hoạt động nhưng với cấu

24
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

hình tốt nhất với giá tiền phải chăng thì Raspberry Pi 2 model B đã trở thành sự lựa chọn tốt
nhất cho đề tài.

Ngoài ra RBP còn được trang bị thêm nhiều cổng kết nối như USBx4, HDMI,Ethernet.Thiết
bị còn sở hữu 40 chân GPIO để có thể giao tiếp tốt với các phần cứng khác như LCD,cảm
biến .

Hình 2-20 Sơ đồ mô tả cấu trúc phần cứng của Raspberry Pi 2 Model B

2.7.2 Hệ điều hành nhúng

Hệ điều hành Raspbian OS là một phiên bản Debian Linux cho các phiên bản của
Raspberry. Hệ điều hành này là chính thức và được tải và sử dụng miễn phí với sự hộ trợ các
gói phần mềm, giao diện GUI cũng như sự nâng cấp thường xuyên. Vì được xây dựng riêng
cho Raspberry nên Raspbian OS đạt hiệu suất cao khi chạy trên raspberry.

2.8 Cảm biến PR

Nó là chữ viết tắt của Passive InfraRed sensor (PIR sensor), tức là bộ cảm biến thụ
động dùng nguồn kích thích là tia hồng ngoại. Tia hồng ngoại (IR) chính là các tia nhiệt phát
ra từ các vật thể nóng. Trong các cơ thể sống, trong chúng ta luôn có thân nhiệt (thông
thường là ở 37 độ C), và từ cơ thể chúng ta sẽ luôn phát ra các tia nhiệt, hay còn gọi là các tia

25
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

hồng ngoại, người ta sẽ dùng một tế bào điện để chuyển đổi tia nhiệt ra dạng tín hiệu điện và
nhờ đó mà có thể làm ra cảm biến phát hiện các vật thể nóng đang chuyển động. Cảm biến
này gọi là thụ động vì nó không dùng nguồn nhiệt tự phát (làm nguồn tích cực, hay chủ động)
mà chỉ phụ thuộc vào các nguồn tha nhiệt, đó là thân nhiệt của các thực thể khác, như con
người con vật…

Hình 2-21 Hình cấu tạo PIR

Trên đây là đầu dò PIR, loại bên trong gắn 2 cảm biến tia nhiệt, nó có 3 chân ra, một chân nối
masse, một chân nối với nguồn volt DC, mức áp làm việc có thể từ 3 đến 15V. Góc dò lớn.
Để tăng độ nhậy cho đầu dò, Bạn dùng kính Fresnel, nó được thiết kế cho loại đầu có 2 cảm
biến, góc dò lớn, có tác dụng ngăn tia tử ngoại.

Nguyên lý làm việc của loại đầu dò PIR

Các nguồn nhiệt (với người và con vật là nguồn thân nhiệt) đều phát ra tia hồng ngoại, qua
kính Fresnel, qua kích lọc lấy tia hồng ngoại, nó được cho tiêu tụ trên 2 cảm biến hồng ngoại
gắn trong đầu dò, và tạo ra điện áp được khuếch đại với transistor FET. Khi có một vật nóng
đi ngang qua, từ 2 cảm biến này sẽ cho xuất hiện 2 tín hiệu và tín hiệu này sẽ được khuếch
đại để có biên độ đủ cao và đưa vào mạch so áp để tác động vào một thiết bị điều khiển hay
báo động.

26
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Nguyên lý làm việc của đầu dò PIR đối với người qua lại:

Mọi vật thể đều được cấu tạo từ các phân tử nhỏ li ti, nhiệt là một dạng năng lượng tạo ra từ
các xao động của các phân tử (Bạn xem hình), đó là các chuyển động hỗn loạn, không trật tự.
Từ các xao động này, nó phát ra các tia nhiệt, bằng cảm giác thông thường của giác quan, con
người chúng ta nói đó là sức nóng. Ở mỗi người nguồn thân nhiệt thường được điều ổn ở
mức 37 độ C, đó là nguồn nhiệt mà ai cũng có và nếu dùng linh kiện cảm ứng thân nhiệt,
chúng ta sẽ có thiết bị phát hiện ra người, đó chính là ý tưởng mà người ta chế ra thiết bị
motion detector, điều khiển theo nguồn thân nhiệt chuyển động.

Trong bộ đầu dò PIR, người ta gắn 2 cảm ứng PIR nằm ngang, và cho nối vào cực Gate (chân
Cổng) của một transistor FET có tính khuếch đại. Khi cảm biến pyroelectric thứ nhất nhận
được tia nhiệt, nó sẽ phát ra tín hiệu và khi nguồn nóng di chuyển ngang, sẽ đến cảm biến
pyroelectric thứ hai nhận được tia nhiệt và nó lại phát ra tín hiệu điện. Sự xuất hiện của 2 tín
hiệu này cho nhận biết là đã có một nguồn nhiệt di động ngang và mạch điện tử sẽ phát ra tín
hiệu điều khiển. Tín hiệu này có thể dùng tắt mở đèn hay dùng để báo động khi có kẻ lạ vào
nhà

Hình 2-22 Nguyên lý phát hiện người di chuyển của cảm biến PIR

27
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

3 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG

3.1 Liệt kê các phần cứng

 Raspberry Pi 2 Model B+:


Là máy tính nhúng thực thi chương trình
 Sound card
Số hóa tín hiệu tương tự ở tần số lấy mẫu
 Micro
 Chống nhiễu , đáp ứng tần số 100Hz-16kHz
 Thẻ Micro SD
Chứa hệ điều hành cho máy tính nhúng và các thư viện, chứa các file
âm thanh để nhận dạng
 Cáp USB
Cấp nguồn cho Raspberry Pi
 Cáp mạng:
Kết nối mạng để cập nhật các thư viện cần thiết và xuất kết quả trên
màn hình máy tính cá nhân.

 Cảm biến PIR


Phát hiện có người di chuyển đến gần hệ thống
3.2 Sơ đồ khối chức năng phần cứng:

Hình 3-1 Sơ đồ khối chức năng phàn cứng

28
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

4 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM

4.1. Sơ đồ khối và hoạt động của hệ thống.

Hình 4-1 Sơ đồ khối hoạt động hệ thống

 Tín hiệu tiếng nói được thu từ Micro qua Sound Card số hóa tín
hiệu.
 Tín hiệu tiếng nói thu được đưa qua tiền xử lí cắt các khoảng lặng
bằng phương pháp xác định ngưỡng thời gian ngắn
 Khối xử lý trích đặc trưng dùng phương pháp MFCC thực hiện tính
các đặc trưng của tín hiệu âm thanh lưu thành các vector đặc trưng.
 Sau khi trích đặc trưng, hệ thống nhận dạng dùng neural network kết
hợp với bộ trọng số huấn luyện để đưa ra kết quả nhận dạng.

4.2 Quá trình thu âm

Hệ thống nhận dạng âm thanh có thể nhận dạng từ các file thu trực tiếp(online) hoặc từ các
file thu sẵn(offline). Việc thực hiện nhận dạng online hay offline nhằm tăng khả năng đánh
giá độ chính xác của hệ thống.Về việc thu lấy mẫu, để tránh chồng phổ tín hiệu thì tần số lấy
mẫu Fs ≥ 2Fmax . Trong đó: Fs là tần số lấy mẫu, Fmax là tần số lớn nhất của tín hiệu. Do
tần số tiếng nói tập trung trong khoảng 300Hz đến 3,5kHZ nên chọn tần số lấy mẫu là 8kHz,
số bit mã hóa là 16 bit. Các mẫu lưu thành định dạng wav

4.3 Tiền xử lý

Nhằm giảm kích thước dữ liệu cần phân tích và tăng độ chính xác khi nhận dạng. Ta thực
hiện cắt tỉa các khoảng lặng ra khỏi tín hiệu âm thanh. Đây là một công đoạn rất quan trọng
được tính toán và thực hiện khá phức tạp.Cắt khoảng lặng được thực hiện phương pháp xác
định ngưỡng năng lượng thời gian ngắn Một trong những vấn để cơ bản của xử lý tiếng nói là

29
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

xác định điểm bắt đầu và kết thúc của một từ. Điều này khó thực hiện chính xác nếu tin hiện
được nói trong môi trường có nhiều.Chúng ta sử dụng thuật toán phát hiện điểm đầu điểm
cuối của một từ căn cứ vào hàm năng lượng thời gian ngắn như sau: Với mỗi frame, tính
năng lượng thời gian ngắn E[k] theo phương trình

nếu E[k] lớn hơn giá trị ngưỡng Eo thì đánh số frame đó là bắt đầu một từ, 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, trong đó k là hệ số
nhân cho phát hiện điểm đầu, Eo là năng lượng trung bình 10 frame đầu tiên khi chưa nói,
đặc trưng cho nhiều nền. Nếu không xác định được frame B thì tín hiệu đó không phải là
tiếng nói Tính năng lượng thời gian ngắn E[kl của frame kế tiếp cho đến khi nhỏ hơn giá trị
ngưỡng Eo thì đánh đấu đó là frame kết thúc một từ ký hiệu là frame E, Cuối cùng kết hợp
với điều kiện chiều dài của một từ tiếng Việt thường khoả ng 300-450ms để quyết định xem
đó có phải là một từ được phát âm hay không Sơ đồ khối phát hiện điểm đầu điểm cuối của
một từ như hình bên dưới Giải thuật tách từ này có nhiều nhược điểm. Phương pháp này tuy
đơn giản nhưng có nhược điểm là không xác định được chính xác được mẫu nào trong
FRAME là mẫu thực sự bắt đầu cho tín hiệu tiếng nói và tương tự cho điểm cuối Phương
pháp này không còn chính xác nêu môi trường có nhiều quá lớn. Tuy nhiên trong môi trường
không quá ổn, giải thuật này có thế chấp nhận được.

30
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-2 giải thuật cắt khoảng lặng

Lúc này tín hiệu là tiếng nói sau khi cắt các khoảng lặp có điểm bắt đầu từ startPoint với S
mẫu S=(round(endPoint-startPoint)/x)*x+y. Biểu thức này được tính toán trước cho giai đoạn
Frame Blocking & Overlap ở phần trích đặc trưng và được mô tả ở phần dưới.

31
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-3 Minh họa Overlap y mẫu

Từ hình trên , với số mẫu một Frame là 160 mẫu,N là số Frame. Đặt x+y=160 với y là số mẫu
Overlap, còn lại là x mẫu. Như vậy tổng số mẫu của một đoạn âm thanh là :
S=N*x+y=(round(endPoint-startPoint)/x)*x+y.

Với endPoint-startPoint là số mẫu âm thanh tìm được. Đại lượng này có thể dư hoặc thiếu khi
thực hiện Overlap, đồng thời giọng nói sẽ bị giảm đột ngột lúc cắt khoảng lặng ở đoạn cuối
(do năng lượng đoạn cuối của âm thanh xuống giọng dần về 0 mà ngưỡng năng lượng khi cắt
khoảng lặng là k1). Để khắc phục vấn đề này, đầu tiên làm tròn (endPoint- startPoint) với bội
số x bằng công thức round(endPoint-StartPoint)/x)*x, sau đó cộng thêm y mẫu vào biểu thức.
Kết quả là đã làm tròn và cộng thêm từ y đến (x+y) mẫu, tức là bù thêm tương đương một
frame ở đoạn cuối.

Hình 4-4 Dạng sóng của một câu nói trước và sau khi cắt khoảng lặng

32
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

4.4 Trích đặc trưng MFCC

Hình 4-5 Sơ đồ giải thuật trích đặc trưng MFCC dùng trong phần mềm

4.4.1 Pre-emphasis
Pre-emphasis mục đích là tăng cường tín hiệu lên 20Db/decade để khắc phục sự suy
giảm tần số cao của âm thanh do đặc điểm sinh lý của hệ thống phát âm người.Sử dụng bộ
lọc thông cao có phương trình :

P[i]=X[i]-a.X[i] với i=1,2,….len;

Với a=0.97, X[i] là mẫu thứ i của tín hiệu khi chưa qua bộ lọc , P[i] là mẫu thứ i của tín hiệu
sau khi qua Pre-emphasis, len là chiều dài của tín hiệu âm thanh.

33
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-6 Dạng sóng trước và sau khi Pre-emphasis

4.4.2 Frame Blocking&Overlap

Đề tài chia 2 trường hợp 20ms=160 mẫu và 30ms=240 mẫu. Đề tránh sự thay đổi đột ngột
giữa các Frame.Đề tài chọn Overlap 60% để đảm bảo tính liên tục giữa các frame.

Overlap 60% (96/160) : Y=96,X=64

4.4.3 Windowing
Việc sử dụng cửa sổ là để gia tăng tính liên tục giữa các Frame kế cận nhau.
Đề tài chọn cửa sổ hamming bởi tính đơn giản và hiệu quả cao của nó. Hình dạng kích thước
của hàm cửa sổ được lựa chọn sao cho làm giảm độ méo dạng tín hiệu, giảm hài khi tính
FFT.

Trong đó j=0,1….,(lenFrame-1), lenFrame là chiều dài của một Frame.

Việc lọc cửa sổ là thực hiện nhân lần lượt tất cả các frame của tín
hiệu tiếng nói với 1 phần cửa sổ.

W[i][j]=H[i].Fr[i][j] i=0,1,….(frame-1); j=0,1,…..(lenFrame-1)

34
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Trong đó: Fr[i][j] là mẫu thứ j của frame thứ i sau khi chia frame và
Overlap.Frame là số frame của một từ, lenFrame là chiều dài của 1 frame.

4.4.4 Tính FFT


Mục đích của việc tính FFT là chuyển tín hiệu từ miền thời gian sang miền tần
số, biến đổi FFT là giả thiết rút gọn của phép biến đổi DFT.

Chiều dài FFT được thiết lập là 256 điểm để đạt độ phân giải tần số tốt với khối lượng tính
toán có thể chấp nhận được khi thực hiện trên phần cứng thực tế.Việc biến đổi FFT được thực
hiện lần lượt cho tất cả các frame của tín hiệu âm thanh.

A[i][j]=abs(FFT[i][j])

Trong đó

o i=0,1,…..(frame-1) ; j=0,1,….(numPoint/2-1)
o frame là số frame của một từ sau khi Overlap
o numPoint là số điểm tính FFT =256
o FFT[i][j] là phần tử thứ j của frame thứ i sau khi tính FFT

Như vậy , kết quả là mỗi frame của tín hiệu tiếng nói lúc này là 128
phần tử được lưu trong ma trận A.

4.4.5 Mel-Frequency Filter Bank


Cảm nhận âm thanh của tai người không tuyến tính theo tần số, nó nhạy ở
những âm có tần số thấp hơn là những âm có tần số cao với cùng cường độ.Thang đo sự biến
thiên độ nhạy tai người theo tần số được dùng phổ biến là thang đo Mel. Bằng cách chuyển từ
tần số Hertz sang Mel theo công thức sau:

Băng thông bộ lọc thang đo Mel trong nhận dạng tiếng nói bao gồm một số bộ lọc bandpass
hình tam giác được phân bố bên trong băng thông tín hiệu. Theo như các kết quả nhận dạng
được khảo sát ở Bảng 1, dùng 27 bộ lọc sẽ cho kết quả nhận dạng tốt nhất.

Tương ứng với mỗi Frame của tín hiệu tiếng nói lúc này là 128 phần tử, ta đưa qua 27 bộ lọc
Mel. Như vậy mỗi Frame của tín hiệu âm thanh là một vector 27 phần tử lưu trong ma trận
Mel-Spectrum M, được tính theo công thức:

35
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Trong đó:
o i =0,1,….,(Frame-1); Frame là số frame của 1 từ
o k=0,1,….,(numFilter-1) ; numFilter là số bộ lọc Mel =27
o j =0,1,….,(numPoint/2-1) ; numPoint là số điểm tính FFT =256
o h[k][j] là hệ số lọc Mel được tính trong Matlab.

Với cách tính các hệ số bộ lọc Mel H[k][j] theo công thức sau :

Trong đó :
o k=1,2,…27 là số bộ lọc Mel được chọn
o j=0,1,2….127 là 128 điểm cân tính cho 1 bộ lọc

Hình 4-7 Các bộ lọc tam giác dùng cho băng bộ lọc Mel

36
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-8 Băng 27 bộ lọc tam giác tạo ra trong phần mềm

4.4.6 Tính Ceptrum

Trong bước này ta chuyển đổi logarit của Mel-Spectrum về miền thời gian, phương pháp
được áp dụng là biến đổi ngược FFT bằng phương trình :

Trong đó :

o n=0,1,…(Frame-1 )
o P là hệ số Cepstrum =12
o K là số bộ lọc Mel=27

Kết quả thu được là một ma trận hệ số đặc trưng C[Frame][12] có 12 phần tử trong mỗi
Frame.

4.4.7. Logged Energy


Công suất của mỗi Frame cũng là thành phần trong đặc trưng MFCC.Logged Energy được
tính toán độc lập trước khi Pre-emphasis. Đối với Frame thứ i , mỗi Frame có lenFrame(160)
và mỗi Frame đã được Overlap 96 mẫu:

37
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Các hệ số này cũng là 1 phần tử đặc trưng của tín hiệu, do đó ta phải đưa các hệ số này vào
phần sau của mỗi hàng của C ta được C[Frame][13].

4.4.8 Hệ số Delta

Chất lượng của hệ thống nhận dạng tiếng nói có thể được cải thiện nhiều hơn bằng cách thêm
vào tính đạo hàm theo thời gian để có được những thông số dừng cơ bản.Phương trình tính hệ
số delta được áp dụng là

Trong đó:i=0,1,…Frame-1; j=0,1…,12.Kết quả ma trận hệ số đặc trưng Delta là mfcc sau khi
tính toán đạt kích thước mfcc[Frame][13].

Kết hợp ma trận hệ số đặc trưng C và ma trận hệ số Delta mfcc ta được một ma trận hệ số các
đặc trưng của tín hiệu âm thanh MFCC[Frame][26] cho quá trình huấn luyện và nhận dạng.

4.5 Huấn luyện bộ trong số

Hình 4-9 Sơ đồ xây dựng bộ trọng số huấn luyện

Quá trình huấn luyện bộ trọng số được thực hiện đầu tiên là thu mẫu, lưu thành tập mẫu huấn
luyện. Tập mẫu được đưa qua tiền xử lý, trích đặc trưng mẫu và lưu tập các vector đặc trưng.
Tập các vector đặc trưng được đưa vào mạng Neural huấn luyện với thuật toán
Backpropagation. Quá trình huấn luyện được lặp đi lặp lại cho đến khi sai số ngõ ra đạt yêu
cầu.Cuối cùng là lưu bộ trọng số huấn luyện vào file làm cơ sở dữ liệu cho quá trình nhận
dạng.

4.5.1 Thu mẫu, lưu thành tập mẫu


Mẫu tín hiệu được thu âm như ở phần nhận dạng, đề tài chọn tập mẫu
huấn luyện mỗi từ là 10 mẫu. Số từ vựng cần huấn luyện là 20 từ. Như vậy cần thu tổng số từ
38
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

huấn luyện là 200 từ và lưu thành tập mẫu huấn luyện. Các từ được thu trong phòng kín bởi
tác giả với môi trường ít nhiễu.Các mẫu thu với cường độ, tốc độ giọng nói tương đối giống
nhau cho một từ.

4.5.2 Tiền xử lý và trích đặc trưng

Quá trình tiền xử lý và trích đặc trưng mỗi mẫu cũng tương tự cho
phần nhận dạng. Tập mẫu huấn luyện được sắp xếp theo thứ tự mẫu nhất
định, mẫu thứ nhất của 20 từ, mẫu thứ 2 cho đến mẫu thứ 10 của 50 từ
theo cùng thứ tự để đưa vào quá trình tiền xử lý và trích đặc trưng.Kết
quả được lưu vào ma trận các vector đặc trưng vecTraining.

4.5.3 Huấn luyện


Dùng cấu trúc mạng Neural một lớp ẩn truyền thẳng, với thuật toán
Backpropagation để huấn luyện. Do cấu trúc này đơn giản, tốc độ nhanh và độ chính xác cao,
đó là các ưu điểm khi huấn luyện xuống phần cứng.

Hình 4-10 Sơ đồ xây dựng bộ trọng số huấn luyện

39
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Quá trình huấn luyện mạng theo thuật toán Backpropagation bắt đầu công việc khởi tạo các
ma trận trọng số, ma trận giá trị mong muốn t, đặt giá trị vòng lặp n=0.Bắt đầu huấn luyện từ
mẫu đầu tiên bằng cách tính lan truyền tiến , lan truyền ngược, tính sai số ngõ ra và tăng cho
đến hết tập mẫu. Nếu sai số đạt yêu cầu cho tất cả các mẫu thì việc huấn luyện dừng lại, lưu
bộ trọng số cho quá trình nhận dạng, kết thúc quá trình huấn luyện.Nếu có sai số không đạt
yêu cầu thì chọn n=1 và quá trình huấn luyện bắt đầu lại từ đầu với mẫu đầu tiên.

Số nút ẩn:
Số nút ẩn được chọn dựa trên kinh nghiệm như đã trình bày ở
phần lý thuyết.Sau nhiều lần huấn luyện thử với các trường hợp số nút
ẩn là 100,200,300,400,500,600.Với trường hợp số nút ẩn vào khoảng
570 thì mạng hội tụ, các trường hợp khác mạng hội tụ chậm hoặc
không hội tụ.Do đó đề tài chọn số nút ẩn là 570 cho tất cả trường hợp
huấn luyện.

Số nút ra

Do trong kĩ thuật mạng Neural để đảm bảo độ chính xác cao ứng với mỗi tập
dữ liệu vào mạng khác nhau thì dữ liệu ngõ ra mong muốn sẽ được biễu diễn trên mỗi Neural
ngõ ra khác nhau.

Khởi tạo trọng số ngỏ ra mong muốn:

Ma trận mong muốn t[sample][outNotes] là ma trận chứa giá trị


nhận dạng mong muốn.Trong huấn luyện, với số từ huấn luyện
200(bằng 20x10), mỗi hàng của ma trận mong muốn chứa giá trị nhận
dạng mong muốn biễu diễn vector của từ cần huấn luyện, sẽ chứa 20
phần tử hệ số.t[sample][outNotes] là sắp xếp tuần tự của 10 ma trận
đường chéo 20x20.Các hệ số nằm trên đường chéo bằng 0.99, các vị
trí khác bằng

40
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-113 Sơ đồ giải thuật huấn luyện

4.6 Giải thuật đọc cảm biến PIR

41
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 4-12 giải thuật đọc cảm biến

 Chương trình đọc cảm biến

import RPi.GPIO as GPIO

import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11,GPIO.IN) #read output from PIR motion sensor

GPIO.setup(3,GPIO.OUT) #LED output pin

while True:

i=GPIO.input(11)

if i==0:

42
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

print "No motion"

GPIO.output(3,0) #turn OFF LED

time.sleep(0.1)

elif i==1:

print "Motion Detected"

GPIO.output(3,1) #Turn ON LED

time.sleep(0.1)

5 KẾT QUẢ THỰC HIỆN

Trong quá trình thực hiện do gặp nhiều khó khăn trong việc tìm hiểu lập trình ngôn ngữ em
vừa học để áp dụng vào luận văn và tìm các thuật toán để xây dựng hệ thống do đó đề tài này
em vẫn chưa làm hoàn chỉnh nên em chỉ thực hiện được các phấn như sau

 Đọc cảm biến nhận biết có di chuyển của một người


 Xử lý âm thanh thu được qua bước tiền xử lý cắt khoảng lặng
 Trích được đặc trưng mẫu âm thanh chuẩn bị đem vào thuật toán nhận dạng
 Hiểu được phương pháp nhân dạng giọng nói dùng Neural Network
Kết quả của ma trận đặc trưng của file âm thanh 123 thu được

Hình 5-1 Kết quả ma trận đặc trưng

Kết quả cắt khoảng lặng của file ghi âm 123 sau khi cắt khoảng lặng và tiến
nhấn

43
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

Hình 5-2 Kết quả cắt khoảng lặng và pre-emphasis

6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1 Kết luận


 Kết quả đạt được:

Qua quá trình nghiên cứu về nhận dạng tiếng nói và ứng
dụng thử nghiệm trên máy tính nhúng thực tế , luận văn đã làm được một số
công việc sau:

 Nghiên cứu về tiếng nói, các phương pháp xử lý tiếng nói, rút trích đặc trưng.
 Nghiên cứu về mạng thần kinh nhân tạo và ứng dụng cụ thể trong nhận dạng mẫu
 Nghiên cứu cách lập trình và sử dụng phần cứng nhúng cụ thể trong
luận văn là Raspberry Pi B+.
 Ưu điểm mà luận văn đạt được:

44
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

 Phương pháp này có tốc độ xử lý nhận dạng nhanh


 Mã nguồn dễ dàng thay đổi để phù hợp với bộ từ vựng cũng như số mẫu lớn hơn
 Khuyết điểm còn mắc phải:
 Thời gian tìm hiểu thuật toán còn nhiều khó khăn nên không đủ thời gian thực hiện
 Quá trình huấn luyện tốn thời gian và phải thực hiện trên máy tính cá nhân

6.2 Hướng phát triển

Xây dựng hệ thống nhận dạng các từ liên tục, với bộ từ vựng lớn có thể nhận dạng
chính xác giọng của nhiều người để ứng dụng vào các hệ thống an ninh của 1 công ty đòi hỏi
chỉ có nhân viên công ty mới ra vào cổng được bảo mật giọng nói

45
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

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

[1] Networks Alexander Waiber,Menber,IEEE,Toshiyuki


Hanazawa, Geoffery Hinton, Kiyohiro Shikano, and Kenvin J.Lang ;
Phoneme Recognition Using Time-Delay Neural Netwaorks ;
Menber,IEEE 1989

[2] „Thiết kế chip nhận dạng giọ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.

[3] Nhóm tác giả Nguyễn Văn Giáp, Trần Việt Hồng, „Kỹ thuật
nhận dạng tiếng nói và ứng dụng trong điều khiển‟. Bộ môn Cơ điện tử -
Khoa Cơ khí –Đại học Bách Khoa TPHCM

[4] Tác giả Lê Thị Kim Anh, „Nghiên cứu và ứng dụng mạng
Neural trong nhận dạng tiếng Việt‟, Luận văn tốt nghiệp thạc sĩ, Trường
đại học Bách Khoa TPHCM,2003

[5] Tác giả Phan Văn Đầy , „Nhận dạng tiếng nói tiếng Việt dùng
mạng Neural triển khai trên kit ARM‟, Luận văn tốt nghiệp thạc sỹ,
Trường Đại học Sư Phạm Kỹ Thuật TPHCM,2011

[6] Nguyễn Chí Tâm, “Thiết kế vi mạch cho mạng Neural nhân tạo
ứng dụng trong nhận dạng giọng nói tiếng Việt”,Luận văn tốt nghiệp đại
học, Trường đại học Bách Khoa TPHCM,2014.

46
Luận văn tốt nghiệp GVHD: Th.S Hồ Trung Mỹ

8.PHỤ LỤC

silent_cut() Hàm cắt khoảng lặng

compute_feature() Hàm tinh đặc trưng

47

You might also like