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

Ứng dụng neural network vào nhận dạng tiếng nói trên kit arm cortex m3

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

Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

iv
HVTH: LÊ HOÀNG HÂN

TÓM TẮT
Ngay khi phát minh ra máy tính, con người đã mơ ước máy tính có thể nói
chuyện với mình. Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ mà chúng
ta nói với máy. Đó là mục tiêu của ngành nhận dạng tiếng nói.
Đối với con người, việc nghe, nhất là nghe tiếng mẹ đẻ là một vấn đề khá đơn
giản. Còn đ ối với máy tính, xác định một chuỗi tín hiệu âm thanh là sự phát âm của
một từ nào hoàn toàn không đơn giản, khó khăn cũng như việc học nghe ngoại ngữ của
chúng ta.
Lĩnh vực nhận dạ ng tiếng nói đã được nghiên cứu hơn 4 thập kỉ và hiện nay
mới chỉ có một số thành công. Có thể kể đến hệ thống nhận dạng tiếng Anh (ví dụ:
phần mềm Via Voice của IBM, hệ thống nhận dạng tiếng nói tích hợp của
OfficeXP…). Các hệ thống này hoạt động khá tốt (cho độ chính xác khoảng 90 - 95%)
nhưng còn xa mới đạt đến mức mơ ước của chúng ta: có một hệ thống có thể nghe
chính xác và hiểu hoàn toàn nhữ ng điều ta nói.
Riêng với tiếng Việt, lĩnh vực nhận dạng tiếng nói còn khá mới mẻ. Chư a hề thấy
xuất hiện một phần mềm nhậ n dạng tiếng Việt hoàn chỉnh trên thị trường. Số công
trình nghiên cứu về nhận dạng tiếng nói tiếng Việt được công bố rất hiếm hoi, và kết
quả còn hạn chế về bộ từ vự ng, độ chính xác…. Tiếng Việt có nhiều đặc tính khác với
các ngôn ngữ đã được nghiên cứu nhận dạng nhiều như tiếng Anh, tiếng Pháp. Do đó
việc nghiên cứu nhận dạng tiếng Việt là rất cầ n thiết. Bên cạnh đ ó, việc triển khai hệ
thống nhận dạng tiếng nói trên phần cứ ng ở Việt Nam cũng còn nhiều hạn chế, và khả
năng nhận dạng còn phụ thuộc vào người nói
Vì những lí do trên, tôi chọn đề tài “ứng dụng neural network vào nhận dạng
tiếng nói trên KIT ARM Cortex-M3”, nhằm nghiên cứ u các phư ơng pháp nhận dạng
tiếng nói đối với tiếng Việt và thử nghiệm xây dựng một hệ thố ng nhận dạng cỡ
nhỏ.Việc nhận dạng đư ợc thực thi trên KIT STM32F103ZET6 của hãng ST, với bộ từ


vựng gồm 5 từ đơn (tiến, lùi, trái, phải, dừng) với kết quả nhận dạng có độ chính xác
khoảng hơn 80% trong điều kiện bình thường.
Từ khóa: Hiden Markov Model, Neural Netwoks, Hydrid ANN/HMM, MFCC
methods, FFT algorithm, K-mean algorithm, STM32F10x KIT
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

v
HVTH: LÊ HOÀNG HÂN




ABSTRACT

The purpose with this final master degree project was to
develop a speech recognition tool, to make the technology
accessible. The development includes an extensive study of
Artifactial Neural Network, which is currently the state of the art in
the field of speech recognition. A speech recognizer is a complex
machine developed with the purpose to understand human speech.
In real life this speech recognition technology might be used to get
a gain in traffic security or facilitate for people with functional
disability. The technology can also be applied to many other areas.
However in a real environment there exist disturbances that might
influence the performance of the speech recognizer. The report
includes an performance evaluation in different noise situations, in
a robot environment. The result shows that the recognition rate
varies from 90%, in a noise free environment, to 80% in a more
noisy environment.


Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

vi
HVTH: LÊ HOÀNG HÂN

MỤC LỤC
LÝ LỊCH KHOA HỌC i

LỜI CAM ĐOAN ii

LỜI CẢM ƠN iii

TÓM TẮT iv

MỤC LỤC vi

DANH SÁCH CÁC HÌNH viii

DANH SÁCH CÁC BẢNG ix

DANH SÁCH CÁC CHỮ VIẾT TẮT x

Chương 1. TỔNG QUAN 1

1.1.

Tổng quan về nhận dạng tiếng nói, tình hình nghiên cứu trong và ngoài nước 1

1.1.1.


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

1.1.2.

Tổng quan tình hình nghiên cứu 2

1.2.

Mục đích nghiên cứ u 5

1.3.

Nhiệm vụ và giới hạn của đề tài 5

1.3.1.

Nhiệm vụ 5

1.3.2.

Giới hạn 6

1.4.

Phương pháp nghiên cứ u 6

1.4.1.

Ý tưởng về nhận dạng tiếng nói tiếng Việt sử dụng mạng Neural
Networks 6


1.4.2.

Các công việc phải làm 7

1.4.3.

Các công cụ cần cho nghiên cứu 8

1.5.

Nội dung luận văn 9

Chương 2. CƠ SỞ LÝ THUYẾT 10

2.1.

Đặc trưng tiếng Việ t
(1)
10

2.1.1.

Âm tiết và đặc điểm âm tiết tiếng Việt 10

2.1.2.

Âm vị và các hệ thống âm vị tiếng Việt 11

2.2.


Phương pháp phân tích hệ số MFCC 14

2.2.1.

Tiền xử lý 14

2.2.2.

Tạo khung và cửa sổ hóa tín hiệu 18

2.2.3.

Trích đặc trưng 20

2.2.4.

Hậu xử lý 26

2.3.

Neural Networks 26

2.3.1.

Mô hình Neural Network 27

2.3.2.

Sử dụng neural network trong nhậ n dạng mẫu 32


2.4.

Mô hình Markov ẩn: 33

Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

vii
HVTH: LÊ HOÀNG HÂN

