You are on page 1of 38

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA ĐIỆN TỬ

--------- 🙞🕮🙜 ---------

BÀI TẬP LỚN


KỸ THUẬT NHẬN DẠNG
ĐỀ TÀI: NHẬN DẠNG GIỌNG NÓI
Chuyên ngành : CNKT Máy Tính

Giảng viên hướng dẫn khoa học : Kim Đình Thái

Lớp : CN KTMT2

Sinh viên thực hiện

Hà Nội - Năm 2021

MỤC LỤC

[Type here]
Trường Đại Học Công Nghiệp Hà Nội 2
Khoa Điện Tử

DANH MỤC HÌNH ẢNH 4


DANH MỤC BẢNG BIỂU 4
LỜI NÓI ĐẦU 5
CHƯƠNG I: TỔNG QUAN VỀ LÝ THUYẾT NHẬN DẠNG TIẾNG NÓI 6
1. Tổng quan về tiếng nói 6
2.Tổng quan về nhận dạng tiếng nói 7
3.Nguyên tắc nhận dạng tiếng nói 8
CHƯƠNG II: MÔ HÌNH THUẬT TOÁN VÀ NGUYÊN LÝ HOẠT ĐỘNG 11
1.Trích xuất tính năng lời nói 11
2. Thuật toán và các hàm sử dụng 11
2.1. Giới thiệu về MFCC (Mel Frequency Cepstral Coefficients) 11
2.2. Fast Fourier transform (FFT) 12
2.3.Mô hình tính toán các hệ số MFCC 12
2.4 Nguyên lý hoạt động 12
3.Bộ xử lý hệ số Cepstrum tần số Mel 15
3.1 Chặn khung (Frameblocking) 15
3.2 Cửa sổ (Windowing) 16
3.3 Biến đổi Fourier nhanh (FFT) 16
3.4 Gói tần số Mel 17
3.5 Cepstrum 18
4.Tính năng phù hợp 18
4.1 Tổng quan về tính năng phù hợp 18
4.2 Phân cụm các Vetor đào tạo 20
4.3.Lượng tử hóa vector 23
CHƯƠNG III: XÂY DỰNG HỆ THỐNG MÔ PHỎNG NHẬN DẠNG TIẾNG
NÓI TRÊN ỨNG DỤNG MATLAB. 24
1. Các bước thực hiện 24

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 3
Khoa Điện Tử

1.1. Xây dựng hệ thống nhận dạng 24


1.2. Dữ liệu lời nói 25
1.3 Xử lý lời nói 25
2. Chương trình 26
2.1 Giao diện chính của chương trình MFCC_Respond 26
2.2 Chương trình MFCC 26
2.3 Chương trình vqlbg 27
2.4 Chương trình disteu 28
2.5 Chương trình BlockFrame 29
2.6 Chương trình Melfb 30
3.Đánh giá 31
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 35
TÀI LIỆU THAM KHẢO 37

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 4
Khoa Điện Tử

DANH MỤC HÌNH ẢNH

Hình 1: Sơ đồ nhận dạng tiếng nói 8


Hình 2: Xác minh tiếng nói 9
Hình 3: Sơ đồ khối tính toán các hệ số MFCC 12
Hình 4: Âm chưa biến đổi (Speechsignal) 13
Hình 5: Âm phổ (spectrum) 13
Hình 6: Spectrum sau khi tách 14
Hình 7: Sơ đồ khối của bộ xử lý MFCC 15
Hình 8: Một ví dụ về lọc không gian tần số Mel 17
Hình 9: Sơ đồ khái niệm minh họa vector hình thành lượng tử hóa 20
Hình 10: Sơ đồ dòng thuật toán LBG 22
Hình 11: Giao diện của chương trình 26

DANH MỤC BẢNG BIỂU

Table 1: Kết quả nhận dạng trong môi trường có tiếng ồn 31


Table 2: Kết quả nhận dạng trong môi trường yên tĩnh 33

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 5
Khoa Điện Tử

LỜI NÓI ĐẦU


Xã hội ngày càng phát triển lượng thông tin lưu trữ ngày càng lớn dẫn tới
việc tìm kiếm dữ liệu đa phương tiện càng trở nên khó khăn. Do đó cần có các
hệ thống tìm kiếm thông tin hỗ trợ người sử dụng tìm kiếm một cách chính xác,
nhanh chóng, hiệu quả và tiết kiệm thời gian. Hơn nữa, Công nghệ thông tin
truyền thông, mạng máy tính và các giao thức truyền thông phát triển mạnh mẽ,
kết hợp với khả năng mô tả, đồ họa phong phú của các trình duyệt đã mang lại
sự đa dạng về các dữ liệu cho người dùng đầu cuối. Do đó, đòi hỏi làm thế nào
để tổ chức và cơ cấu một lượng rất lớn các dữ liệu đa phương tiện để có thể dễ
dàng nhận được thông tin cần thiết một cách nhanh chóng tại bất kỳ thời điểm
nào. Từ đó, cơ sở dữ liệu đa phương tiện được xây dựng để trở thành một công
cụ quản lí, lưu trữ và truy cập một lượng lớn các đối tượng đa phương tiện. Đó
chính là cơ hội cũng như là nguyên nhân để các công nghệ về cơ sở dữ liệu đa
phương tiện phát triển và ứng dụng rộng rãi trong đời sống kinh tế xã hội.Các dữ
liệu đa phương tiện gồm có: văn bản, hình ảnh tĩnh, hình ảnh động, âm thanh,
âm nhạc, video… Hiệu quả của các ứng dụng đa phương tiện phụ thuộc vào sức
mạnh của cơ sở dữ liệu đa phương tiện, cụ thể là cấu trúc, cách tổ chức, khả
năng truy cập nhanh, chính xác… Công nghệ đa phương tiện được ứng dụng
trong nhiều trường hợp như: elearning, hội thảo video, thư điện tử, hiện thực ảo,
trò chơi điện tử… Việc tìm hiểu bản chất cũng như là các đặc trưng, các thuộc
tính, các kỹ thuật số hoá của từng loại dữ liệu đa phương tiện là yêu cầu để triển
khai và ứng dụng công nghệ đa phương tiện vào đời sống. Trong đó, việc tìm
hiểu các đặc trưng, phương pháp số hoá, phương pháp trích chọn, tìm kiếm của
dữ liệu âm thanh trong cơ sở dữ liệu âm thanh hiện đang được quan tâm đặc biệt
bởi các đặc thù của dữ liệu âm thanh như: đa dạng thông dụng với người dùng,
thân thiện với mọi đối tượng, truyền tải một lượng lớn thông tin trong khoảng
thời gian ngắn, ứng dụng nhiều trong đời sống, đó chính là lí do nhóm em chọn
đề tài “Nhận Dạng Giọng Nói” .

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 6
Khoa Điện Tử

