Bài viết mô hình nhận dạng mẫu từ đơn tiếng Việt được trình bày. Tiếng nói được trích đặc trưng bằng giải thuật MFCC (Mel-Frequency Cepstral Coefficients). Giải thuật thời gian động DTW (Dynamic Time Warping) được sử dụng để so sánh tiếng nói đầu vào với các mẫu thu sẵn, từ đó sẽ chọn ra được kết quả nhận dạng phù hợp nhất với tiếng nói phát ra. Mời các bạn cùng tham khảo!
Trang 1Hệ Thống Nhúng Nhận Dạng Tiếng Nói Tiếng Việt
Sử Dụng Mel-Frequency Cepstral Coefficients Và
Dynamic Time Warping
Lê Đức Lộc, Trần Văn Hoàng và Hoàng Trang
Khoa Điện – Điện Tử Trường Đại Học Bách Khoa – ĐHQG TP Hồ Chí Minh Email: ducloc0506@gmail.com,tvhoang@hcmut.edu.vn,hoangtrang@hcmut.edu.vn
Abstract — Trong bài báo này, mô hình nhận dạng mẫu từ đơn
tiếng Việt được trình bày Tiếng nói được trích đặc trưng bằng giải
thuật MFCC (Mel-Frequency Cepstral Coefficients) Giải thuật
thời gian động DTW (Dynamic Time Warping) được sử dụng để so
sánh tiếng nói đầu vào với các mẫu thu sẵn, từ đó sẽ chọn ra được
kết quả nhận dạng phù hợp nhất với tiếng nói phát ra Hệ thống
nhận dạng được thực hiện và chạy trên board nhúng BeagleBone
Black do Texas Instruments sản xuất Kết quả nhận dạng cao phù
hợp với lý thuyết.
Keywords — Nhận dạng từ đơn tiếng Việt, MFCC, DTW
I GIỚI THIỆU Nhận dạng tiếng nói là một kỹ thuật có nhiều ứng dụng
trong cuộc sống, trong việc điều khiển bởi ưu điểm lớn nhất
của nó là tốc độ cao, tương tác cao và trực quan với con
người Ở Việt Nam, nhận dạng tiếng nói đã được nghiên cứu
trong những năm gần đây và đạt được nhiều thành quả [1-2]
Bài báo trình bày một mô hình nhận dạng mẫu tiếng Việt đọc
rời rạc với độ chính xác cao: sử dụng phương pháp trích đặc
trưng hiện đại MFCC kết hợp với phương pháp so sánh mẫu
DTW đơn giản, không yêu cầu bộ nhớ cao và cho tốc độ nhận
dạng nhanh
Hệ thống nhận dạng tiếng nói đã được thực hiện trong
những năm gần đây Trong bài báo [3], phương pháp trích đăc
trưng được sử dụng là phương pháp LPC (Linear Predictive
Coding) Do đó, độ chính xác nhận dạng của hệ thống không
cao bằng việc sử dụng phương pháp MFCC Trong các bài báo
[3-6], hệ thống nhận dạng được thực hiện dựa trên mô hình
Markov ẩn (Hidden Markov Model – HMM) Ưu điểm của
các hệ thống nhận dạng sử dụng HMM là cho độ chính xác
nhận dạng cao, tuy nhiên, đi kèm với nó là sự phức tạp, khó
khăn trong thực hiện hệ thống và tốc độ thực thi hệ thống
chậm hơn so với phương pháp DTW Trong các bài báo
[9-11], hệ thống nhận dạng thực hiện dựa trên mô hình DTW và
được thực nghiệm trên ngôn ngữ tiếng Anh, độ chính xác nhận
dạng của hệ thống khi thực nghiệm đối với bộ từ vựng 4 từ là 90.1% [9], và 90.5% đối với bộ từ vựng gồm 10 từ [10] Trong bài báo của chúng tôi, hệ thống nhận dạng tiếng nói
sử dụng phương pháp nhận dạng DTW được áp dụng với ngôn ngữ tiếng Việt với ưu điểm là tốc độ nhận dạng nhanh, đơn giản, không yêu cầu bộ nhớ lớn với độ chính xác cao (cao hơn
so với hệ thống thực hiện bằng ngôn ngữ tiếng anh [9-10]) phù hợp trong các hệ thống điều khiển yêu cầu tốc độ đáp ứng nhanh và tài nguyên phần cứng hạn chế Đặc biệt, việc huấn luyện mẫu cho một từ chỉ yêu cầu một lần đọc, làm cho tính linh động của hệ thống rất cao Đồng thời, trong bài báo này, chúng tôi cũng tiến hành thực nghiệm với một người khác (không phải người huấn luyện) cho kết quả khả quan, chứng tỏ
sự linh hoạt và tiện dụng của hệ thống khi áp dụng với ngôn ngữ tiếng Việt mà không cần phải huấn luyện với tất cả người dùng như trong bài báo [11]
Phần còn lại của bài báo được tổ chức như sau: trong phần
II, chúng tôi trình bày tổng quan về hệ thống nhận dạng tiếng nói Quá trình các bước thực hiện hệ thống nhận dạng sẽ được
mô tả trong phần III Phần IV sẽ cung cấp kết quả đánh giá thực nghiệm và phân tích các kết quả đạt được Cuối cùng, các kết luận bài báo sẽ được trình bày trong phần V
II TỔNG QUAN HỆ THỐNG NHẬN DẠNG TIẾNG NÓI
A Mô hình nhận dạng tiếng nói
Sau khi tiếng nói được thu từ một microphone, quá trình phát hiện điểm bắt đầu và kết thúc của từ diễn ra trước khi tiếng nói được xử lý
Giải thuật nhận dạng tiếng nói bao gồm 2 phần chính Phần 1 là huấn luyện mẫu, phần 2 là quá trình chính nhận dạng tiếng nói Sơ đồ khối của mô hình nhận dạng tiếng nói được mô tả trong Hình 1
Nghiên cứu này được tài trợ bởi Bộ Khoa Học và Công Nghệ qua đề tài
có mã số KC.01.23/11-15
Trang 2Hình 1 Mô hình nhận dạng tiếng nói
B Phát hiện điểm bắt đầu và kết thúc
Phát hiện điểm bắt đầu và kết thúc của tiếng nói (tách tiếng
nói ra khỏi khoảng lặng) thường dựa trên hàm năng lượng thời
gian ngắn [7] Trong xử lý tiếng nói việc xác định khi nào bắt
đầu xuất hiện tín hiệu tiếng nói và khi nào kết thúc quá trình
nói rất cần thiết và quan trọng Nó tăng độ chính xác và làm
cho hệ thống tập trung vào việc phân tích và so sánh chính xác
mẫu tiếng nói, đồng thời nó cũng hạn chế đi nhiễu của môi
trường và các khoảng lặng làm ảnh hưởng đến hệ thống [7-8]
Mô hình phát hiện điểm bắt đầu và kết thúc tín hiệu tiếng nói
được mô tả trong Hình 2
Hình 2 Mô hình phát hiện điểm bắt đầu và kết thúc
Hàm năng lượng thời gian ngắn của tín hiệu tiếng nói được
tính bằng cách chia tín hiệu tiếng nói thành các khung, mỗi
khung dài N mẫu Nếu hàm cửa sổ bắt đầu xét ở mẫu thứ m thì
hàm năng lượng thời gian ngắn E mđược xác định như sau:
1 2 [ ( )]
m N m
n m
E x n
C Thuật toán trích đặc trưng MFCC
Thuật toán MFCC là thuật toán trích đặc trưng tiếng nói
hiện đại, đang được sử dụng rộng rãi bởi tính hiệu quả của nó
thông qua phân tích các hệ số cepstral theo thang đo Mel [7]
Giải thuật MFCC được xây dựng trên mô hình mô phỏng
lại quá trình cảm nhận âm thanh của tai người, dựa trên những
nghiên cứu về sự cảm nhận âm thanh ở những dải tần số khác
nhau Với các tần số thấp (dưới 1000Hz), độ cảm nhận của tai
người là tuyến tính Đối với các tần số cao hơn, độ cảm nhận
biến thiên theo hàm logarit Do đó, để thu được những đặc
trưng của tiếng nói, ta sử dụng các bộ lọc tuyến tính với dải
tần thấp và các bộ lọc có đặc tính logarit với dải tần số cao
Mô hình tính toán các hệ số MFCC được mô tả như Hình 3
Hình 3 Mô hình trích đặc trưng bằng MFCC 1) Tiền nhấn tín hiệu
Tiếng nói sau khi được số hóa sẽ được tiền nhấn (pre-emphasized) với bộ lọc đáp ứng xung hữu hạn (finite impulse response – FIR) bậc một vì pha của nó tuyến tính và thực thi đơn giản Việc sử dụng các bộ lọc pha tuyến tính rất quan trọng, vì pha của của tín hiệu sẽ không bị thay đổi, chỉ có cường độ của tín hiệu bị thay đổi, do đó những đặc điểm theo thời gian của tín hiệu sẽ được bảo tồn Do trong tiếng nói, các thành tố thấp hơn thường chứa đựng nhiều năng lượng hơn, vì vậy nó được xem xét hơn khi mô hình hóa so với các thành tố cao hơn Do đó, một bộ lọc pre-emphasis được dùng để
khuếch đại tín hiệu ở các tần số cao hơn Hàm truyền H(z) của
bộ lọc được cho bởi:
1
Để tạo được bộ lọc thông thấp a > 0 Thông thường, a được chọn trong khoảng 0.9 đến 1
2) Tách các khung
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 sau khi được lấy mẫu sẽ được nhóm thành những khoảng thời gian ngắn trong khoảng từ 20 đến 40 ms được gọi là các khung Để cho các thông số của khung ít thay đổi, thông thường sẽ có sự chồng lấp giữa các khung kế cận nhau
3) Bộ lọc cửa sổ
Một cửa sổ thường được ứng dụng để gia tăng tính liên tục giữa các khung kế cận nhau Những cửa sổ thường gặp như:
cửa sổ hình chữ nhật, cửa sổ Hamming, cửa sổ Hanning, cửa
sổ Kaiser, … Cả hai cửa sổ Hanning và Hamming đều có sự suy giảm cao hơn rất nhiều so với cửa sổ hình chữ nhật Ở cửa
sổ Hanning, đỉnh thứ 2 suy giảm 31dB so với đỉnh chính, và giảm 44dB ở cửa sổ Hamming Mặt khác, ở cửa sổ Hanning, các đỉnh phụ suy giảm khá nhanh, nhưng ở cửa sổ Hamming thì không, các đỉnh phụ gần như không đổi ở mọi tần số [7]
Do đó chúng ta thường sử dụng cửa sổ Hamming trong các
ứng dụng nhận diện giọng nói Các hệ số h(n) của cửa số
Hamming được tính như sau:
0.54 0.46* 2
0
n cos
(3)
Trang 34) Fast Fourier Transform (FFT)
Biến đổi Fourier nhanh (FFT) được dùng để chuyển tín
hiệu tiếng nói từ miền thời gian qua miền tần số Đó 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 Thuật toán FFT chỉ yêu cầu khối lượng tính
toán tỷ lệ với NlogN, trong khi đó DFT yêu cầu khối lượng
tính toán tỷ lệ với N2 Do đó, khi chiều dài mẫu N càng lớn, ưu
thế của FFT so với DFT càng thể hiện rõ
Độ phân giải tần số của FFT 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 FFT 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
FFT, phổ tần số được tạo ra bởi N điểm FFT bao gồm N/2
điểm 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
5) Bộ lọc Mel
Bộ lọc Mel mô hình hóa lại đáp ứng tần số của ốc tai
người Đáp ứng này tuyến tính với những tần số dưới 1kHz và
tỉ lệ với logarit đối với các tần số cao hơn Phương trình (4)
được dùng để biến đổi từ thang tần số thường sang thang tần
số Mel và phương trình (5) biến đổi từ thang tần số Mel về
thang tần số thường
1125log 1
700f Mel f
Mel m e
(5)
Băng thông bộ lọc thang đo Mel bao gồm các bộ lọc 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 (Hình 4) Trong nhận dạng tiếng nói, số bộ lọc là
một trong những thông số mà ảnh hưởng đến độ chính xác
nhận dạng của hệ thống [7]
Hình 4 Băng bộ lọc Mel, theo thang tần số Mel (a)
6) Cepstrum
Tín hiệu tiếng nói có thể được mô tả như là kết quả của phép tích chập giữa tín hiệu kích thích của thanh quản với đáp ứng xung của bó thanh âm Đáp ứng của bó thanh âm quyết định đường bao của phổ, trong khi đó phổ của tín hiệu kích thích biểu diễn các thành phần phổ của tiếng nói Đối với nhận dạng tiếng nói, đường bao của phổ hữu ích hơn các thành phần phổ [7]
Cepstrum được định nghĩa là phép biến đổi cosin rời rạc (DCT), được dùng để chuyển các hệ số Mel sau khi lấy logarithm trở về miền thời gian Kết quả của phép biến đổi này cho ta các hệ số đường bao phổ tín hiệu tiếng nói
1
log cos 0.5
K
k
p
k
Trong (6), C np là các hệ số cepstrum bậc p của khung n và S’ nk là giá trị tần số Mel thứ k của khung n Các hệ số
cepstrum bậc thấp tượng trưng cho đường bao của bó âm thanh, và các hệ số bậc cao tượng trưng cho các thành phần kích thích Do đó, trong các ứng dụng nhận dạng tiếng nói, chỉ
sử dụng từ 8 đến 16 hệ số cepstrum bậc thấp
7) Đạo hàm bậc 1 và bậc 2 Các hệ số cepstrum C np mô tả đường bao của bó âm thanh theo từng khung tín hiệu p riêng biệt nhưng không mô tả được tốc độ biến đổi của âm thanh theo thời gian Trong thực tế, tốc
độ biến thiên của các hệ số theo thời gian chứa một phần thông tin mà ta muốn truyền đạt [7] Để đặc trưng cho sự biến thiên đó, ta sử dụng các hệ số đạo hàm bậc 1 dn và đạo hàm bậc 2 d d( )n
2
10
n
2 ( )
10
n
D Giải thuật thời gian động DTW
Giải thuật DTW được xây dựng dựa trên cơ sở của kỹ thuật lập trình động (Dynamic Programming Techniques)
Giải thuật này thực hiện việc so trùng hai mẫu tín hiệu tiếng nói có đường bao tín hiệu khác nhau phi tuyến tính theo trục thời gian do hiện tượng kéo dãn hay co rút [1]
Hình 5 Biến dạng thời gian giữa 2 mẫu tín hiệu
Ở Hình 5, mỗi đường thẳng nối một điểm từ chuỗi tín hiệu
Trang 4chuỗi tín hiệu là giống hệt nhau, thì các đường nối sẽ song
song nhau Sự biến dạng về thời gian, làm cho các tổng
khoảng cách giữa các điểm tương ứng lớn lên và làm cho việc
nhận dạng bị sai lệch
Giả sử chúng ta có hai chuỗi tín hiệu Q và C với chiều dài
lần lượt là n và m:
1 2 3
1 2 3
, , , , , , , ,
n m
Để so sánh hai chuỗi tín hiệu, một ma trận n x m được hình
thành với các phần tử là khoảng cách cục bộ d(i,j) giữa hai
điểm q i và c j Khoảng cách cục bộ d(i,j) giữa hai điểm được
tính bằng đơn vị theo hệ Euclidean theo phương trình (9)
Việc sử dụng hệ đơn vị Euclidean có ưu điểm là dễ hiểu, dễ
tính toán, cho thấy rõ sự sai biệt lớn giữa chuỗi tín hiệu, nhưng
lại có khuyết điểm sẽ làm cho việc tính toán tăng độ phức tạp
so với các hệ đo lường khác, đồng thời cũng làm cho hệ thống
nhạy cảm với nhiễu [1]
, ( i j)2
Sau đó, ta sẽ tính sai biệt toàn cục của hai chuỗi tín hiệu
Để tính toán được sai biệt toàn cục nhỏ nhất giữa hai tín hiệu,
ta cần ước lượng tất cả khoảng cách có thể có, nhưng cách này
không hiệu quả khi số lượng khoảng cách có dạng hàm mũ
theo chiều dài của tín hiệu ngõ vào Thay vào đó, ta xem xét
những ràng buộc tồn tại trong quá trình so trùng và dùng
những ràng buộc này để có được giải thuật hiệu quả hơn [1]
Các ràng buộc được thiết lập phải không phức tạp và cũng
không hạn chế nhiều, như sau:
− Các khoảng cách so trùng không thể thực hiện
việc đi lui
− Mọi khung của tín hiệu cần so trùng phải được
dùng trong quá trình so trùng
− Các giá trị sai biệt cục bộ được kết hợp bằng
phương pháp cộng dồn vào giá trị sai biệt toàn
cục
Gọi D(i,j), d(i,j) là độ sai biệt toàn cục và sai biệt cục bộ
tại vị trí (i,j) D(i,j) được tính như sau:
, min 1, 1 , 1, , , 1 ,
D i j D i j D i j D i j d i j (10)
Với D(1,1) = d(1,1) là giá trị khởi tạo ban đầu, giải thuật
ứng dụng đệ qui vào việc tính toán các độ sai biệt tại D(i, j).
Giá trị cuối D(n,m) chính là giá trị chênh lệch giữa tín hiệu
mẫu và tín hiệu cần so sánh
Hình 6 Giải thuật tính DTW
Phương trình (10) có thể được thực hiện bằng phương pháp đệ quy Tuy nhiên, phương pháp này tốn nhiều thời gian thực hiện và gây lãng phí bộ nhớ Để cải tiến những nhược điểm trên, một phương pháp khác sử dụng hai vòng lặp và hai mảng để lưu trữ các cột của ma trận thời gian – thời gian và cột của ma trận trước đó (Hình 6)
III THỰC HIỆN HỆ THỐNG Mặc dù tai người có thể nghe được âm thanh với tần số từ 20Hz tới 20KHz, nhưng tai người chỉ nhạy với các tần số nhỏ hơn 5kHz và với chất lượng của âm thanh thoại thì sẽ có băng thông giới hạn là 4kHz Với lí do này, chúng tôi sử dụng băng thông 4KHz trong đề tài này và tần số lấy mẫu ở đây là 8KHz
A Phát hiện điểm bắt đầu và kết thúc
Bước 1: Sau khi thu mẫu tín hiệu tiếng nói, ta chia chúng
thành các khung nhỏ hơn để tiện cho việc tính toán Chúng tôi
sử dụng 80 mẫu trong mỗi khung và chống lấp 50% giữa các khung với nhau, tương đương với 5ms cho mỗi khung tín hiệu
Bước 2: Ta tính năng lượng của một khung tín hiệu theo
(1)
Bước 3: Ta sẽ thu một tín hiệu nền và tính giá trị ngưỡng
so sánh sử dụng phương trình (11)
N
N
Giá trị ngưỡng được chọn cao hơn so với giá trị trung bình của tín hiệu nền Trong đề tài này, chúng tôi chọn µ = 0.1
Bước 4: Sau khi đã có tín hiệu nền, ta bắt đầu thu và phân
tách tín hiệu Tất cả những khung có mức năng lượng cao hơn mức ngưỡng chính là tiếng nói, những khung có mức năng lượng thấp hơn là nhiễu hoặc các khoảng lặng Việc sử dụng các hệ số năng lượng làm ngưỡng để xác định điểm bắt đầu có thể giảm nhiễu ngẫu nhiên trong thời gian ngắn, bởi một từ tiếng nói thông thường dài hơn 200ms, do đó chúng tôi sử dụng thêm số lượng khung để làm ngưỡng loại bỏ các nhiễu trong thời gian ngắn
Trang 5B Trích đặc trưng bằng thuật toán MFCC
Bước 1: Tiền nhấn tín hiệu theo phương trình (2) Trong
đề tài này, chúng tôi sử dụng hệ số a = 0.97
Bước 2: Chúng tôi nhóm tín hiệu vào các khung có chiều
dài 25ms với 10ms chống lấn Với tốc độ mẫu 8kHz, ta sẽ có
200 mẫu trong một khung với 80 mẫu chống lấn giữa các
khung
Bước 3: Áp dụng cửa sổ Hamming 200 điểm lên tín hiệu
tiếng nói
trong đó f n (l) là khung được pre-emphasis thứ n, ham(l) thay
cho cửa sổ Hamming, và wf n (l) là khung thứ n sau khi qua cửa
sổ Hamming
Bước 4: Khi các frame được cửa sổ hóa với chiều dài là
200 điểm, chiều dài FFT đượ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 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
Bước 5: Chúng ta xác định các hệ số H n của bộ lọc bằng
phương trình (13) với f[n] được tính từ phương trình (4) và
(5)
( [ 1] [ 1])*( [ ] [ 1])
2*( [ 1] )
0
[
( [ 1] [ 1])*( [ 1] [ ])
0
]
m
k f m
f m
H k
,k f m 1
Trong đề tài này, chúng tôi sử dụng Mel cho thang tần số
từ 300Hz – 4000Hz để loại bỏ nhiễu tần số thấp dưới 300Hz
cho thiết bị thu âm gây ra
Bước 6: Tính các hệ số cepstrum theo phương trình (6),
trong đề tài này chúng tôi sử dụng 13 hệ số cepstrum bậc thấp
Bước 7: Tính đạo hàm bậc 1 và bậc 2 theo phương trình
(7) và phương trình (8)
Tín hiệu tiếng nói được trích đặc trưng bằng giải thuật
MFCC Đối với nhận dạng từ đơn, do mỗi từ phát âm dài
không quá 500ms sẽ tạo thành tối đa 24 khung tín hiệu, mỗi
khung tín hiệu có 39 hệ số gồm 13 hệ số cepstrum, 13 hệ số
đạo hàm bậc 1 và 13 hệ số đạo hàm bậc 2 Do đó vec-tơ đặc
trưng của mỗi từ có tối đa 936 hệ số, những hệ số này sẽ được
lưu lại làm mẫu hoặc dùng làm ngõ vào tín hiệu so sánh với
các mẫu đã thu
C So sánh mẫu bằng giải thuật DTW
Bước 1: Tính toán các phần tử của ma trận DTW cũng là
các sai biệt cục bộ giữa các điểm của chuỗi cepstrum tín hiệu tiếng nói và tín hiệu mẫu theo phương trình (9)
Bước 2: Tính tại cột 0, bắt đầu từ đáy của mảng Giá trị sai
biệt toàn cục của ô đáy mảng 0 bằng chính sai biệt cục bộ của
nó Sau đó, tính các giá trị toàn cục của các ô khác trong mảng bằng cách lấy giá trị cục bộ của ô đó cộng với sai biệt toàn cục của ô ngay dưới nó Mảng này đươc gọi là cột trước
Bước 3: Tính sai biệt toàn cục của ô đầu tiên của cột hiện
tại Sai biệt toàn cục của ô này chính là sai biệt cục bộ của nó cộng với sai biệt toàn cục của ô đầu tiên của cột trước nó
Bước 4: Tính sai biệt toàn cục cho các ô còn lại.
Bước 5: Cột hiện tài trở thành cột trước và lặp lại từ bước
3 cho đến khi tất cả các cột được tính toán xong Giá trị cuối của cột hiện tại cuối cùng chính là giá trị chênh lệch giữa tín hiệu mẫu và tín hiệu cần so sánh
IV KẾT QUẢ THỰC NGHIỆM VÀ BÌNH LUẬN Các thí nghiệm được thực hiện với hệ thống nhận dạng tiếng nói có bộ từ vựng lần lượt là 4 từ, 6 từ, 8 từ và 10 từ gồm các từ “một”, “hai”, “ba”, “bốn”, “năm”, “sáu”, “bảy”, “tám”,
“chín”, “mười” Mỗi từ được thử nghiệm 100 lần đọc Các kết quả thí nghiệm bao gồm tỉ lệ nhận dạng đúng của người đọc cũng là người huấn luyện và một người khác (nam, không phải người huấn luyện) thực hiện trong cùng một môi trường yên tĩnh, có tiếng gió nhẹ từ quạt máy được trình bày ở Hình 7, Hình 8, Hình 9, Hình 10 và thời gian nhận dạng được trình bày ở Bảng 1
Hệ thống nhận dạng tiếng nói được chạy trên Kit BeagleBone Black dựa trên vi xử lý lõi đơn AM335x 1GHz ARM Cortex-A8, 512 MB DDR3 RAM Các kết quả đánh giá
độ chính xác và tốc độ nhận dạng được thực hiện hoàn toàn trên kit này
80 85 90 95 100
"một" "hai" "ba" "bốn"
Người huấn luyện (Trung bình 96.25%) Người khác (Trung bình 91.25%)
Hình 7 Độ chính xác nhận dạng đối với hệ thống có bộ từ vựng 4 từ
Hình 7 biểu diễn độ chính xác nhận dạng của hệ thống nhận dạng tiếng nói có bộ từ vựng gồm 4 từ: “một”, “hai”,
“ba”, “bốn” Có thể nhận thấy rằng, độ chính xác nhận dạng của hệ thống là rất cao Đối với người thử nghiệm cũng là người huấn luyện, hệ thống đạt độ chính xác trung bình là 96.25%, trong khi người thử nghiệm là người khác (không
Trang 6huấn luyện mô hình) hệ thống đạt độ chính xác trung bình là
91.25%
82
84
86
88
90
92
94
96
98
100
"một" "hai" "ba" "bốn" "năm" "sáu"
Người huấn luyện (Trung bình 95.83%)
Người khác (Trung bình 91.83%)
Hình 8 Độ chính xác nhận dạng đối với hệ thống có bộ từ vựng 6 từ
70
75
80
85
90
95
100
"một" "hai" "ba" "bốn" "năm" "sáu" "bảy" "tám"
Người huấn luyện (Trung bình 90.875%)
Người khác (Trung bình 85.375%)
Hình 9 Độ chính xác nhận dạng đối với hệ thống có bộ từ vựng 8 từ
Hình 10Độ chính xác nhận dạng đối với hệ thống có bộ từ vựng 10 từ
Bảng 1 Thời gian nhận dạng của người huấn luyện và người khác
Số lượng mẫu dạng trung bình củaThời gian nhận
người huấn luyện
Thời gian nhận dạng trung bình của người khác
4 mẫu 0.384s 0.445s
6 mẫu 0.47s 0.521s
8 mẫu 0.593s 0.746s
10 mẫu 0.648s 0.842s
Như các kết quả được đưa ra trong Hình 7, Hình 8, Hình 9,
Hình 10, ta có thể nhận thấy rằng khi bộ từ vựng được tăng
dần lên thì độ chính xác nhận dạng của hệ thống càng giảm
dần Do đó, hệ thống nhận dạng sử dụng phương pháp DTW
chỉ thích hợp trong các ứng dụng với bộ từ vựng nhỏ, điều
khiển đơn giản với đáp ứng nhanh Ngoài ra, kết quả nhận
dạng của hệ thống với một người khác (không phải là người
huấn luyện) cho tỉ lệ khá cao Với kết quả này, cộng với việc
hệ thống chỉ cần huấn luyện mỗi từ với một lần đọc duy nhất làm cho tính linh động của hệ thống rất cao, dễ sử dụng và linh hoạt, rất phù hợp với các thiết bị điều khiển cầm tay với các giới hạn về tài nguyên phần cứng
Bảng 1 cho thấy thời gian nhận dạng của một từ tăng dần khi bộ từ vựng của hệ thống tăng lên Điều này là do khi bộ từ vựng tăng, số mẫu cần so sánh, tham chiếu cũng tăng lên, làm cho số lượng tính toán tăng Tốc độ nhận dạng còn phụ thuộc vào cách phát âm của người đọc Đọc chậm và kéo dài sẽ dẫn đến thời gian nhận dạng lâu hơn
V KẾT LUẬN Bài báo này trình bày một mô hình nhận dạng từ đơn đơn giản, dễ thực hiện bằng phương pháp trích đặc trưng MFCC
và so sánh mẫu DTW Các kết quả thí nghiệm với bộ thư viện nhỏ từ 10 từ trở xuống đã chứng minh được mô hình đem lại kết quả nhận dạng cao với ưu điểm nổi bật là thời gian nhận dạng nhanh Tuy nhiên, mô hình nhận dạng bị phụ thuộc vào cách phát âm của người nói, nên khi cần mở rộng bộ thư viện,
sự tương đồng giữa các từ làm hiệu suất nhận dạng bị giảm xuống Do đó, đối với các bộ thư viện lớn hơn, cần các kết hợp với các phương pháp so sánh mẫu khác như Mô hình chuỗi Markov ẩn, phương pháp Mạng Nơtron để tăng hiệu suất nhận dạng
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thanh Bình, Võ Nguyễn Quốc Bảo, "Xử Lý Âm Thanh Và Hình
Ảnh", Học Viện Công Nghệ Bưu Chính Viễn Thông, 2007
[2] Lê Tiến Thường, Hoàng Đình Chiến, "Vietnamese Speech Recognition
Applied to Robot Communications", Au Journal of Technology, Volume
7 No 3 January 2004.
[3] V Amudha, B.Venkataramani, R Vinoth kumar, S Ravishankar:
“Software/Hardware Co-Design of HMM based Isolated Digit Recognition System.” In: Journal of Computers, VOL 4, No 2, pp
154-159, (2009).
[4] Haitao Zhou, Xiaojun Han: “Design and Implementation of Speech
Recognition System Based on Field Programmable Gate Array” In:
Modern Applied Science, Vol 3, No 8, pp 106-111, August 2009 [5] Wei Han, Cheong-Fat Chan, Chiu-Sing Choy, Kong-Pang Pun: “An
Efficient MFCC Extraction Method in Speech Recognition.” In: the 2006
IEEE International Symposium on Circuits and Systems (ISCAS), pp
145-148, Greece (2006).
[6] Wei Han: “A Speech Recognition IC with an Efficient MFCC Extraction
Algorithm and Multi-mixture Models”, the Chinese University of Hong
Kong, Doctor of philosophy thesis, September 2006.
[7] Xuedong Huang, Alex Acero, Hsiao-Wuen Hon, “Spoken language
processing: A guide to theory, algorithm, and system development”,
Prentice Hall PTR Upper Saddle River, NJ, USA ©2001
[8] Qi Li, Jinsong Zheng, Augustine Tsai, & Qiru Zhou, "Robust Endpoint
Detection and Energy Normalization for Real-Time Speech and Speaker Recognition", IEEE Transactions On Speech And Audio Processing,
Vol 10, No 3, March 2002.
[9] Rajesh Makhijani, Ravindra Gupta, “Isolated Word Speech Recognition
System Using Dynamic Time Warping” In: International Journal of
Engineering Sciences & Emerging Technologies, VOL 6, Issue 3, pp: 352-367, (2013).
[10] MarutiLimkar, RamaRao, VidyaSagvekar: “Isolated Digit Recognition
Using MFCC and DTW” In: International Journal on Advanced
Electrical and Electronics Engineering, Vol 1, Issue 3, pp 59-64, (2012) [11] Shivanker Dev Dhingra, Geeta Nijhawan, Poonam Pandit: “Isolated
Speech Recognition Using MFCC And DTW”, In: International Journal
of Advanced Research in Electrical, Electronics and Instrumentation Engineering, Vol 2, Issue 8, pp 4085-4092, (2013).