2.5.

Giải pháp toán học cho ba bài toán cơ bản của mô hình Markov ẩn: 36

2.5.1.

Bài toán 1: 36

2.5.2.

Bài toán 2: 38

2.5.3.

Bài toán 3: 39

Chương 3. THIẾT KẾ HỆ THỐNG NHẬN DẠNG TIẾNG NÓI TRÊN KIT ARM
CORTEX-M3 43

3.1.


Tổng quan về KIT STM32F103ZET6 43

3.1.1.

Giới thiệu bộ xử lý ARM Cortex-M3 43

3.1.2.

Kế hoạch thiết kế phần mềm 46

3.1.3.

Cấu hình bộ KIT STM32F103ZET6 47

3.2.

Thiết kế hệ thống nhận dạng tiếng nói trên KIT STM32F103ZET6 53

3.2.1.

Trích đặc trưng 55

3.2.2.

Lượng tử hóa vector 58

3.2.3.

Huấn luyện ANN 62


3.2.4.

Nhận dạng bằng mô hình ANN kết hợp với HMM 63

3.2.5.

Kết quả thử nghiệm trên phần cứng 65

Chương 4. KẾT LUẬN VÀ HƯ ỚNG PHÁT TRIỂN 68

4.1.

Kết luận 68

4.2.

Nhận xét 68

4.3.

Hạn chế của đề tài: 69

4.4.

Hướng phát triển của đề tài 69

TÀI LIỆU THAM KHẢO 70





Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

viii
HVTH: LÊ HOÀNG HÂN

DANH SÁCH CÁC HÌNH
Hình 2. 1. Sơ đồ về 3 tiêu chí khu biệt cho sáu âm vị thanh điệu 13

Hình 2. 2. Lăng trụ thanh điệu 13

Hình 2. 3. Biểu đồ thanh điệu 14

Hình 2. 4. Sơ đồ giải thuật phương pháp phân tích thông tin tiếng nói 14

Hình 2. 5. Tiền xử lý tín hiệu 15

Hình 2. 6. Phân tích khoảng lặng của tiếng nói 16

Hình 2. 7. Tách tiếng nói khỏi khoảng im lặng theo VAD 17

Hình 2. 8. Từ tiếng nói có khoảng im lặng tách thành tiếng nói không có khoảng lặng
18

Hình 2. 9. Frame blocking và Windowing 18

Hình 2. 10. Chia khung chuỗi tín hiệu 19

Hình 2. 11. Cửa sổ Hamming với các hệ số α khác nhau 19


Hình 2. 12. Tín hiệu tiếng nói sau khi được cửa sổ hóa so với ban đầu 20

Hình 2. 13. Các bước thự c hiện MFCC 20

Hình 2. 14. Phổ Fourier của tín hiệu gốc và tín hiệu đã cửa sổ hóa 21

Hình 2. 15. Băng lọc tam giác melscale trên miền tần số 22

Hình 2. 16. Tính các hệ số delta 24

Hình 2. 17. Quá trình rút trích đặc trưng 25

Hình 2. 18. Các bước hậu xử lý tín hiệu 26

Hình 2. 19. Mô hình một Neural Network perceptron 27

Hình 2. 20. Mô hình mạng perceptron 3 lớp (MLP) 28

Hình 2. 21. Mô hình nhận dạng bằng cơ cấu nhận dạng dựa theo xác suất phân lớp 32

Hình 2. 22. Ví dụ một mô hình Markov ẩn sáu trạng thái 34

Hình 2. 23. Mô tả các dãy phép toán được thực hiện để tính α
t
(i) 37

Hình 2. 24. Mô tả các dãy phép toán được thực hiện để tính biến β
t
(i) 38


Hình 3. 1. Giản đồ kế hoạch thiết kế phần mềm 46
Hình 3. 2. Hoàn chỉnh kế hoạch và thử nghiệ m 46

Hình 3. 3. Bộ KIT STM32F103ZET6 47

Hình 3. 4. Thiết lập chế độ boot từ System Memory của chip 50

Hình 3. 5. Thiết lập kết nối 50

Hình 3. 6. Thông tin Flash sau khi kết nối với chip thành công 51

Hình 3. 7. Thông tin chip 51

Hình 3. 8. Giao diện thông tin của flash ở phiên bản Flash Loader Demonstrator v1.2
52

Hình 3. 9. Nạp chương trình xuống flash 52

Hình 3. 10. Hoàn tất nạp chương trình 53

Hình 3. 11. Sơ đồ khối mô hình huấn luyện và nhận dạng từ đơn 54

Hình 3. 12. Lưu đồ giải thuật thực hiện tách tiếng nói khỏi khoảng lặng 55

Hình 3. 13. Lưu đồ giải thuật thực hiện phân tích hệ số đặc trư ng 56

Hình 3. 14. Minh họa lượng tử hóa vector 62

Hình 3. 15. Lưu đồ giải thuật huấn luyện ANN 63


Hình 3. 16. Lưu đồ giải thuật nhận dạng từ đơn sử dụng ANN 64

Hình 3. 17. Minh họa phân tích dữ liệu tiếng nói thành các hệ số đặc trưng để sử dụng
cho huấn luyện hệ thống và nhận dạng 65

Hình 3. 18. Kết quả nhận dạng từ “TIẾN” 67


Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

ix
HVTH: LÊ HOÀNG HÂN


DANH SÁCH CÁC BẢNG


Bảng 2. 1: Bảng hệ thống âm đầu tiếng Việt 12

Bảng 2. 2: Bảng hệ thống nguyên âm tiếng Việt 12

Bảng 2. 3: Bảng hệ thống âm cuối tiếng Việt 13

Bảng 3. 1. Kết quả thử nghiệm cho nhóm hệ thống học mẫ u 66
Bảng 3. 2. Kết quả thử nghiệm cho nhóm mạo danh 66

Bảng 3. 3. Kết quả thử nghiệm nhận dạng từ trên KIT STM32F103ZET6 67




Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

x
HVTH: LÊ HOÀNG HÂN