CHƯƠNG I: TỔNG QUAN VỀ LÝ THUYẾT NHẬN DẠNG TIẾNG


NÓI
1. Tổng quan về tiếng nói
Tiếng nói, hay giọng nói của con người là âm thanh do con người tạo ra bằng
thanh quản, tiếng nói được phân tích ra gồm những đại lượng đặc trưng mà
chúng ta có thể áp dụng để phân biệt, nhận dạng tiếng nói của mỗi người :
- Tần số: Là số lần dao động của phần tử khí trong một giây. Đơn vị là Hz, kí
hiệu: f.
- Chu kỳ: Là thời gian mà âm thanh đó thực hiện một dao động hoàn toàn.
Đơn vị là thời gian, kí hiệu là T.
- Tốc độ truyền âm: Là tốc độ truyền năng lượng âm từ nguồn tới nơi thu.
Đơn vị m/s. Tốc độ truyền âm trong không khí ở nhiệt độ từ 0- 200 C
thường là 331 – 340 m/s.

- Cường độ âm thanh: Là năng lượng được sóng âm truyền trong một đơn vị
thời gian qua một đơn vị diện tích đặt vuông góc với phương truyền âm
- Thanh áp: Là lực tác dụng vào tai người nghe hoặc tại một điểm nào đó của
trường âm thanh. Đơn vị : 1pa=1 N/m2 hoặc 1bar = 1dyn/cm2.
- Âm sắc: Trong thành phần của âm thanh, ngoài tần số cơ bản còn có các
sóng hài, số lượng sóng hài biểu diễn sắc thái của âm. Âm sắc là một đặc
tính của âm nhờ đó mà ta phân biệt được tiếng trầm, bổng khác nhau, phân
biệt được tiếng nhạc cụ, tiếng nam nữ, tiếng người này với người khác.

- Âm lượng: Là mức độ to nhỏ của nguồn. Đơn vị là W

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 7
Khoa Điện Tử

2.Tổng quan về nhận dạng tiếng nói


Nhận dạng người nói là quá trình tự động nhận ra ai đang nói trên cơ sở
thông tin cá nhân có trong sóng lời nói. Kỹ thuật này cho phép sử dụng giọng
nói của người nói để xác minh danh tính của họ và kiểm soát quyền truy cập vào
các dịch vụ như quay số bằng giọng nói, ngân hàng qua điện thoại, mua sắm
qua điện thoại, dịch vụ truy cập cơ sở dữ liệu, dịch vụ thông tin, thư thoại, kiểm
soát an ninh cho các khu vực thông tin bí mật và từ xa truy cập vào máy tính.
Tài liệu này mô tả cách xây dựng một hệ thống nhận dạng tiếng nói tự động
đơn giản nhưng đầy đủ và đại diện. Một hệ thống nhận dạng tiếng nói như vậy
có tiềm năng trong nhiều ứng dụng bảo mật. Ví dụ: người dùng phải nói mã
PIN (Số nhận dạng cá nhân) để có quyền truy cập vào cửa phòng thí nghiệm
hoặc người dùng phải nói số thẻ tín dụng của họ qua đường dây điện thoại để
xác minh danh tính của họ. Bằng cách kiểm tra các đặc điểm giọng nói của
cách phát âm đầu vào, sử dụng hệ thống nhận dạng tiếng nói tự động tương tự
như hệ thống mà chúng em sẽ mô tả, hệ thống có thể thêm một mức bảo mật bổ
sung.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 8
Khoa Điện Tử

3.Nguyên tắc nhận dạng tiếng nói


Nhận dạng tiếng nói có thể được phân loại thành nhận dạng và xác minh.
Nhận dạng người nói là quá trình xác định người đăng ký nào cung cấp cách nói
nhất định. Mặt khác, xác minh người nói là quá trình chấp nhận hoặc từ chối yêu
cầu nhận dạng của người nói. Hình 1 cho thấy các cấu trúc cơ bản của hệ thống
xác minh và xác minh tiếng nói . Hệ thống mà chúng em sẽ mô tả được phân
loại là hệ thống nhận dạng người nói độc lập văn bản vì nhiệm vụ của nó là xác
định người nói bất kể điều gì đang nói.

Hình 1: Sơ đồ nhận dạng tiếng nói


Ở mức cao nhất, tất cả các hệ thống nhận dạng tiếng nói chứa hai mô-đun
chính (tham khảo Hình 1): trích xuất tính năng và khớp tính năng. Trích xuất
tính năng là quá trình trích xuất một lượng nhỏ dữ liệu từ tín hiệu thoại mà sau
này có thể được sử dụng để đại diện cho mỗi tiếng nói . Kết hợp tính năng bao
gồm quy trình thực tế để xác định người nói chưa biết bằng cách so sánh các

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 9
Khoa Điện Tử

tính năng được trích xuất từ đầu vào giọng nói của người đó với người nói từ
một nhóm người đã biết.

Hình 2: Xác minh tiếng nói

Tất cả các hệ thống nhận dạng tiếng nói phải phục vụ hai giai đoạn phân
biệt. Cái đầu tiên được gọi là giai đoạn tuyển sinh hoặc đào tạo, trong khi cái thứ
hai được gọi là giai đoạn vận hành hoặc thử nghiệm. Trong giai đoạn đào tạo,
mỗi diễn giả đã đăng ký phải cung cấp các mẫu bài phát biểu của mình để hệ
thống có thể xây dựng hoặc huấn luyện một mô hình tham chiếu cho người nói
đó. Trong trường hợp hệ thống xác minh tiếng nói, ngoài ra, ngưỡng dành riêng
cho người nói cũng được tính từ các mẫu đào tạo. Trong giai đoạn thử nghiệm,
lời nói đầu vào được khớp với (các) mô hình tham chiếu được lưu trữ và quyết
định công nhận được đưa ra.
Nhận dạng tiếng nói là một nhiệm vụ khó khăn. Nhận dạng tiếng nói tự
động hoạt động dựa trên tiền đề rằng một người nói tiếng nói thể hiện các đặc
điểm duy nhất cho người nói. Tuy nhiên, nhiệm vụ này đã bị thách thức bởi sự
biến đổi cao của tín hiệu tiếng nói đầu vào. Nguồn gốc của phương sai là chính
người nói. Tín hiệu lời nói trong các buổi đào tạo và kiểm tra có thể khác nhau
rất nhiều do nhiều sự thật như thay đổi giọng nói theo thời gian, tình trạng sức
khỏe (ví dụ: người nói bị cảm lạnh), tốc độ nói, v.v. Ngoài ra còn có các yếu tố
khác, ngoài khả năng biến đổi của tiếng nói , đưa ra một thách thức đối với công

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 10
Khoa Điện Tử