DANH SÁCH CÁC CHỮ VIẾT TẮT


Thuật ngữ Từ viết tắt

Ý nghĩa
Artifactial Neural Network ANN Mạng nơron nhân tạo
Fast Fourier Transform FFT Biến đổi Fourier nhanh
Dicrette Cosine Transform DCT Biến đổi cosin rời rạc.
Hidden Markov Model HMM Mô hình Markov ẩn
Linear predictive code LPC Hế số dự đoán tuyến tính
Mel-scale Frequency
Cepstral Coefficient
MFCC Hệ số cepstral độ đo mel
Multi Layer Perceptron MLP Mạng perceptron truyền thẳng nhiều lớp
Speech Recognition SR,ASR Nhận dạng tiếng nói
Bias Ngưỡng kích hoạt
Pattern Recognition Nhận dạng mẫu
Likelihood Mức độ giống
Similarity Mức độ tương tự
Feature Đặc trưng
Spectral, spectrum Phổ tín hiệu



Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

1
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

Chương 1.
TỔNG QUAN
1.1. Tổng quan về nhận dạng tiếng nói, tình hình nghiên cứu trong và ngoài
nước
1.1.1. Nhận dạng tiếng nói
Nhận dạng tiếng nói bao gồm cả nhận dạng âm tiết rời rạc, liên tục, nhận dạng
người nói, ngôn ngữ nói và cao cấp hơn có thể nhận dạng được trạng thái tâm lý của
người nói. Có rất nhiều ứng dụng của nhận dạng tiếng nói trong đời sống xã hội như
xác nhận thông tin (liên quan đến security), dịch tự động, các hệ thống phone banking,
voice mail,… Tuy nhiên cái mà mọi người cố gắng nghiên cứu là làm sao máy tính có
thể giao tiếp với con người thông qua tiếng nói. Nhận dạng tiếng nói là một lĩnh vực
của xử lý ngôn ngữ tự nhiên (Natural Language Processing), tức là về cơ bản nhận
dạng tiếng nói phụ thuộc vào ngôn ngữ nói. Do vậ y ngôn ngữ nhận dạng tiếng Việt rất
khác so với tiếng Anh và các thứ tiếng khác. Một ví dụ đơn giản để có thể hình dung,
nếu sử dụng các engine nhận dạng tiếng Anh có sẵn (bao gồm cả software như speech
engine trong Microsoft Office hay hardware như một số vi mạch xử lý tiếng nói đang
bán trên thị trường) thì hiệu quả đối với tiếng Việt là khá thấp. Một số không thể phân
biệt được như chuẩn, chuẫn, chuân,…(vì tiếng Việt có thanh điệu - tonal language,
còn tiếng Anh thì không), vì vậy nhận dạng tiếng Việt chỉ có thể do người Việt làm.
Nhận dạng và tổng hợp tiếng nói không thể dựa trên các mức xử lý thấp (signal
processing) mà còn phải kết hợp xử lý thông tin ở các mức cao và cao nhất là tri thức.
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp

(classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã
được học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng
có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biế n và không thay đổi thì
công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói
cần nhận dạng với các mẫu đã được học và lưu trữ trong bộ nhớ. Khó khăn cơ bản của
nhận dạng tiếng nói đó là tiếng nói luôn biến thiên theo thời gian và có sự khác biệt
lớn giữa tiếng nói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

2
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

âm học khác nhau. Xác định những thông tin biến thiên nào của tiếng nói là có ích và
những thông tin nào là không có ích đối vớ i nhận dạng tiếng nói là rấ t quan trọng.
Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất thống kê
mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên
quan trọng cần thiết trong nhận dạng tiếng nói. Các nghiên cứu về nhận dạng tiếng nói
dựa trên ba nguyên tắc cơ bản:
− Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một khung
thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta có thể trích ra các
đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này
làm dữ liệu để nhận dạng tiếng nói.
− Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các ký hiệ u
ngữ âm. Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âm
phát âm thành dãy các ký hiệu ngữ âm.
− Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa
(semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiế ng
nói, nhất là khi thông tin về âm học là không rõ ràng. [1]

1.1.2. Tổng quan tình hình nghiên cứu
Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó hình thành và
phát triển song song với quá trình tiến hóa của loài người. Đối với con ngư ời, sử dụng
lời nói là một cách diễn đạt đơn giản và hiệu quả nhất. Ưu đ iểm của việc giao tiếp
bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được người nghe
hiểu ngay lập tức sau khi được phát ra. Ngày nay, nhờ sự phát triển của khoa học kỹ
thuật, máy móc dần dần thay thế các lao động tay chân. Tuy nhiên để điều khiể n máy
móc, con người phả i làm khá nhiều thao tác tốn nhiều thời gian và cần phải được đào
tạo. Điều này gây trở ngại không ít đối với việc sử dụng các máy móc, thành tựu khoa
học kỹ thuật. Trong khi đó, nếu điều khiển máy móc thiết bị bằng tiếng nói sẽ dễ dàng
hơn. Nhu cầu điều khiển máy móc thiết bị bằng tiếng nói càng bức thiết hơn đối với
các thiết bị cầm tay, như: điện thoại di động, máy Palm/Pocket PC,… Để máy tính có
thể nghe được tiếng nói, âm thanh con người đã xây dựng lĩnh vực nhận dạng tiếng
nói. Hơn nửa thế kỷ trôi qua con người đã thu được những thành tựu đáng kể, và có
những ứng dụng hữu ích thiết thực vào trong cuộ c sống. Như ng dù sao khả năng nghe
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

3
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

hiểu của máy tính vẫn còn nhiều hạn chế và khoảng cách khác xa so với thự c tế. Mặt
khác, nhận dạng tiếng nói chỉ đang được phát triển trên các thứ tiếng khác, còn đối
với nước ta nhận dạng tiếng nói vẫn còn là một lĩnh vực khá mới mẻ.
1.1.2.1. Ngoài nước
Hiện nay, trên thế giới có rấ t nhiều hệ thống nhận dạng tiếng nói đã 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 Understanding) trong tiếng Anh, mô hình Fujisaki được trong hệ
thống của tiếng Nhật, mô hình MFGI (Mixdorff – Fujisaki model of German

Intonation) trong tiếng Đức, …
Sự phát triển vượt bậc của công nghệ vi xử lý và công nghệ xử lý tiếng nói trong
những năm gần đây đã mở ra rất nhiều những ứng dụng khác nhau mà đáng kể nhất là
các hệ thống giao tiếp, hỏi đáp thông tin qua mạng điện thoại. Có thể kể tên một số
ứng dụng như:
− Quay số bằng giọng nói.
− Truy cập thông tin bằng giọ ng nói qua đường điện thoại.
− Hệ thống hỗ trợ y tế qua điện thoại.
− Ứng dụng truy vấn thông tin trong ngân hàng.
− Ứng dụng chuẩn đoán, điều trị bệnh từ xa.
Theo thống kê và dự báo về thị trường công nghệ thông tin và truyển thông năm
2009, chi tiêu cho nghiên cứu, phần cứng, phầ n mềm liên quan đến công nghệ xử lý
tiếng nói trong năm 2008 trên toàn thế giới đã vượt con số 5 tỷ đô-la Mỹ.
Công nghệ xử lý tiếng nói đã thay đổi cách con người tương tác với hệ thống,
không còn bó buộc trong cách thức tương tác truyền thống (như bấm phím trên điện
thoại) mà chuyển sang tương tác trực tiếp bằng giọng nói. Trong môi trường kinh tế
cạnh tranh, các ứng dụng dần dần đã chuyển sang tích hợp tính năng tương tác âm
thanh. Việc ứng dụng và khách hàng có thể tương tác với nhau thông qua âm thanh
không có nghĩa là loại bỏ giao diện đồ họa truyền thống mà nó cung cấp thêm một
cách truy cập thông tin và dịch vụ tiện lợi, tự nhiên hơn.
Một số ứng dụng thương mại đòi hỏi sự giao tiếp giữa khách hàng và hệ thống
với số lượng lớn, có tích hợp tính năng tương tác âm thanh. Từ đó, các hệ thống giao
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

4
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

tiếp, hỏi đáp thông tin tự động ra đời. Thông thường, các hệ thống này hướng dẫn

khách hàng thứ tự các bước phải làm bằ ng cách phát ra các chỉ dẫn, lời nhắc thông
qua các tập tin âm thanh ghi âm trước hoặc qua bộ tổng hợp tiếng nói nếu nội dung
không cố định. Khách hàng dùng lời nói cung cấ p thông tin cho hệ thống, hệ thống
xử lý thông tin, truy xuất cơ sở dữ liệu rồi gửi phản hồi thông tin dưới dạng âm thanh
tới khách hàng.
1.1.2.2. Trong nước
Trong nhiều năm qua, một số các hãng công nghệ lớn trên thế giới đã đầu tư
nghiên cứu về lĩnh vực này song kết quả thu được còn khá khiêm tốn, chỉ có một số ít
công ty có chíp nhận dạng tiếng nói tiếng Anh như Công ty Sony, Motorola nhưng vẫn
bị giới hạn về số từ vựng và ứng dụng. Ở Việt Nam, vấn đề nghiên cứu thiết kế cấu
trúc vi mạch nhận dạng tiếng Việt vẫn còn bỏ ngỏ, mặc dù đây là hai hư ớng công nghệ
cao được ưu tiên phát triển.
Phạm vi ứng dụng hệ thống nhận dạng tiếng nói tiếng Việt trong nước đã được
sử dụng ở các công ty, tập đoàn viễn thông lớn như: Mobifone, Vinaphone, Viettel…
nhưng còn rất ít và có nhiều hạn chế:
− Các yêu cầu của người dùng chỉ có thể được truyền tải thông qua các thao tác
bấm phím trên điện thoại hoặc nhắn tin do bộ nhận dạng tiếng nói chưa được
phát triển.
− Giao tiếp giữa người dùng và hệ thống được thực hiện theo một kịch bản đã
được xây dựng sẵn từ trư ớc.

Nội dung trả lời tự động còn bó buộc trong phạm vi hạn hẹp.

Đề tài “Thiết kế chíp nhận dạng tiếng nói Việt Nam trên nền công nghệ FPGA”
của nhóm nghiên cứu trường đại học Bách khoa thành phố Hồ Chí Minh do TS. Hoàng
Trang vào năm 2012 làm trưởng nhóm đã góp phần “cứng hóa” thành công các giải
thuật phức tạp trong nhận dạng tiếng Việt. Trên phần cứng, có ba vấn đề rất quan trọng
cần quan tâm, bao gồm: độ chính xác nhận dạng, tài nguyên phần cứng và tốc độ tính
toán. Ba yếu tố này thường được cân nhắc chọn lựa kỹ bởi khó có thể đạt được tối ưu
trên cùng lúc cả ba yếu tố trên.

Vấn đề nhận dạng tiếng nói tiếng Việt đã có nhiều công trình nghiên cứu nhưng
chưa đư ợc triển khai thực hiện tốt trên phần cứng là do ba yếu tố trên. Bên cạnh đó,
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

5
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

nhận dạng tiếng nói tiếng Việt trên nền công nghệ FPGA có ưu điểm là tính toán
nhanh nhưng nền công nghệ này chưa được ứng dụng nhiều trên các thiết bị di động
ngày nay như: điện thoại di động, máy tính bảng, robot dịch vụ, Smart TV… Vì vậy,
mục tiêu của đề tài là sẽ triển khai trên vi điều khiển ARM Cortex-M3, đây là vi điều
khiển đủ mạnh để thực hiện nhiệm vụ trên và được ứng dụng trong nhiều thiết bị di
động hiện nay, đặc biệ t là chúng ta có thể tìm bộ KIT ARM Cortex-M3 dễ dàng trên
thị trường.
1.2. Mục đích nghiên cứu
Đề tài này nghiên cứu thử nghiệm 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 của tiếng nói bằng phư ơng pháp MFCC (Mel–Frequency
Ceptrums Coefficients), và nhận dạng bằng mô hình ANN (Artificial Neural
Networks). Đồng thời, một mô hình điều khiển bằng tiếng nói – tiếng Việt được xây
dựng với bộ từ vựng nhỏ, thiết lập hệ thống điều khiển bằng tiế ng nói với một tập lệnh
cố định. Tập lệnh này dùng để điều khiển Robot, và mô hình điề u khiển xe bằng tiếng
nói hoàn chỉnh là một ứng dụng thực tế mang tính thử nghiệm đề tài.
1.3. Nhiệm vụ và giới hạn của đề tài
1.3.1. Nhiệm vụ
− Đối tượng nghiên cứu:
+ Tiếng Việt.
+ Các phương pháp xử lý, nhận dạ ng tiếng nói.
+ Các công cụ hỗ trợ lập trình, phân tích, mô phỏng trong nghiên cứu nhận dạng

tiếng nói.
+ Firmware.
+ Hardware.
− Nhiệm vụ:
+ Nghiên cứu đặc trưng tiếng Việt.
+ Nghiên cứu các phư ơng pháp xử lý, lọc tín hiệu liên tục, rời rạc; các phương
pháp rút trích đặt trưng (MFCC), phân loại, nhận dạng tín hiệu tiếng nói
(Hidden Marko Models, Neural Networks, mô hình lai Hidden Marko Models
– Neural Networks).
+ Tìm hiểu các phần mềm lập trình Keil C for ARM, Matlab…
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

6
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

+ Viết code mô phỏng trên máy tính, code thực thi cho vi điều khiển ARM
Cortext M-3.
+ Thiết kế và thi công mạch điều khiển cho robot, bao gồm: module nhận tín
hiệu tiếng nói, module vi điều khiển trung tâm (ARM Cortext M-3), module
công suất; thiết kế và thi công robot đơn giản.

1.3.2. Giới hạn
− Do đặc trưng tiếng Việt có nhiều âm tiết và thanh nhấn nên việc nhận dạng sẽ khó
hơn so với các ngôn ngữ khác. Ngoài ra, còn có sự khác biệt về giọng nói giữa các
vùng, sự khác biệt về giọng nói trong các ngữ cảnh khác nhau cũng gây khó khăn
cho nhận dạng. Thêm vào đó, một câu dài cũng gây khó khăn trong việc nhận
dạng; vì khi nói sẽ có sự thay đổi giọng trong một câu, tốc độ giữa các từ trong câu
không giống nhau, thậm chí cùng một người nói nhưng trong những thời điểm

khác nhau cũng có tốc độ nói khác nhau.
− Vấn đề giới hạn về bộ nhớ vi điều khiển ARM Cortex-M3 và giới hạn về thời gian
cũng ảnh hưởng đế n việc xây dựng các tập từ vựng. Khi đó, số lượng từ vựng cần
nhận dạng là có hạn. Mặt khác, xét về tốc độ thực hiện, nế u số lượng tập từ xây
dựng càng lớn thì tốc độ thự c hiện nhận dạng sẽ càng hạn chế.
− Vì thời gian có hạn như đã nêu trên nên phân thiết kế và thi công mô hình thực
nghiệm chỉ dừng lại ở dạng là một robot đơn giản, do đó việc ra lệnh phức tạp để
robot thực hiện nhiệm vụ phức tạp bị hạn chế.
− Trong điều kiệ n bình thường, kết quả nhận dạng chưa đạt đ ược 100%.
1.4. Phương pháp nghiên cứu
1.4.1. Ý tưởng về nhận dạng tiếng nói tiếng Việt sử dụng mạng Neural Networks
1.4.1.1. Hệ thống nhận dạng cỡ nhỏ
Với hệ thống nhận dạng cỡ nhỏ (cỡ vài chục đến vài trăm từ) ta có thể chọn đơn
vị nhận dạng là âm tiết vì số lượng đơn vị không quá lớn.
Các bước nhận dạng:
1. Nhận tín hiệu âm thanh từ các nguồn vào.
2. Tách riêng vùng tín hiệu của mỗi âm tiế t (dựa trên nhận định: tín hiệu của âm
tiết có biên độ lớn tín hiệu của âm thanh nền rất nhiều). Chia vùng tín hiệ u
thành các vùng con có kich thư ớc cố định (frame).
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

7
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

3. Dùng biến đổ i FFT chuyển tín hiệu từ miền thời gian sang miền tần số.
4. Sử dụng các bộ lọc để lấy giá trị nă ng lượng tại từng vùng tần số, lấy đó làm
đặc trưng của âm tiết.
5. Đưa đặ c trưng của âm tiết vào mô hình Neural Networks. Đầu ra của mạng là

các giá trị xác suất, đo mức độ giống của âm tiết với các lớp âm tiết đã huấn
luyện trước đó.
6. Dựa trên bảng thống kê, xác suất, xác định các lớp âm tiết có xác suất cao
nhất, từ đó xác định âm tiết.
7. Có thể áp dụng thêm các thông tin ngữ pháp để kiểm tra quá trình nhận dạng.

1.4.1.2. Hệ thống nhận dạng cỡ lớn
Với hệ nhận dạng cỡ lớn (vài trăm đến vài ngàn từ) không nên dùng trực tiếp âm
tiết làm đơn vị nhận dạng vì số lượng lớn quá.
Các bước của quá trình nhận dạng:
1. Nhận tín hiệu âm thanh từ các nguồn vào.
2. Xác định vùng tín hiệu của từng âm tiết. Chia thành các vùng con (frame) và
biến đổi FFT tín hiệu từng frame từ miền thời gian sang miền tần số.
3. Xác định giá trị năng lượng tại từng vùng tần số của mỗi frame.
4. Dùng một Neural Network xác định đó là frame đó là tín hiệu của phụ âm
hay nguyên âm. Từ đó chia vùng tín hiệu chứa âm tiết thành các vùng của
phụ âm và vần.
5. Xác định đặc trưng của mỗi đơn vị, đưa qua mô hình lai Hidden Marko
Model - Neural Networks. Đầu ra của mô hình là các giá trị xác suất, đo mức
độ giống của đơn vi (phụ âm/vần) với các lớp đã huấn luyện trước đó.
6. Dựa trên bả ng thống kê, xác suất (ứng với mỗi phụ âm và mỗi vần), xác định
các âm tiết có xác suất cao nhất.
7. Có thể áp dụng thêm các thông tin ngữ pháp để kiểm tra quá trình nhận dạng.
1.4.2. Các công việc phải làm
1. Thu thập mẫu
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

8
HVTH: LÊ HOÀNG HÂN


Chương 1. Tổng quan

Đây là công việc không khó nhưng đòi hỏi rất nhiều thời gian, và rất quan trọng.
Nếu các mẫu thu thập không tốt, không thực sự đặc trưng cho lớp thì cơ cấu nhận dạng
sẽ thất bại trong việc nhận dạng sau này.
Mặt khác đây là một công việc thủ công, không tự động hoá được.
2. Phân loại mẫu, đính nhãn và tách đặc trưng
Đây cũng là một công việc quan trọng và khó tự động hoá. Cụ thể là với mỗi mẫu
phải xếp nó vào lớp tương ứng. Nếu đơn vị nhận dạng nhỏ hơn từ (hoặc mỗi mẫu có
hơn một từ) thì phải có thêm thông tin mỗi phần trong mẫu ứng với lớp nào (đính
nhãn).
3. Huấn luyện cơ cấu nhận dạng
Việc này đòi hỏi lập trình, và thường là việc huấn luyện rất lâu (càng nhiều mẫu
càng lâu).
4. Tích hợp hệ nhận dạng vào kit ARM.
Bước này nhìn chung không khó. Công việc bước này được thực hiện trên ARM
cortex-M3.
1.4.3. Các công cụ cần cho nghiên cứu
− Công cụ để ghi âm, cắt từ…
− Công cụ dùng để phân tích âm thanh, ví dụ : chuyển đổi tín hiệ u âm thành phổ,
tính toán các tham số.
− Công cụ để huấ n luyện mô hình nhận dạng
− Công cụ lập trình.
CoolEdit là một phần mề m rất hay dùng để xử lí âm thanh nguồn: ghi âm, cắt từ,
đọc phổ, lọc nhiễu…
MatLab có rất nhiều công cụ cho phân tích âm thanh và tín hiệu: tính toán tham
số, huấn luyện HMM, ANN…
Lập trình cho ARM thì có nhiều công cụ. Nhìn chung dùng Keil C là hợp lí nhất
Keil C có hỗ trợ hệ điều hành đa nhiệm, giữa C và MATLAB có thể tham khảo, hỗ trợ
lẫn nhau.


Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

9
HVTH: LÊ HOÀNG HÂN

Chương 1. Tổng quan

1.5. Nội dung luận văn
Bao gồm các chương sau:
− Chương 1: Tổng quan. Chương này trình bày tóm tắt về tình hình nghiên cứu
nhận dạng tiếng nói trong và ngoài nước. Từ đó nêu lên mục tiêu, nhiệm vụ,
giới hạn của đề tài và đưa ra phương pháp nghiên cứu.
− Chương 2: Cơ sở lý thuyết. Chương này mô tả phương pháp phân tích thông
tin tín hiệu tiếng nói để tạo ra các vector đặc trưng. Ở đây, trong khâu trích đặc
trưng chọn phương pháp MFCC (trích đặc trưng theo thang tần số Mel) do tốc
độ tính toán cao, độ tin cậy lớn và đã được sử dụng rất hiệu quả trong các
chương trình nhận dạng tiếng nói trên thế giới. Phần sau của chương trình bày
vấn đề lượng tử hóa vector, cơ sở ANN.
− Chương 3: Thiế t kế hệ thống nhận dạng tiếng nói trên KIT ARM Cortex-M3.
Phần đầu của chương trình bày tóm tắt về các ưu điểm chính của vi điều khiển
ARM Cortex-M3, cấu hình bộ KIT STM32F103ZET6. Phần sau trình bày về
vấn đề thiết kế hệ thống nhận dạng trên KIT ARM Cortex-M3 của hãng ST
dựa trên các vấn đề về lý thuyết đã đề cập ở các chương trư ớc. Hệ thống nhận
dạng thực hiện tác vụ nhận dạng các từ đơn.
− Chương 4: Kết luận. Chương này trình bày một số kết quả thực hiện được và
từ đó đưa ra một số hướng phát triển của đề tài.


Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG


10
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

Chương 2.
CƠ SỞ LÝ THUYẾT

2.1. Đặc trưng tiếng Việt
(1)

2.1.1. Âm tiết và đặc điểm âm tiết tiếng Việt
2.1.1.1. Âm tiết
Chuỗi lời nói mà con người phát ra gồm nhiều khúc đoạn dài ngắn khác nhau.
Đơn vị phát âm ngắn nhất là âm tiết (syllable).
Về phương diện phát âm, âm tiết có tính chất toàn vẹn, không thể phân chia
được là bởi nó đư ợc phát âm bằng một đợt căng của cơ thịt của bộ máy phát âm.
Khi phát âm một âm tiết, các cơ thịt của bộ máy phát âm đều phả i trải qua ba
giai đoạn: tăng cường độ căng, đỉnh đ iểm căng thẳng và giảm độ căng.
Dựa vào cách kết thúc, các âm tiết được chia thành hai loại lớn: mở và khép.
Trong mỗi loại lại có hai loại nhỏ hơn. Như vậy có 4 loại âm tiết như sau:
− Những âm tiết dược kết thúc bằng một phụ âm vang (/m, n, ŋ/ ) được gọi
là những âm tiết nửa khép.
− Những âm tiết được kết thúc bằng một phụ âm không vang (/p, t, k/) được
gọi là những âm tiết khép.
− Những âm tiết được kết thúc bằng một bán nguyên âm (/w, j/) được gọi là
những âm tiết nửa mở.
− Những âm tiết được kết thúc bằng cách giữ nguyên âm sắc của nguyên âm
ở đỉnh âm tiết thì được gọi là âm tiết mở.

Đặc điểm âm tiết tiếng Việt
− Có tính độc lập cao
− Có khả năng biể u hiện ý nghĩa
− Có một cấu trúc chặt chẽ
_____________________________________________________________________
(1). Trích từ:
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

11
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

2.1.1.2. Mô hình âm tiết tiếng Việt và các thành tố của nó
− Thanh điệu
THANH ĐIỆU
ÂM ĐẦU

VẦN
Âm đệm

Âm chính

Âm cuối


Có tác dụng khu biệt âm tiết về cao độ. Mỗi âm tiết có một trong 6 thanh
điệu. Vd:toán – toàn
− Âm đầu
Có những cách mở đầu âm tiết khác nhau (tắc, xát, rung), chúng có tác

dụng khu biệt các âm tiết. Vd: toán – hoán
− Âm đệm
Có tác dụng biến đổi âm sắc của âm tiết sau lúc mở đầu, nó có chức năng
khi biệt các âm tiết. Vd: toán – tán
− Âm chính
Mang âm sắc chủ đạo của âm tiết và là hạt nhân của âm tiết. Vd: túy – túi
− Âm cuối
Có chức năng kết thúc âm tiết với nhiề u cách khác nhau (tắc, không tắc )
làm thay đổi âm sắc của âm tiết và do đó để phân biệt âm tiết này với âm
tiết khác. Vd: bàn – bài
2.1.2. Âm vị và các hệ thống âm vị tiếng Việt
2.1.2.1. Âm vị
Âm vị là đơn vị tối thiểu của hệ thống ngữ âm của một ngôn ngữ dùng để cấu
tạo và phân biệt vỏ âm thanh của các đơn vị có nghĩa của ngôn ngữ.
Âm vị còn có thể được coi là một chùm hoặc một tổng thể đặc trưng các nét khu
biệt được thể hiện đồng thời.
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

12
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

2.1.2.2. Phân biệt âm tố với âm vị. Biến thể của âm vị
Âm vị là một đơn vị trừu tượng còn âm tố là một đơn vị cụ thể. Âm vị được thể
hiện ra bằng các âm tố và âm tố là sự thể hiện của âm vị.
Những âm tố cùng thể hiện một âm vị được gọi là các biến thể của âm vị.
2.1.2.3. Các hệ thống âm vị của tiếng Việt
− Hệ thống âm đ ầu
Tiếng Việt có 22 phụ âm đầu, bao gồm:

/b, m, f, v, t, t’, d, n, z, ʐ, s, ş, c, ʈ, ɲ, l, k, χ, ŋ, ɣ, h, ʔ/
Bảng 2. 1: Bảng hệ thống âm đầu tiếng Việt

− Hệ thống âm đ ệm
Âm đệm /w/ có chức năng làm trầm hoá âm sắc của âm tiết.
− Hệ thống âm chính
Tiếng Việt có 13 nguyên âm đơn và 3 nguyên âm đôi làm âm chính:
/i, e, ε, ɤ, ɤˇ, a, ɯ, ă, u, o, ɔ, ɔˇ, εˇ, ie, ɯɤ, uo/
Bảng 2. 2: Bảng hệ thống nguyên âm tiếng Việt

Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

13
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

− Hệ thống âm cuối
Ngoài âm cuối /rezo/, tiếng Việt còn có 8 âm cuối có nội dung tích cực,
trong đó có 6phụ âm /m, n, ŋ, p, t, k/ và hai bán nguyên âm /-w, -j/.

Bảng 2. 3: Bảng hệ thống âm cuối tiếng Việt


− Hệ thống thanh điệu
Tiếng Việt có 6 thanh điệu.

Hình 2. 1. Sơ đồ về 3 tiêu chí khu biệt cho sáu âm vị thanh điệu
(nguồn:


Hình 2. 2. Lăng trụ thanh điệu
(nguồn:
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

14
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết


Hình 2. 3. Biểu đồ thanh điệu
(nguồn:

2.2. Phương pháp phân tích hệ số MFCC
Chương này mô tả phương pháp phân tích thông tin tín hiệu tiếng nói để tạo ra
các vector đặc trưng. Ở đây, trong khâu trích đặc trưng chọn phương pháp MFCC
(trích đặc trưng theo thang tần số Mel) do tốc độ tính toán cao, độ tin cậ y lớn và đã
được sử dụng rất hiệu quả trong các chương trình nhận dạng tiếng nói trên thế giới.
Sơ đồ giải thuật phương pháp phân tích thông tin tiếng nói như sau:

Hình 2. 4. Sơ đồ giả i thuật phương pháp phân tích thông tin tiếng nói
Tín hiệu tiếng nói x(n) sau khi phân tích thông tin sẽ thu được đặc trưng dạng các
vector f
x
(n;m). Bộ vector f
x
(n;m) có M vector (m = 0, 1, …, M – 1) và mỗi vector có
kích thước là N (n = 0, 1, …, N – 1).
2.2.1. Tiền xử lý
Bước này ta thực hiện lọc nhiễu, nhấn tín hiệu và tách tiếng nói khỏi khoảng

lặng.
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

15
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết


Hình 2. 5. Tiền xử lý tín hiệu
Tín hiệu tiếng nói bị ảnh hư ởng bởi môi trường xung quanh. Ví dụ tín hiệu x(n)
thu được bởi các thành phần: x(n) = s(n) + d(n), trong đó s(n) là tín hiệu thuần tiếng
nói và d(n) là nhiễu. Có nhiều phương pháp lọc nhiễu, tuy nhiên có hai giả i thuật chính
để thực hiện đó là trừ phổ và lọc nhiễu thích nghi. Ở đây thực hiện giải thuật giảm
nhiễu trừ phổ và được thực hiện gắn liền với bước tách tiếng nói khỏi khoảng im lặng.
Nhấn mạnh tín hiệ u (pre-emphasis). Trong bước xử lý đầu tiên này, tín hiệu được
đưa qua một bộ lọc số:
H(z) = 1 – az
-1
(2.1)
Trong đó a là hệ số nhấn mạnh, thường có giá trị là 0,9700002861. Bộ lọ c có
tác dụng tăng cường tín hiệu tại tần số cao (trên 1KHz) với hai lý do chính:
− Giọng nói có sự suy giảm khoảng 20dB/decade khi lên tần số cao do đặc điểm
sinh lý của hệ thống phát âm của con người. Bước xử lý này sẽ tăng cường tín
hiệu lên một giá trị gần 20dB/decade để khắc phục sự suy giảm này,
− Hệ thống thính giác của con người nhạy cảm hơn với vùng tần số cao, bước xử
lý này nhấn mạnh vùng tần số cao, trợ giúp cho quá trình mô hình hoá âm thanh
sau này của hệ thống nhận dạng.
Trong miền thời gian, bộ lọc có dạng: 








và tín hiệu s
1
(n) thu được
sau bộ lọc trong miền thời gian sẽ là:


















Tách tiếng nói khỏi nền nhiễu (voice activation detection). Nhiệm vụ của khối
này là xử lý tín hiệu từ micro, dùng kỹ thuậ t xử lý đầu và cuối để phát hiện tín hiệu

tiếng nói và phần tín hiệu nhiễu. Từ đó ta có thể tách tiếng nói ra khỏi nền nhiễu (chỉ
thu tín hiệu tiếng nói mà không thu tín hiệu nhiễu nền). [5]
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

16
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

Vấn đề tách tiếng nói khỏi khoảng im lặng cũng có nhiều cách thực hiện như:
ước tính năng lượng trong khoảng thời gian ngắn, hoặc ước tính công suất trong
khoảng thời gian ngắn, và dò điểm 0. Nhưng qua quá trình nghiên cứu và thử nghiệm
tác giả nhận thấy rằng sự kết hợp giữa phương pháp ước tính công suất trong khoảng
thời gian ngắn và tỉ lệ qua điểm zero cho kết quả tốt hơn.
Phương pháp này dựa vào tính chất năng lượng của tín hiệu tiếng nói thường lớn
hơn năng lượng của tín hiệu nhiễu và tỉ lệ qua điểm zero của nhiễu sẽ lớn hơn tín hiệu
tiếng nói. Hình 2.6 cho thấy mối quan hệ giữa tín hiệu thu được, giá trị của hàm năng
lượng thời gian ngắn và tỉ lệ qua điểm zero.

Hình 2. 6. Phân tích khoảng lặng của tiếng nói
Với một cửa sổ kết thúc tại mẫu thứ m, hàm năng lượng thời gian ngắn E
s1
(m)
được xác định bởi:















 
!
Công suất tương ứng là:
"

#


$









 
%
Tỷ lệ qua điểm zero (zero crossing rate) là một thông số cho biết số lần mà biên
độ tín hiệu đi qua điểm zero trong một khoảng thời gian cho trước được xác định bởi:

&

#



$

'
(




(





'

)

 

Trong đó:
(
*






+

,
-

./





0/

Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

17
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết

Mỗi khung có L mẫu. Chú ý rằng chỉ sổ trong các hàm này là m, vì việc tính
toán không phải thực hiện tại mỗi mẫu (chỉ tính sau mỗi khung mẫu).
Tiếp theo là tính ngưỡng quyết định để xác định điểm đầu và điểm cuối của
tiếng nói. Để xác định được ngưỡng này, ta phải thu tín hiệu nhiễu nền xung quanh.
Giả định rằng ta thu 50 khung nhiễu nền và tính giá trị W
s1

như sau:
W
s1
(m) = P
s1
(m)
·
(1

Z
s1
(m)) S
c

Trong đó, S
c
là hệ số dùng để tránh các giá trị nhỏ, ở đây chọn S
c
= 1000.
Ngưỡng nhiễu nền sẽ là:
1
2
3
2
-45
2

Trong đó, 3
2
là trị trung bình và 5

2
là phương sai của W
s1
(m) được tính trong
10 khung nhiễu nền. α là hằng số và phụ thuộc vào đặc điểm của nhiễu nền. Sau quá
trình kiểm tra thực nghiệm thì giá trị α tốt nhất được xác định là:
4/5
2
6

Hàm dò tiếng nói có thể thực hiện như sau:
789




,
:

.1
2
/:




01
2





Hình 2. 7. Tách tiếng nói khỏi khoảng im lặng theo VAD
Ứng dụng NN vào nhận dạng tiếng nói trên KIT ARM Cortex-M3 GVHD: PGS.TS. LÊ TIẾN THƯỜNG

18
HVTH: LÊ HOÀNG HÂN

Chương 2. Cơ sở lý thuyết


Hình 2. 8. Từ tiếng nói có khoảng im lặng tách thành tiếng nói không có khoả ng lặng
2.2.2. Tạo khung và cửa sổ hóa tín hiệu
Bước tiếp theo là chia tín hiệu x
1
(n) thành các khung và cửa sổ hóa mỗi khung,
xem Hình 2.9.

Hình 2. 9. Frame blocking và Windowing
Tạo khung tín hiệu (framing). Tín hiệu tiếng nói luôn luôn biến thiên theo thời
gian, tuy nhiên, trong khoảng thời gian khoảng 20-25ms, tín hiệu tiếng nói được coi là
tương đối ổn định. Do đó, tín hiệu thường được chia thành các khung kích thước 20 –
25 ms với vùng gối lên nhau khoảng 5 – 10 ms.
Mỗi khung có chiều dài là K mẫu, các khung cách nhau một khoảng P mẫu, xem
Hình 2.10.
Giá trị cho K và P lần lượt là 160 mẫu và 50 mẫu tương ứng với thời gian lần
lượt là 20ms và 5ms tại tần số lấy mẫu là 8kHz [11 ]. Bằng cách đó ta chia x
1
(n) thành

×