nghệ nhận dạng tiếng nói . Ví dụ trong số này là tiếng ồn và các biến thể trong
môi trường ghi âm (ví dụ: người nói sử dụng các thiết bị cầm tay điện thoại khác
nhau).

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 11
Khoa Điện Tử

CHƯƠNG II: MÔ HÌNH THUẬT TOÁN VÀ NGUYÊN LÝ HOẠT


ĐỘNG
1.Trích xuất tính năng lời nói
Mục đích của mô-đun này là để chuyển đổi dạng sóng giọng nói, sử dụng
các công cụ xử lý tín hiệu số (DSP) sang một bộ tính năng (với tốc độ thông tin
thấp hơn đáng kể) để phân tích thêm. Điều này thường được gọi là mặt trước xử
lý tín hiệu.
Tín hiệu tiếng nói là tín hiệu thay đổi theo thời gian chậm (nó được gọi là
bán tĩnh). Một loạt các khả năng tồn tại để biểu thị tham số cho tín hiệu giọng
nói cho tác vụ nhận dạng tiếng nói , chẳng hạn như Mã hóa dự đoán tuyến tính
(LPC), Hệ số cepstrum tần số Mel (MFCC) và các hệ số khác. MFCC có lẽ là
nổi tiếng nhất và phổ biến nhất, và sẽ được mô tả trong bài báo này.
MFCC nhiệt độ dựa trên sự biến đổi đã biết của băng thông quan trọng tai
người với tần số, các bộ lọc cách nhau tuyến tính ở tần số thấp và logarit ở tần
số cao đã được sử dụng để ghi lại các đặc điểm quan trọng về mặt ngữ âm của
lời nói. Điều này được biểu thị theo thang tần số mel, đó là khoảng cách tần số
tuyến tính dưới 1000 Hz và khoảng cách logarit trên 1000 Hz. Quá trình tính
toán MFCC được mô tả chi tiết hơn tiếp theo.

2. Thuật toán và các hàm sử dụng


2.1. Giới thiệu về MFCC (Mel Frequency Cepstral Coefficients)
MFCC là một cách để trích xuất các đặc trưng (feature extraction) giọng nói
(speech) thường được sử dụng trong các model nhận dạng giọng nói (Automatic
Speech Recognition) hay phân loại giọng nói (Speech Classificaton). Đúng như
tên gọi của nó, MFCC sẽ cho ra kết quả là các  hệ số (coefficients)
của cepstral từ Mel filter trên phổ lấy được từ các file âm thanh chứa giọng nói.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 12
Khoa Điện Tử

2.2. Fast Fourier transform (FFT)


Là một thuật toán tính toán biến đổi Fourier rời rạc (DFT) của chuỗi hoặc
nghịch đảo của nó (IDFT). Phân tích Fourier chuyển đổi tín hiệu từ miền ban
đầu của nó (thường là thời gian hoặc không gian) thành biểu diễn trong miền tần
số và ngược lại. DFT có được bằng cách phân tách một chuỗi các giá trị thành
các thành phần có tần số khác nhau

2.3.Mô hình tính toán các hệ số MFCC

Hình 3: Sơ đồ khối tính toán các hệ số MFCC

2.4 Nguyên lý hoạt động


Giọng nói thì thường sẽ được biểu diễn dưới dạng hai chiều (x, y) với x là
thời gian (time) theo miliseconds (ms) và y là amplitude (biên độ). Trong đó
những giá trị trên y được sinh ra trực tiếp từ bộ thu âm, do đó người ta thường
gọi là speech signal

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 13
Khoa Điện Tử

Hình 4: Âm chưa biến đổi (Speechsignal)


Đầu tiên, ta sẽ biến đổi speech signal thành Âm Phổ (Spectrum) bằng cách áp
dụng Fast Fourier Transform.

Hình 5: Âm phổ (spectrum)

Kết quả của việc biến đổi này, tức là spectrum, được biểu diễn dưới dạng hai
chiều (x', y') với x' là tần số (Hz) và y'là cường độ (dB).
Ở hình trên, các điểm màu đỏ được gọi là Formants, là nơi có các tần số áp
đảo (dominant), mang đặc tính của âm thanh. Đường màu đỏ gọi là Spectral

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 14
Khoa Điện Tử

Envelopes. Mục tiêu chính của ta là lấy được đường màu đỏ


này.Gọi spectrum là X[k] có hai thành phần là spectral envelopes H[k]
và spectral details E[k].

Hình 6: Spectrum sau khi tách

Để tách được H[k]H[k], ta cần phải lấy logarithm của spectrum và lấy phần


ở tần số thấp (low frequency):
X[k])=H[k]∗E[k]
⇔log(X[k])=H[k]∗E[k]=log(H[k])+log(E[k])
(Công thức 1)
Người ta thấy rằng tai người hoạt động như một bộ lọc, chỉ tập trung vào
một phần thay vì hết cả spectral envelopes. Thế là một bộ lọc lấy ý tưởng này ra
đời, gọi là Mel-Frequency Filter.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 15
Khoa Điện Tử

3.Bộ xử lý hệ số Cepstrum tần số Mel


Sơ đồ khối cấu trúc của bộ xử lý MFCC được đưa ra trong Hình 3. Đầu vào
giọng nói thường được ghi ở tốc độ lấy mẫu trên 10000 Hz. Tần số lấy mẫu này
đã được chọn để giảm thiểu ảnh hưởng của răng cưa trong chuyển đổi tương tự
sang số. Các tín hiệu được lấy mẫu này có thể thu được tất cả các tần số lên đến
5 kHz, bao phủ hầu hết năng lượng của âm thanh do con người tạo ra. Như đã
thảo luận trước đây, mục đích chính của bộ xử lý MFCC là bắt chước hành vi
của tai người. Ngoài ra, thay vì bản thân dạng sóng giọng nói, MFFC, được hiển
thị là ít nhạy cảm hơn với các biến thể được đề cập.

Hình 7: Sơ đồ khối của bộ xử lý MFCC

3.1 Chặn khung (Frameblocking)


Trong bước này, tín hiệu giọng nói liên tục bị chặn vào các khung của N
mẫu, với các khung liền kề được phân tách bằng M (M <N). Khung đầu tiên bao
gồm N mẫu đầu tiên. Khung thứ hai bắt đầu các mẫu M sau khung thứ nhất và
chồng lên nó bằng các mẫu N - M, v.v. Quá trình này tiếp tục cho đến khi tất cả
các bài phát biểu được tính trong một hoặc nhiều khung. Các giá trị tiêu biểu
cho N và M là N = 256 (tương đương với cửa sổ ~ 30 msec và tạo điều kiện cho
radix-2 FFT nhanh) và M = 100.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 16
Khoa Điện Tử

3.2 Cửa sổ (Windowing)


Bước tiếp theo trong quá trình xử lý là cửa sổ từng khung riêng lẻ để giảm
thiểu sự gián đoạn tín hiệu ở đầu và cuối của mỗi khung. Khái niệm ở đây là để
giảm thiểu biến dạng quang phổ bằng cách sử dụng cửa sổ để giảm tín hiệu về 0
ở đầu và cuối của mỗi khung. Nếu chúng ta xác định cửa sổ là, trong đó N là số
lượng mẫu trong mỗi khung, thì kết quả của cửa sổ là tín hiệu
y l (n )=x l (n )w(n ), 0≤n≤N−1
(Công thức 2)
Thông thường, cửa sổ Hamming được sử dụng, có dạng:
2 πn
w (n)=0 .54−0 . 46 cos ( )
N −1
, 0≤n≤N −1

(Công thức 3)

3.3 Biến đổi Fourier nhanh (FFT)


Bước xử lý tiếp theo là Biến đổi Fourier nhanh, chuyển đổi từng khung của
N mẫu từ miền thời gian thành miền tần số. FFT là một thuật toán nhanh để thực
hiện Biến đổi Fourier rời rạc (DFT), được xác định trên tập hợp N mẫu {xn},
như sau:
N−1
X k = ∑ x n e− j2 π kn/ N , k =0,1,2 ,. .. , N−1
n=0

(Công thức 4)

Nói chung Xk, là những số phức và chúng em chỉ xem xét các giá trị tuyệt
đối của chúng (cường độ tần số). Chuỗi kết quả {Xk} được hiểu như sau: tần số
dương tương ứng với các giá trị, trong khi tần số âm tương ứng. Ở đây, Fs biểu
thị tần số lấy mẫu. Kết quả sau bước này thường được gọi là phổ hoặc biểu đồ.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 17
Khoa Điện Tử

3.4 Gói tần số Mel


Như đã đề cập ở trên, các nghiên cứu tâm lý học đã chỉ ra rằng nhận thức
của con người về nội dung tần số của âm thanh đối với tín hiệu lời nói không
tuân theo thang đo tuyến tính. Do đó, đối với mỗi âm có tần số thực tế, f, được
đo bằng Hz, cường độ chủ quan được đo trên thang đo được gọi là thang âm
‘mel. Thang đo tần số mel là khoảng cách tần số tuyến tính dưới 1000 Hz và
khoảng cách logarit trên 1000 Hz.

Hình 8: Một ví dụ về lọc không gian tần số Mel

Một cách tiếp cận để mô phỏng phổ chủ quan là sử dụng ngân hàng bộ lọc,
cách đều nhau trên thang đo mel .Ngân hàng bộ lọc đó có đáp ứng tần số băng
thông hình tam giác và khoảng cách cũng như băng thông được xác định bởi

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 18
Khoa Điện Tử

một khoảng tần số mel không đổi. Số lượng các hệ số phổ Mel, K, thường được
chọn là 20. Một cách suy nghĩ hữu ích về ngân hàng bộ lọc bọc mel này là xem
mỗi bộ lọc dưới dạng thùng biểu đồ (trong đó các thùng có chồng lấp) trong
miền tần số.

3.5 Cepstrum
Trong bước cuối cùng này, chuyển đổi phổ Mel trở lại thời gian. Kết quả
được gọi là hệ số cepstrum tần số mel (MFCC). Biểu diễn cepstral của phổ
giọng nói cung cấp một biểu diễn tốt về các tính chất phổ cục bộ của tín hiệu
cho phân tích khung đã cho. Vì các hệ số phổ mel (và do đó logarit của chúng)
là số thực, nên chúng em có thể chuyển đổi chúng thành miền thời gian bằng
cách sử dụng biến đổi Cosine rời rạc (DCT). Do đó, nếu chúng ta biểu thị các hệ
số phổ công suất mel là kết quả của bước cuối cùng, chúng ta có thể tính toán
MFCC, như
K ~   1 
c~n   (log Sk ) cos n k   , n  0,1,..., K-1
k1   2 K

(Công thức 5)
Lưu ý rằng chúng em loại trừ thành phần đầu tiên, khỏi DCT vì nó đại diện
cho giá trị trung bình của tín hiệu đầu vào, mang ít thông tin cụ thể của người
nói.
4.Tính năng phù hợp

4.1 Tổng quan về tính năng phù hợp


Vấn đề nhận dạng tiếng nói thuộc về một chủ đề rộng lớn hơn nhiều trong
khoa học và kỹ thuật nên được gọi là nhận dạng mẫu. Mục tiêu của nhận dạng
mẫu là phân loại các đối tượng quan tâm thành một trong một số loại hoặc lớp.
Các đối tượng quan tâm được gọi chung là các mẫu và trong trường hợp của
chúng em là các chuỗi vectơ âm thanh được trích xuất từ một lời nói đầu vào
bằng cách sử dụng các kỹ thuật được mô tả trong phần trước. Các lớp học ở đây
đề cập đến các diễn giả cá nhân. Vì quy trình phân loại trong trường hợp của

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 19
Khoa Điện Tử

chúng em được áp dụng cho các tính năng được trích xuất, nên nó cũng có thể
được gọi là kết hợp tính năng.
Hơn nữa, nếu tồn tại một số tập hợp các mẫu mà các lớp riêng lẻ đã biết, thì
chúng có một vấn đề trong nhận dạng mẫu được giám sát. Các mẫu này bao gồm
tập huấn luyện và được sử dụng để rút ra thuật toán phân loại. Các mẫu còn lại
sau đó được sử dụng để kiểm tra thuật toán phân loại; các mẫu này được gọi
chung là bộ thử nghiệm. Nếu các lớp chính xác của các mẫu riêng lẻ trong tập
kiểm tra cũng được biết đến, thì người ta có thể đánh giá hiệu suất của thuật
toán.
Các kỹ thuật kết hợp tính năng tiên tiến được sử dụng trong nhận dạng tiếng
nói bao gồm Dynamic Time Warping (DTW), Hidden Markov Modelling
(HMM) và Vector Quantization (VQ). Trong dự án này, phương pháp VQ sẽ
được sử dụng, do dễ thực hiện và độ chính xác cao. VQ là một quá trình ánh xạ
các vectơ từ một không gian vectơ lớn đến một số lượng hữu hạn các vùng trong
không gian đó. Mỗi vùng được gọi là một cụm và có thể được đại diện bởi trung
tâm của nó được gọi là từ mã. Bộ sưu tập của tất cả các từ mã được gọi là một
cuốn sách mã.
Hình 9 cho thấy một sơ đồ khái niệm để minh họa quá trình nhận dạng này.
Trong hình, chỉ có hai tiếng nói và hai chiều của không gian âm thanh được hiển
thị. Các vòng tròn đề cập đến các vectơ âm thanh từ tiếng nói 1 trong khi các
tam giác là từ tiếng nói 2. Trong giai đoạn huấn luyện, sử dụng thuật toán phân
cụm, một cuốn sách mã VQ dành riêng cho người nói được tạo cho mỗi tiếng
nói được biết bằng cách phân cụm / cô đào vectơ âm thanh. Các từ mã kết quả
(centroid) được hiển thị trong Hình 5 bằng các vòng tròn màu đen và hình tam
giác màu đen cho tiếng nói 1 và 2, tương ứng. Khoảng cách từ một vectơ đến từ
mã gần nhất của một cuốn sách mã được gọi là biến dạng VQ. Trong giai đoạn
nhận dạng, một phát ngôn đầu vào của một giọng nói không xác định là Vectơ
lượng tử hóa vector sử dụng từng cuốn sách mã được đào tạo và tổng độ méo

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 20
Khoa Điện Tử

VQ được tính toán. Tiếng nói tương ứng với bảng mã VQ có tổng độ méo nhỏ
nhất được xác định là tiếng nói của cách nói đầu vào.

Hình 9: Sơ đồ khái niệm minh họa vector hình thành lượng tử hóa

Một người nói có thể được phân biệt đối xử từ người khác dựa trên vị trí của
centroid.

4.2 Phân cụm các Vetor đào tạo


Sau phiên đăng ký, các vectơ âm thanh được trích xuất từ lời nói đầu vào
của mỗi người nói cung cấp một tập các vectơ đào tạo cho người nói đó. Như đã
mô tả ở trên, bước quan trọng tiếp theo là xây dựng một bảng mã VQ dành riêng
cho từng người nói bằng cách sử dụng các vectơ đào tạo đó. Có một thuật toán
nổi tiếng, cụ thể là thuật toán LBG [Linde, Buzo và Gray, 1980], để phân cụm
một tập các vectơ đào tạo L thành một tập các vectơ mã hóa M. Thuật toán được
chính thức thực hiện theo thủ tục đệ quy sau:
+ Thiết kế một cuốn sách mã 1 vector, đây là trọng tâm của toàn bộ các vector
đào tạo(do đó, không cần lặp lại ở đây) .
+ Nhân đôi kích thước của codebook bằng cách tách từng codebook hiện tại theo
quy tắc

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 21
Khoa Điện Tử

y +n = y n (1+ε ) −
; y n = y n (1−ε) Công thức 6.
Trong đó n thay đổi từ 1 đến kích thước hiện tại của cuốn sách mã và là một
tham số tách (chúng em chọn = 0,01).
Tìm kiếm hàng xóm gần nhất:đối với mỗi vector đào tạo, tìm từ mã trong
cuốn sách mã hiện tại gần nhất (về phép đo độ tương tự) và gán vecto đó cho ô
tương ứng ( được liên kết với từ mã gần nhất)
Cập nhật Centroid: cập nhật từ mã trong mỗi ô bằng cách sử dụng tâm của
các vecto huấn luyện được gán cho ô đó:
Lặp lại 1: lặp lại bước 3 và bước 4 cho đến khi khoảng cách trung bình giảm
xuống dưới ngưỡng đặt trước
Lặp lại 2: lặp lại các bước 2, 3 và 4 cho đến khi kích thước danh bạ của M được
thiết kế.
Theo trực giác, thuật toán LBG thiết kế một bảng mã M-vector theo các giai
đoạn. Trước tiên, nó bắt đầu bằng cách thiết kế một bảng mã 1 vectơ, sau đó sử
dụng kỹ thuật phân tách trên các từ mã để khởi tạo tìm kiếm cho một bảng mã 2
vectơ và tiếp tục quá trình phân tách cho đến khi có được bảng mã M-vector
mong muốn.
Hình 10 cho thấy, trong một sơ đồ dòng, các bước chi tiết của thuật toán
LBG. Các vectơ cụm là một thủ tục tìm kiếm lân cận gần nhất, gán mỗi vectơ
huấn luyện cho một cụm liên kết với từ mã gần nhất. Công cụ tính toán D (biến
dạng) tổng hợp khoảng cách của tất cả các vectơ đào tạo trong tìm kiếm lân cận
gần nhất để xác định xem quy trình đã hội tụ chưa.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 22
Khoa Điện Tử

Hình 10: Sơ đồ dòng thuật toán LBG

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 23
Khoa Điện Tử

4.3.Lượng tử hóa vector


Kết quả của phần cuối cùng là chúng ta biến đổi tín hiệu lời nói thành các
vectơ trong một không gian âm thanh. Trong phần này, chúng em sẽ áp dụng kỹ
thuật nhận dạng mẫu dựa trên VQ để xây dựng các mô hình tham chiếu tiếng nói
từ các vectơ đó trong giai đoạn đào tạo và sau đó có thể xác định bất kỳ chuỗi
vectơ âm thanh nào được nói bởi các tiếng nói không xác định.
Bây giờ hãy viết một hàm Matlab, vqlbg huấn luyện một cuốn sách mã VQ
bằng thuật toán LGB được mô tả trước đây. Sử dụng hàm tiện ích được cung cấp
để tính toán khoảng cách Euclide cặp giữa các từ mã và vectơ đào tạo trong quy
trình lặp.
Bây giờ là phần cuối cùng! Sử dụng hai chương trình được cung cấp: đào tạo
và kiểm tra (yêu cầu hai chức năng mfcc và vqlbg mà bạn vừa hoàn thành) để
mô phỏng quy trình đào tạo và kiểm tra trong hệ thống nhận dạng tiếng nói,
tương ứng.
Cụ thể hơn Sau bước phân tích và trích trọn đặc trưng của tiếng nói thì
lượng thông tin cần phải xử lý của tiếng nói đã giảm đi khá nhiều, tuy nhiên đây
chưa phải là biện pháp giảm tối thiểu lượng thông tin cần xử lý. Trong các hệ
thống nhận dạng tiếng nói còn có thêm một bước nữa để giảm hơn nữa lượng
thông tin của tiếng nói cần phải xử lý đó là phương pháp Lượng tử hóa vector.
Có hai bước cần phải làm để thực hiện lượng tử hóa vector là:
Bước 1: Xây dựng codebook. Các vector đặc trưng của tập huấn luyện
được phân thành các nhóm, trong mỗi nhóm này chọn ra nhân của nhóm để làm
một từ mã, tập các từ mã này tạo thành một sách mã (codebook).
Bước 2: Lượng tử hóa. Mỗi một vector đầu vào được so sánh với các
vector có trong codebook để tìm ra từ mã nào “giống” với nó nhất. Sau khi
lượng tử hóa thay vì phải thao tác với một vector chúng ta chỉ cần thao tác với
chỉ số của từ mã giống với vector đó nhất, do đó làm giảm đáng kể khối lượng
tính toán cần thực hiện.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 24
Khoa Điện Tử

CHƯƠNG III: XÂY DỰNG HỆ THỐNG MÔ PHỎNG NHẬN DẠNG


TIẾNG NÓI TRÊN ỨNG DỤNG MATLAB.
Như đã nêu trước đây, trong dự án này, chúng em sẽ thử nghiệm việc xây
dựng và thử nghiệm hệ thống nhận dạng tiếng nói tự động. Để xây dựng một hệ
thống như vậy, người ta phải trải qua các bước được mô tả trong các phần trước.
Nền tảng thuận tiện nhất cho việc này là môi trường Matlab vì nhiều tác vụ trên
đã được triển khai trong Matlab. Trang web dự án được đưa ra ở đầu cung cấp
một cơ sở dữ liệu thử nghiệm và một số chức năng của trình trợ giúp để giảm
bớt quá trình phát triển.
Chúng em cung cấp cho bạn hai chức năng tiện ích: melfb và disteu; và hai
chức năng chính: đào tạo và kiểm tra. Tải xuống tất cả các tệp này từ trang Web
dự án vào thư mục làm việc của bạn. Hai tập tin đầu tiên có thể được coi là một
hộp đen, nhưng hai tập tin sau cần được hiểu thấu đáo. Trong thực tế, nhiệm vụ
của bạn là viết hai hàm bị thiếu: mfcc và vqlbg, sẽ được gọi từ các hàm chính đã
cho.

1. Các bước thực hiện


1.1. Xây dựng hệ thống nhận dạng
Hệ thống nhận dạng được xây dựng dựa trên phương pháp Trích xuất đặc trưng
(MFCC). Hệ thống bao gồm các bước sau:
- Thu âm và tiền xử lý tiếng nói:
● Trích xuất đặc trưng từ giọng nói (Âm điệu, tần số Mel, Cepstrum,...).
● Tìm trọng tâm (tìm ra đặc trưng của giọng nói).
● Chia nhỏ và phân tích trọng tâm kết hợp lượng tử hóa vector đặc trưng
- Nhận dạng tiếng nói:
● Tiến hành so sánh với vector đặc trưng của giọng nói mẫu.
● Trả về phản hồi bằng cách phát lại lời nói ở mục mẫu.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 25
Khoa Điện Tử

1.2. Dữ liệu lời nói


Thu thập và tiền xử lí tín hiệu tiếng nói ở giai đoạn huấn luyện được thực hiện
bằng phương pháp thủ công, sử dụng trực tiếp trên Matlab.

Quá trình thu âm để tạo mẫu và giọng nói đầu vào được thực hiện như sau:
Bước 1: Đầu vào thu âm từ micro (thu âm ở tần số 8000Hz trong thời gian
khoảng 2s) cho mẫu tiếng nói của từng người.
Bước 2:Tiến hành thu âm tương tự bước 1 cho phần âm thanh kiểm tra.

1.3 Xử lý lời nói


Trong giai đoạn này, bạn được yêu cầu viết hàm Matlab đọc tệp âm thanh và
biến nó thành một chuỗi MFCC (vectơ âm thanh) bằng các bước xử lý giọng nói
được mô tả trước đây. Nhiều tác vụ trong số đó đã được cung cấp bởi các hàm
Matlab tiêu chuẩn hoặc được cung cấp của chúng em. Các hàm Matlab mà bạn
sẽ cần là: wavread, hamming, fft, dct và melfb (hàm được cung cấp).
Vẽ tín hiệu để xem nó trong miền thời gian. Rõ ràng là dữ liệu thô trong
miền thời gian có lượng dữ liệu rất cao và rất khó để phân tích đặc tính giọng
nói. Vì vậy, động lực cho bước này (trích xuất tính năng lời nói) nên rõ ràng
ngay bây giờ!
Bây giờ cắt tín hiệu giọng nói (một vectơ) thành các khung có chồng chéo.
Kết quả là một ma trận trong đó mỗi cột là một khung gồm N mẫu từ tín hiệu
giọng nói gốc. Áp dụng các bước của Window Windowing, và FFT, để chuyển
đổi tín hiệu thành miền tần số. Quá trình này được sử dụng trong nhiều ứng
dụng khác nhau và được gọi trong tài liệu là Biến đổi Fourier Windowed (WFT)
hoặc Biến đổi Fourier thời gian ngắn (STFT). Kết quả thường được gọi là phổ
hoặc biểu đồ.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 26
Khoa Điện Tử

Bước tiếp theo cùng trong xử lý lời nói là chuyển đổi phổ công suất thành các
hệ số cepstrum tần số mel. Chức năng được cung cấp melfb tạo điều kiện cho
nhiệm vụ này
Cuối cùng, hoàn thành bước Cepstrum, và đặt tất cả các phần lại với nhau
thành một hàm Matlab, mfcc, thực hiện quá trình xử lý MFCC.

2. Chương trình
2.1 Giao diện chính của chương trình MFCC_Respond

Hình 11: Giao diện của chương trình

2.2 Chương trình MFCC


function r = mfcc(s, fs)
m = 100;
n = 256;
frame=blockFrames(s, fs, m, n);
m = melfb(20, n, fs);
n2 = 1 + floor(n / 2);
z = m * abs(frame(1:n2, :)).^2;

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 27
Khoa Điện Tử

r = dct(log(z));
end

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 28
Khoa Điện Tử

2.3 Chương trình vqlbg


function r = vqlbg(d,k)
e = .1;
r = mean(d, 2);
dpr = 10000;
for i = 1:log2(k)
r = [r*(1+e), r*(1-e)];
while (1 == 1)
z = disteu(d, r);
[m,ind] = min(z, [], 2);
t = 0;
for j = 1:2^i
r(:, j) = mean(d(:, find(ind == j)), 2); %#ok<FNDSB>
x = disteu(d(:, find(ind == j)), r(:, j)) %#ok<FNDSB>
for q = 1:length(x)
t = t + x(q);
end
end
if (((dpr - t)/t) < e)
break;
else
dpr = t;
end
end
end

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 29
Khoa Điện Tử

2.4 Chương trình disteu


function d = disteu(x, y)
[M, N] = size(x);
[M2, P] = size(y);
if (M ~= M2)
error('Matrix dimensions do not match.')
end
d = zeros(N, P);
for ii=1:N
for jj=1:P
d(ii,jj) = mydistance(x(:,ii),y(:,jj),2);
end
end
end
function [out] = mydistance(x,y,tipo)
if tipo == 0
out = sum((x-y).^2).^0.5;
end
% Distance sum | x -y |
if tipo == 1
out = sum(abs(x-y));
end
% Weighted distance
if tipo == 2
pesi = zeros(size(x));
pesi(1) = 0.20;
pesi(2) = 0.90;
pesi(3) = 0.95;

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 30
Khoa Điện Tử

pesi(4) = 0.90;
pesi(5) = 0.70;
pesi(6) = 0.90;
pesi(7) = 1.00;
pesi(8) = 1.00;
pesi(9) = 1.00;
pesi(10) = 0.95;
pesi(11:13) = 0.30;
out = sum(abs(x-y).*pesi);
end
end

2.5 Chương trình BlockFrame


function M3 = blockFrames(s, fs, m, n)
l = length(s);
nbFrame = floor((l - n) / m) + 1;
for i = 1:n
for j = 1:nbFrame
M(i, j) = s(((j - 1) * m) + i); %#ok<AGROW>
end
end
h = hamming(n);
M2 = diag(h) * M;
for i = 1:nbFrame
M3(:, i) = fft(M2(:, i)); %#ok<AGROW>
end
end

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 31
Khoa Điện Tử

2.6 Chương trình Melfb


function m = melfb(p, n, fs)
f0 = 700 / fs;
fn2 = floor(n/2);
lr = log(1 + 0.5/f0) / (p+1);
bl = n * (f0 * (exp([0 1 p p+1] * lr) - 1));
b1 = floor(bl(1)) + 1;
b2 = ceil(bl(2));
b3 = floor(bl(3));
b4 = min(fn2, ceil(bl(4))) - 1;
pf = log(1 + (b1:b4)/n/f0) / lr;
fp = floor(pf);
pm = pf - fp;
r = [fp(b2:b4) 1+fp(1:b3)];
c = [b2:b4 1:b3] + 1;
v = 2 * [1-pm(b2:b4) pm(1:b3)];
m = sparse(r, c, v, p, 1+fn2);
end

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 32
Khoa Điện Tử

3.Đánh giá
Đánh giá chương trình qua 2 phần: phần trong môi trường có ít tiếng ồn và
môi trường có tiếng ồn vừa. Ở đây đầu vào có 2 người, mỗi người thực hiện 5
lần trong hai môi trường bên trên và tổng cộng là 20 lần thử. Kết quả cho 20 lần
thử được ghi lại vào bảng dưới đây:
Có 3 tham số để đánh giá: False Recognized(FR), Successful
Recognized(SR), Unrecognized(UR)
TH1: trong môi trường có tiếng ồn.
Lần 1:
Họ và tên FR SR UR
Nguyễn Thanh Tùng X
Quách Đình Thưởng X

Lần 2:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Lần 3:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 33
Khoa Điện Tử

Lần 4:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Lần 5:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

- Tỉ lệ thành công= Tổng số lần nhận dạng thành công / Tổng số lần
- Tỉ lệ nhận dạng sai= Tổng số lần nhận dạng sai / Tổng số lần
- Tỉ lệ không nhận dạng = Tổng số lần không nhận dạng ra / Tổng số lần
Tương tự như TH1 ở môi trường có tiếng ồn thì ta kết quả ta thu được ở môi
trường có tiếng ồn vừa là:
Table 1: Kết quả nhận dạng trong môi trường có tiếng ồn

Họ và tên FR SR UR
Ôn Quang Trung 1/5 3/5 1/5
Quách Đình Thưởng 1/5 2/5 2/5

Dựa vào bảng 1 kết quả trên cho ta thấy, tỷ lệ :


UR= 2/10= 20 %
FR= 5/10= 50 %
SR= 3/10= 30 %
Kết luận: trong môi trường có tiếng ồn, xác suất nhận dạng giọng nói thành công
là 20%, do yếu tố tiếng ồn gây ra.

TH2: trong môi trường phòng kín


Lần 1:
Họ và tên FR SR UR

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 34
Khoa Điện Tử

Ôn Quang Trung X
Quách Đình Thưởng X

Lần 2:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Lần 3:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Lần 4:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

Lần 5:
Họ và tên FR SR UR
Ôn Quang Trung X
Quách Đình Thưởng X

- Tỉ lệ thành công= Tổng số lần nhận dạng thành công / Tổng số lần
- Tỉ lệ nhận dạng sai= Tổng số lần nhận dạng sai / Tổng số lần
- Tỉ lệ không nhận dạng = Tổng số lần không nhận dạng ra / Tổng số lần
Table 2: Kết quả nhận dạng trong môi trường yên tĩnh

Họ và tên FR SR UR
Ôn Quang Trung 1/5 4/5 0
Quách Đình Thưởng 2/5 2/5 1
Dựa vào bảng 2 kết quả trên cho ta thấy, tỷ lệ :
UR= 3/10= 30 %
FR= 6/10= 60 %

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 35
Khoa Điện Tử

SR= 1/10= 10 %
Kết luận: trong môi trường có tiếng ồn, xác suất nhận dạng giọng nói thành công
là 47,7 %, nhờ ít bị tác động yếu tố tiếng ồn làm cho khả năng nhận dạng tốt
hơn, và trường hợp không thể nhận dạng (UR) giảm xuống chỉ còn 13,3 %.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 36
Khoa Điện Tử

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


Do quy mô và thời gian thực hiện Bài Tập Lớn có hạn nên trong bài báo cáo
không thể trình bày hết mọi vấn đề về nhận dạng giọng nói bằng Matlap sử dụng
phương pháp MFCC kĩ thuật VQ-KNN(vector quantization K-nearest neighbor)
mà chỉ tập trung vào các vấn đề cốt lõi. Ngoài ra về thời gian do hạn chế nên
việc phân tích kỹ về các yếu tố ảnh hưởng đến kết quả nhận dạng cũng bị hạn
chế thông tin.
Ở đây nhóm em chỉ xin nêu một số hướng có thể nghiên cứu tiếp về nhận
diện giọng nói bằng Matlap sử dụng phương pháp MFCC sử dụng VQ-
KNN(vector quantization K-nearest neighbor) theo các công trình nghiên cứu
trên thế giới:
Nhận dạng giọng nói bằng Matlap sử dụng phương pháp MFCC, Áp dụng
phương pháp có giám sát sử dụng các thuật toán VQ-KNN, Nhận dạng giọng
nói bằng Matlap phép lượng tử vector (vector quantization) một dạng của
KNN(K-nearest neighbor) người láng giềng gần nhất .
Kết quả thử nghiệm cho thấy việc kết hợp sử dụng tham số F0 với bộ tham
số MFCC cho kết quả nhận dạng phương ngữ tốt hơn khi không sử dụng tham
số F0. Bên cạnh đó, nghiên cứu cũng cho thấy khả năng ứng dụng mô hình hỗn
hợp Gauss đa biến vào (GMM) trong nhận dạng phương ngữ tiếng Việt. Các thử
nghiệm trên bộ ngữ liệu phương ngữ tiếng Việt VDSPEC cũng chỉ ra bộ tham số
MFCC với số hệ số bằng 7 cho kết quả nhận dạng phương ngữ tiếng Việt tốt
nhất. Các kết quả nghiên cứu này có thể tiếp tục phát triển để ứng dụng trong
các hệ thống nhận dạng tự động tiếng Việt nói nhằm nâng cao hiệu năng nhận
dạng
Sau một thời gian học tập và nghiên cứu, cuối cùng chúng em cũng đã hoàn
thành đề tài nghiên cứu của mình. Đây là thời điểm tốt nhất để chúng em có dịp
được bày tỏ lòng biết ơn của mình đến những người thân đã giúp đỡ động viên
trong suốt quá trình chúng em thực hiện bài luận này.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 37
Khoa Điện Tử

Chúng em xin cảm ơn các thầy, cô giảng dạy trong trường Đại Học Công
Nghiệp Hà Nội, Quý Thầy Cô trong khoa Điện Tử đã tạo điều kiện cho chúng
em thực hiện đề tài này. Đặc biệt là thầy Kim Đinh Thái, thầy đã định hướng
cho chúng em có những bước đi đầu đời về một cách nhìn khoa học về lĩnh vực
Trí Tuệ Nhân Tạo- một lĩnh vực quan trọng hàng đầu trong các lĩnh vực khoa
học , và sự cố gắng phấn đấu trong tương lai, điều này có ý nghĩa rất sâu sắc đối
với chúng em, giúp chúng em tự tin và nổ lực hoàn thành đề tài này đúng thời
hạn. Một lần nữa, chúng em xin bày tỏ lòng biết ơn sâu sắc.
Chúng em xin chân thành cảm ơn!

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13


Trường Đại Học Công Nghiệp Hà Nội 38
Khoa Điện Tử

TÀI LIỆU THAM KHẢO

[1] L.R. Rabiner và B.H. Juang, Nguyên tắc cơ bản của nhận dạng giọng nói,
Prentice-Hall, Englewood Cliffs, N.J., 1993.
[2] L.R Rabiner và R.W. Schafer, Xử lý kỹ thuật số tín hiệu lời nói, Prentice-
Hall, Englewood Cliffs, N.J., 1978.
[3] S.B. Davis và P. Mermelstein, so sánh các đại diện tham số cho nhận
dạng từ đơn âm tiết trong các câu được nói liên tục, Giao dịch của IEEE về âm
học, lời nói, xử lý tín hiệu, Vol. ASSP-28, số 4, tháng 8 năm 1980.
[4] Y. Linde, A. Buzo & R. Grey, Thuật toán cho thiết kế bộ lượng tử hóa
vector, Giao dịch của IEEE về Truyền thông, Tập. 28, tr.84-95, 1980.
[5] S. Furui, Nhận dạng từ độc lập của tiếng nói Tiếng nói sử dụng các tính
năng động của phổ giọng nói, Giao dịch của IEEE về Âm thanh, Lời nói, Xử lý
tín hiệu, Tập. ASSP-34, số 1, trang 52-59, tháng 2 năm 1986.

Công nghệ kỹ thuật máy tính 2 Đại học khóa 13

You might also like