- 0 -
- 1 -
MỞ ĐẦU
Cùng với sự phát triển của khoa học kĩ thuật, các phương tiện máy móc
hiện đại ra đời đòi hỏi việc điều khiển và vận hành ngày càng phải trở
nên dễ dàng và trực quan và nhanh chóng hơn. Việc tương tác trực tiếp
với các máy móc càng được đòi hỏi cao, trong đó, nhận dạng và điều
khiển bằng tiếng nói là một lĩnh vực kĩ thuật đang được chú trọng phát
triển.
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 song song với quá trình tiến hóa của con người. Đối với con người,
sử dụng tiếng nói là cách diễn đạt đơn giản và hiệu quả nhất. Ưu điểm
của 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 sau khi được phát ra. Bên cạnh đó,
tiếng nói là cách giao tiếp được sử dụng rộng rãi nhất.
Nhận dạng tiếng nói được nghiên cứu và phát triển trong 60 năm qua.
Tuy các nghiên cứu nhận dạng tiếng nói đã được nghiên cứu từ lâu và đã
đạt được nhiều kết quả to lớn. Song việc nghiên cứu nhận dạng Tiếng
Việt chỉ mới được nghiên cứu trong những năm gần đây. Do vậy, tôi đã
chọn đề tài: “Nhận dạng từ đơn sử dụng giải thuật MFCC và DTW”
Nội dung của đồ án gồm 3 chương:
Chương 1: Cơ sở lý thuyết nhận dạng tiếng nói
Chương 2: Các thuật toán sử dụng
Chương 3: Thực nghiệm
- 2 -
MỤC LỤCCHƯƠNG 1. CƠ SỞ LÝ THUYẾT NHẬN DẠNG TIẾNG NÓI..............4
1.1. Cơ chế phát âm...........................................................................................5
1.1.1. Đặc điểm của tiếng nói........................................................................6
1.1.2. Phổ và Formants..................................................................................7
1.2. Cơ chế thu nhận âm thanh..........................................................................8
1.2.1. Cấu tạo sinh học của tai.......................................................................9
1.2.2. Thuộc tính của thính giác....................................................................9
1.2.3. Phân tích tần số.................................................................................10
1.3. Mô hình nhận diện giọng nói....................................................................11
CHƯƠNG 2. CÁC THUẬT TOÁN SỬ DỤNG....................................132.1. Phát hiện điểm bắt đầu và kết thúc của từ bằng hệ số năng lượng..........13
2.2. Trích đặc trưng tiếng nói bằng giải thuật MFCC.....................................15
2.2.1. Mô hình trích đặc trưng.....................................................................15
2.2.2. Pre-emphasis......................................................................................15
2.2.3. Frame Blocking..................................................................................16
2.2.4. Windowing.........................................................................................17
2.2.5. FFT.....................................................................................................20
2.2.6. Mel filter bank....................................................................................21
2.2.7. Cepstral Analysis...............................................................................24
2.2.8. Deltas and Delta-Deltas.....................................................................25
2.2.9. Kết luận..............................................................................................25
2.3. So sánh mẫu.............................................................................................25
2.3.1. Mô hình so sánh mẫu.........................................................................26
2.3.2. Sai biệt cục bộ....................................................................................27
2.3.3. Sai biệt toàn cục................................................................................27
2.3.4. Kết luận chương.................................................................................29
CHƯƠNG 3. THỰC NGHIỆM..........................................................303.1. Giới thiệu phần cứng................................................................................30
3.2. Lưu đồ giải thuật......................................................................................31
3.3. Kết quả và nhận xét..................................................................................32
TÀI LIỆU THAM KHẢO..................................................................33
- 3 -
DANH MỤC HÌNH ẢNH Hình 1.1. Các khối cơ bản trong việc hình thành và xử lý tiếng nói.....................5
Hình 1.2. Mô hình tạo tiếng nói ở người...............................................................6
Hình 1.3. Biểu diễn âm /a/ và /i/ theo thời gian và phổ của chúng.......................8
Hình 1.4. Cấu trúc ngoại vi thu nhận âm thanh ở người.......................................9
Hình 1.5. Biểu diễn thang tần số Mel, thang tần sớ Bark và biến đổi song tuyến
tính
với α = 0,6.........................................................................................10
Hình 1.6. Mô hình nhận diện tiếng nói...............................................................12
Hình 2.1. Mô hình phát hiện điểm đầu và cuối của từ........................................14
Hình 2.2. Mô hình trích đặc trưng bằng giải thuật MFCC..................................15
Hình 2.3. Đáp ứng tần số của bộ lọc pre-emphasis.............................................16
Hình 2.4. Tạo các frame tiếng nói.......................................................................17
Hình 2.5. Cửa sổ Hanning (a) Đáp ứng tần số của cửa sổ Hanning (b) Cửa sổ
Hamming (c) Đáp ứng tần số của cửa sổ Hamming (d).....................................18
Hình 2.6. Bộ lọc Hamming 200 điểm..................................................................19
Hình 2.7. Tín hiệu sau khi qua bộ lọc Hamming.................................................19
Hình 2.8. Biểu diễn FFT 8 điểm..........................................................................20
Hình 2.9. Băng bộ lọc Mel, theo thang Mel (a) và theo thang tần số thông
thường (b)............................................................................................................21
Hình 2.10. Biến dạng thời gian giữa 2 mẫu tín hiệu...........................................26
Hình 2.11. Mô hình tổng quát giải thuật DTW....................................................27
Hình 2.12. Ba hướng có độ tương thích tốt nhất có thể đi đến từ ô (i, j).............28
Hình 2.13. Giải thuật tính DTW...........................................................................29
Hình 3.1. Sơ đồ kết nối phần cứng......................................................................30
Hình 3.2. Lưu đồ giải thuật tổng quát.................................................................31
DANH MỤC BẢNG BIỂU
Bảng 1.1. Tần số cơ bản của nam giới, nữ giới và trẻ em.....................................8
- 4 -
Chương 1. CƠ SỞ LÝ THUYẾT NHẬN DẠNGTIẾNG NÓI
Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó truyền
tải thông tin từ người nói đến người nghe một cách nhanh chóng. Do đó,
để có thể truyền tải thông tin một cách hữu hiệu và chính xác, việc tạo ra
và xử lý tiếng nói là hai khâu quan trọng không thể thiếu. Bắt đầu từ
thông tin giao tiếp được hình thành trong não bộ của người nói, các dây
thanh quản được kích hoạt để tạo ra tiếng nói mang thông tin. Người
nghe lắng nghe và xử lý âm thanh thu được thành những thông tin mà
não bộ có thể hiểu được. Người nói tiếp tục quản lý và điều khiển thanh
quản để tạo ra tiếng nói bằng cách lắng nghe chính tiếng nói của họ. Do
đó, trong các trường hợp người khiếm thính bẩm sinh, họ cũng đồng thời
không thể dùng tiếng nói giao tiếp được, vì họ không thể lắng nghe được
âm thanh do họ tạo ra nên không thể điều khiển và quản lý được thanh
quản của họ.
Chúng ta xem xét các khối tạo vào xử lý tiếng nói như Hình 1.1. Tiếng nói
bắt đầu từ thông tin muốn trao đổi được hình thành trong não bộ. Các
thông tin được xử lý, tạo thành những thông điệp và được não bộ sắp xếp
thành câu, từ hoàn chỉnh. Mỗi từ chứa những âm vị khác nhau, và mỗi
câu là sự biển diễn các âm vị đó theo thời gian. Sau khi câu được hình
thành, tiến trình phát âm được bắt đầu. Tín hiệu thần kinh điều khiển
thanh quản, môi, lưỡi, hàm tạo ra tiếng nói và phát ra bên ngoài. Quá
trình nhận và xử lý tiếng nói thu được ngược lại với quá trình hình thành
tiếng nói. Trước tiên, tiếng nói đi vào ốc tai của người nghe, quá trình này
được miêu tả như những bộ tiền lọc xử lý âm thanh. Sau đó qua các khu
thần kinh và chuyển đổi phổ tiếng nói thành các tín hiệu với các đặc
trưng mà não bộ có thể hiểu được. Hiện nay, vẫn chưa rõ sự liên kết giữa
hoạt động của não bộ và hệ thống ngôn ngữ, cũng như cách mà não bộ có
thể hiểu được các ngôn ngữ ấy.
- 5 -
Hình 1.1. Các khối cơ bản trong việc hình thành và xử lý tiếng nói
Hiện nay, tín hiệu tiếng nói được mô hình hóa bởi các mô hình điện tương
tự, để tiện cho việc lấy mẫu và tìm đặc trưng dựa trên âm vị, âm tiết các
đặc tính của tiếng nói. Chương này sẽ tập trung trình bày khái quát
những cơ chế phát âm và thu nhận âm thanh ở người, từ đó suy ra mô
hình mô phỏng lại quá trình thu nhận âm thanh ở người.
1.1. Cơ chế phát âmTiếng nói là một dạng sóng đứng được tạo ra và lan truyền trong không
khí. Tiếng nói được tạo ra bởi áp suất của không khí phát ra từ mũi và
miệng. Trong các bản khảo sát về âm của hầu hết các ngôn ngữ trên thế
giới, thì âm được chia làm 2 loại cơ bản:
Phụ âm: là những âm được tạo ra do sự thắt lại của cuốn họng hoặc
những âm được tạo ra khi không khí bị cản lại bởi lưỡi, răng hoặc
môi.
Nguyên âm: là những âm được tạo ra mà không có sự thắt lại của
cuốn họng hay không bị cản bởi lưỡi, răng và môi
- 6 -
Hình 1.2. Mô hình tạo tiếng nói ở người
Ngoài ra, tiếng nói còn được chia thành nhiều nhóm nhỏ hơn dựa vào đặc
điểm quá trình phát âm. Những đặc điểm này xuất phát từ những tính
chất của các bộ phận tạo ra âm đó và vị trí đường biên của thanh quản
khi âm đó được phát ra. Như Hình 1.2, các bộ phân liên quan trực tiếp
đến việc phát âm như: phổi, khí quản, thanh quản, khoang họng, lưỡi,
miệng, môi, răng và mũi.
1.1.1. Đặc điểm của tiếng nói
Xét về bản chất, tiếng nói là một dạng sóng cơ học, nên xét trong một
khoảng thời gian rất nhỏ, có thể xem nó như một tín hiệu tuần hoàn với
các đặc điểm như: độ cao, cường độ, trường độ.
1.1.1.1. Độ cao
Độ cao hay còn gọi là độ trầm bổng của âm thanh chính là tần số của
sóng cơ học. Âm thanh nào phát ra cũng ở một độ cao nhất định. Độ trầm
bổng của âm thanh phụ thuộc vào sự chấn động nhanh hay chậm của các
phần tử trong không khí trong một đơn vị thời gian nhất định. Nói cách
khác, độ cao của âm phụ thuộc vào tần số dao động. Đối với tiếng nói, tần
số dao động của dây thanh quy định độ cao giọng nói của con người và
mỗi người có một độ cao giọng nói khác nhau.
Độ cao của nữ giới thường cao hơn so với nam giới và độ cao tiếng nói của
trẻ em cao hơn của nữ giới, điều này cũng tương tự đối với tần số của dây
thanh.
- 7 -
1.1.1.2. Cường độ
Cường độ chính là độ to nhỏ của âm thanh, cường độ càng lớn thì âm
thanh có thể truyền đi càng xa trong môi trường có nhiễu. Nếu xét trên
góc độ sóng cơ học thì cường độ chính là biên độ của dao động sóng âm,
nó quyết định cho năng lượng của sóng âm.
Trong tiếng nói, cường độ của nguyên âm phát ra thường lớn hơn phụ âm.
Do vậy chúng ta thường dễ phát hiện ra nguyên âm hơn so với phụ âm.
Tuy nhiên đối với tai người giá trị tuyệt đối của cường độ âm I không
quan trọng bằng giá trị tỉ đối của I so với một giá trị I0 nào đó chọn làm
chuẩn. Người ta định nghĩa mức cường độ âm L là logarit thập phân của
tỉ số I/I0: (đơn vị mức cường độ là Ben - kí hiệu là B)
L (B )=log( II 0
)(1.1)
1.1.1.3. Trường độ
Trường độ hay độ dài của âm phụ thuộc vào sự chấn động lâu hay nhanh
của các phần tử không khí. Cùng một âm nhưng trong các từ khác nhau
thì độ dài khác nhau.
1.1.2. Phổ và Formants
Dạng sóng của tiếng nói bao gồm hai phần: Phần gần giống nhiễu trong
đó biên độ biến đổi ngẫu nhiên và phần tuần hoàn. Phần tín hiệu có t ính
chu kỳ chứa các thành phần tần số có dạng điều hòa bao gồm thành phần
chính là tần số cơ bản và các hài bậc cao khác.
Để dễ dàng hơn, ta xem các dây thanh quản như những ống thẳng đồng
trục đóng kín ở phía cuối và hở ở môi. Sự dao động của không khí trong
các dây thanh quản được cộng hưởng và tạo ra tần số cộng hưởng hay tần
số cơ bản phát ra bên ngoài. Đối với những người nói khác nhau, tần số
cơ bản cũng khác nhau. Tần số cơ bản của trẻ em thường cao hơn so với
người lớn và của nữ giới cao hơn so với nam giới, Sau đây là một số giá trị
tần số cơ bản tương ứng với giới tính và tuổi:
- 8 -
Bảng 1.1. Tần số cơ bản của nam giới, nữ giới và trẻ em
Ngưởi nói Giá trị tần số cơ bản
Nam giới 80 – 200 Hz
Nữ giới 150 – 450 Hz
Trẻ em 200 – 600 Hz
Khi thanh quản thay đổi hình dạng, làm cho tần số cộng hưởng bị thay
đổi. Các hài nằm gần tần số cộng hưởng cũng hết sức quan trọng, việc
kết hợp giữa các tần số cộng hưởng và các hài trong khoang miệng tạo
nên những formants. Formants hay còn gọi là âm sắc, nó là sự khác biệt
của từng người, từng vùng miền, từng quốc gia. Mặc dù cùng một âm,
nhưng mỗi người khác nhau sẽ có cách phát âm ra không giống nhau
hoàn toàn.
Hình dưới mô tả tín hiệu trên miền thời gian và phổ của chúng (trên miền
tần số) của các nguyên âm a, i đỉnh đầu tiên của các phổ tương ứng với
tần số cơ bản F0
Hình 1.3. Biểu diễn âm /a/ và /i/ theo thời gian và phổ của chúng
1.2. Cơ chế thu nhận âm thanhHệ thống thu nhận âm thanh ở người gồm 2 phần chính: các cơ quan
ngoại vi thính giác thu nhận âm thanh (tai) và hệ thống thần kinh xử lý
âm thanh (não bộ). Tai thu nhận các tín hiệu dao động của không khí và
chuyển thành các rung động trên màng nhĩ và sau đó chuyển thành một
loạt các xung truyền qua dây thần kinh thính giác về trung tâm xử lý não
bộ.
- 9 -
1.2.1. Cấu tạo sinh học của tai
Tai người cấu tạo gồm 3 phần chính: tài ngoài, tai giữa và tai trong (Hình
1.4). Tai ngoài bao gồm phần nhìn thấy được và phần ống tai truyền dẫn
âm thanh được kết thúc ở màng nhĩ. Khi áp suất không khí truyền đến và
làm rung màng nhĩ ở cùng một tần số với sóng âm thanh tới. Tai giữa là
một khoang chứa đầy không khí được kết nối trực tiếp với mũi và cổ
họng. Các cửa sổ bầu dục như trong Hình 1.4 là một màng nhỏ nằm giữa
xương và tai trong (ốc tai). Nặng lượng từ tai giữa được truyền đi bằng
các chuyển động cơ học tác động trực tiếp vào các cửa sổ bầu dục này
vào ốc tai. Ốc tai kết nối trực tiếp với các thần kinh thính giác và truyền
các xung âm thanh tới não bộ. Ốc tai còn được coi những bộ lọc tần số với
ngõ ra được sắp xếp theo thứ tự để truyền đến não bộ.
Hình 1.4. Cấu trúc ngoại vi thu nhận âm thanh ở người
1.2.2. Thuộc tính của thính giác
Độ nhạy của thính giác người phụ thuộc phi tuyến vào tần số và chất
lượng của âm thanh. Thông thường, tai người chỉ nhạy tốt với những tần
số trong khoảng 4000Hz và ngưỡng tối đa mà tai người nghe được có thể
lên đến 13kHz. Mặc dủ vậy, ngưỡng tối đa lại quan hệ mật thiết với
những tần số cơ bản mà con người có thể phát ra được. Nếu một người có
thể phát ra những tần số cơ bản càng cao, thì ngưỡng tối đa họ có thể
nhận biết được càng cao. Tuy nhiên, sự khác biết giữa hai mức không phụ
thuộc vào ngưỡng tối đa, mà phụ thuộc vào ngưỡng tối thiếu. Ngưỡng
nhận biết cũng thay đổi theo cường độ âm thanh đối với những âm có
cùng tần số.
- 10 -
1.2.3. Phân tích tần số
Như đã trình bày ở 1.2.1, ốc tai được xem như các bộ lọc âm thanh. Các
nhà nghiên cứu đã thực hiện các thí nghiệm để xác định các thang đo tần
số mà con người có thể cảm nhận, từ đó có thể mô hình hóa hệ thống
thính giác của con người. Các thí nghiệm đều chỉ ra rằng, sự nhận biết
âm thanh của tai người không hoàn toàn tuyến tính theo tần số mà tỷ lệ
theo thang logarit.
Những nghiên cứu đáng chú ý trong việc mô hình hóa tai người như:
thang tần số Bark, thang tần số Mel, song tuyến tính. Và nghiên cứu được
quan tâm nhiều nhất và được áp dụng trong hầu hết các phương pháp
nhận biết âm thanh là là thang tần số Mel. Thang tần số Mel tuyến tính
với các tần số dưới 1kHz, và tỷ lệ với thang logarit với những tần số cao
hơn. Thang Mel dựa trên các thí nghiệm với những âm cơ bản. Những
người tham gia thí nghiệm được nghe những âm cơ bản và được yêu cầu
phân chia các âm đó vào các khoảng với những cao độ khác nhau, khoảng
sau có cao độ cao hơn một nửa so với cao độ trước. Với những lý do đó,
thang Mel được hy vọng sẽ là mô hình thích hợp hơn mô hình tuyến tính
để đại diện cho khả năng nhận biết âm thanh của tai người. Công thức
xấp xỉ của thang tần số Mel:
B ( f )=1125∗ln( f700 )(1.2)
Hình 1.5. Biểu diễn thang tần số Mel, thang tần sớ Bark vàbiến đổi song tuyến tính với α = 0,6
- 11 -
1.3. Mô hình nhận diện giọng nóiNhỉn chung các công trình nghiên cứu hiện nay tập trung và 3 phương
pháp tiếp cận chính để nhận dạng tiếng nói: ngữ âm học, nhận dạng mẫu
và ứng dụng trí tuệ nhân tạo.
Ngữ âm học: dựa vào lý thuyết về ngữ âm âm thanh, lý thuyết này
cho rằng tiếng nói tồn tại hữu hạn, các đơn vị âm thanh có thể phân
biệt được và được đặc trưng bởi một tập các tính chất biểu hiện cho
tín hiệu tiếng nói trong miền thời gian hay các tính chất phổ của
nó. Bước đầu tiên trong phương pháp ngữ âm học là phân đoạn và
gán nhãn, bước thứ hai là xác định từ hợp lệ từ dãy ngữ âm được
gán nhãn trong bước đầu tiên.
Nhận dạng mẫu: gồm hai bước chính là huấn luyện mẫu và so sánh
mẫu. Đặc tính chủ yếu của phương pháp này là sử dụng các cơ cấu
toán học rõ ràng và thiết lập sự biễu diễn thích hợp các mẫu tiếng
nói cho việc so sánh chính xác các mẫu huấn luyện. Tiếng nói có
thể được biễu diễn ở dạng mẫu tiếng nói hoặc một mô hình thống
kê, có thể được áp dụng cho một âm, một từ hoặc một nhóm từ.
Trong giai đoạn so sánh mẫu, có một sự so sánh trực tiếp giữa tiếng
nói chưa biết với mỗi mẫu được học trong giai đoạn huấn luyện để
xác định đặc tính của mẫu chưa biết. Hướng kết hợp mẫu trở thành
phương pháp nhận dạng rất phổ biến trong những năm 90.
Phương pháp trí tuệ nhân tạo: nghiên cứu cách học nói và học nghe
của con người, tìm hiểu các quy luật ngữ âm, ngữ pháp, ngữ nghĩa,
ngữ cảnh… và tích hợp chúng bổ sung cho các phương pháp khác
để nâng cao kết quả nhận dạng
Trong ba phương pháp trên, phương pháp nhận dạng mẫu được tập trung
nghiên cứu và phát triển bởi nó có 3 thuận lợi chính sau: đơn giản để hiểu
và dễ sử dụng; không thay đổi với các từ vựng tiếng nói, nhiều người
dùng, nhiều tập đặc trưng, các giải thuật so sánh mẫu và các quy luật
quyết định.
- 12 -
Trong hầu hết các hệ thống nhận dạng mẫu, có 3 bước chính:
Trích đặc trưng: đó chính là các giá trị đo đạt tín hiệu ngõ vào để
xác định mẫu thử,
So sánh mẫu: mẫu thử chưa biết được so sánh với mẫu thử tham
khảo mỗi lớp và tính toán sự tương đồng giữa mẫu thử kiểm tra với
mỗi mẫu thử tham khảo,
Quyết định logic: điểm số của sự giống nhau với mẫu tham khảo
được dùng để quyết định mẫu tham khảo phối hợp tốt nhất với mẫu
thử chưa biết.
Hình 1.6. Mô hình nhận diện tiếng nói
Phần “trích đặc trưng” chuyển tiếng nói chưa biết thành một các thông
số đại diện cho một mức độ thông tin thấp hơn dùng cho việc phân tích
đặc trưng tiếng nói sau này. Những thông số này được gọi là “những đặc
trưng”. Có nhiều phương pháp trích chọn các tham số đặc trưng nhưng nhìn chung các
phương pháp này dựa trên hai cơ chế: mô phỏng lại quá trình cảm nhận âm thanh của tai
người và mô phỏng lại quá trình tạo âm của cơ quan phát âm. Một vài loại thông số
đặc trưng được nghiên cứu như: các hệ số cepstrum trong thang tần số
Mel (MFCC), các hệ số cepstrum trong thang tần số tuyến tính (LFCC),
các hệ số dự đoán tuyến tính (LPC), các hệ số phản xạ (RC) và các hệ số
cepstrum được suy ra từ các hệ số dự đoán tuyến tính (LPCC),…Ngày
nay, các hệ số MFCC là một trong những đặc trưng thông dụng nhất bởi
vì nó xấp xỉ không tuyến tính sự cảm nhận của tai người về phổ tần số
của âm thanh vì vậy nó đạt chất lượng nhận dạng tốt hơn các thông số
đặc trưng khác.
Phần “so sánh mẫu” so sánh mẫu chưa biết với các mẫu tham khảo trong
thư viện hệ thống và các điểm số tương đồng giữa mẫu chưa biết với mỗi
mẫu tham khảo. Một phương pháp phổ biến cho phần này là dùng mô
hình Markov ẩn (HMM), phương pháp thời gian động (DTW), mạng Nơ-
ron (Neural Networks – NNs),… Trong đó, phương pháp DTW ra đời rất
- 13 -
sớm, và không yêu cầu bộ nhớ lớn nên rất hữu dụng khi thực hiện trên
phần cứng.
- 14 -
Chương 2. CÁC THUẬT TOÁN SỬ DỤNGCó thể chia cá hệ thống nhận diện tiếng thành 2 loại. Loại 1 là tiếng nói
xuất hiện mỗi khi có tác động vào hệ thống như sử dụng nút nhấn hay
một sự kiện nào đó để bắt đầu thu tiếng nói. Loại 2 là hệ thống chạy liên
tục, và tiếng nói xuất hiện bất ngờ. Điểm khác biệt chính giữa 2 loại là
việc xác định điểm bắt đầu và kết thúc của từ tiếng nói. Đối với hệ thống
loại 1, từ được đưa vào hệ thống do một sự kiện điều khiển, nên việc xác
định điểm bắt đầu và kết thúc cũng được xác định từ sự kiện. Nhưng với
hệ thống loại 2, từ xuất hiện ngẫu nhiên kèm theo các khoảng lặng, các
khoảng nhiễu, do đó, ta phải xác định rõ điểm bắt đầu và kết thúc từ, để
phân chia thành các từ đơn riêng lẻ rồi mới xử lý được.
Cả 2 hệ thống sau khi xác định được từ cần so sánh, sẽ đưa qua trích đặc
trưng của từ và so sánh với các mẫu có sẵn trong hệ thống.
Chương này sẽ trình bày các giải thuật được sử dụng trong đề tài, cách
tính toán chi tiết từ viết phát hiện điểm bắt đầu và kết thúc của từ bằng
các hệ số năng lượng, trích đặc trưng bằng giải thuật MFCC và so sánh
mẫu bằng giải thuật DTW.
2.1. Phát hiện điểm bắt đầu và kết thúc của từ bằng hệ số năng lượng
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.
Trong một môi trường nhiều tiếng ồn (nhiễu) hoặc môi trường nhiều
người nói thì việc phát hiện điểm bắt đầu và kết thúc rất khó khăn.
Việc phát hiện chính xác điểm bắt đầu và kết thúc của tiếng nói rất quan
trọng, nó đem lại nhiều ích lợi trong việc trích đặc trưng và so sánh mẫu.
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.
- 15 -
Hình 2.1. Mô hình phát hiện điểm đầu và cuối của từ
Một trong những phương pháp hiệu quả cho việc phát hiện điểm bắt đầu
và kết thúc của tiếng nói là dùng các hệ số năng lượng. 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. Thông thường ta chọn từ 50-100 mẫu cho 1 khung tín hiệu,
trong đề tài này, ta sử dụng 80 mẫu trong 1 khung và chống lấp 50% giữa
các khung với nhau, tương đương với 5ms cho 1 khung tín hiệu. Việc chọn
số mẫu trong một khung và phần trăm chồng lấn là sự đánh đổi giữa độ
chính xác và tốc độ của giải thuật. Sử dụng các khung tín hiệu nhỏ làm
tăng độ chính xác trong việc phát hiện điểm bắt đầu và kết thúc của tín
hiệu, nhưng nó cũng đồng thời làm chậm tốc độ tính toán của giải thuật
của chúng ta.
(a)Ta có công thức để tính năng lượng của một khung tín hiệu:
E ( t )=10 log10∑j=0
N
o ( j )2(2.1)
(b)Từ sơ đồ giải thuật trên, đầu tiến chung ta thu một tín hiệu nền và
tính giá trị ngưỡng so sánh bằng công thức
threshold=∑j=0
N
E ( j )
N∗(1+µ)(2.2)
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, ta chọn µ = 0,1. 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. Như đã trình bày, 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 đó có thể sử dụng thêm số lượng frame để làm ngưỡng
loại bỏ các nhiễu trong thời gian ngắn. Nhưng nếu các nhiễu xảy ra trong
thời gian dài, nó sẽ làm sai lệch việc xác định điểm bắt đầu và kết thúc từ
- 16 -
của chúng ta, gây ra sự sai lệch và giảm hiệu suất của hệ thống nhận
diện tiếng nói.
2.2. Trích đặc trưng tiếng nói bằng giải thuật MFCC
Một trong những công cụ mạnh được sử dụng trong việc phân tích tiếng
nói là phương pháp MFCC. 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ề dải thông
của tai người. Và để thu được những đặc trưng ngữ âm quan trọng, 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. Nội dung của chương này sẽ trình bày mô hình
để tính toán các hệ số MFCC, và ý nghĩa của từng bước tính toán.
2.2.1. Mô hình trích đặc trư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 4kHz. Với lí do
này, ta sẽ sử dụng băng thông 4KHz trong đề tài này và tần số lấy mẫu ở
đây là 8KHz.
Hình 2.2. Mô hình trích đặc trưng bằng giải thuật MFCC
2.2.2. Pre-emphasis
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. 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.
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 đó
- 17 -
những đặc điểm theo thời gian của tín hiệu sẽ được bảo tồn. Hàm truyền
của bộ lọc được cho bởi phương trình 2.4.
si'=si−a si−1(2.3)
H ( z )=1−az−1(2.4 )
|H (e jω )|2=|1+a (cosω− jsinω)|2=1+a2+2 acosω(2.5)
θ (e jω )=−arctan( asinω1+acosω)(2.6)
Từ phương trình 2.6, nếu a > 0 ta có bộ lọc thông thấp, và khi a < 0 nó là bộ lọc thông cao.
Như đã trình bày, chúng ta cần sử dụng bộ lọc thông thấp để tiền nhấn những thành phần tần
số thấp. Thông thường, a được chọn trong khoảng 0.9 đến 1. Trong đề tài này, ta chọn a =
0,97.
Hình 2.3. Đáp ứng tần số của bộ lọc pre-emphasis
2.2.3. Frame Blocking
Bởi vì tín hiệu tiếng nói là tín hiệu biến đổi chậm theo thời gian, trong
một hệ thống nhận dạng tiếng nói thì tiếng nói được phân đoạn thành
những khoảng thời gian ngắn được gọi là các frame. Để cho các thông số
của frame ít thay đổi, thông thường sẽ có sự chồng lấp giữa các frame kế
cận nhau, như có thể thấy ở Hình 2.4. Thông thường các frame sẽ có
chiều dài từ 20-40ms. Trong đa số các hệ thống thì mỗi frame dài 25ms
với 10ms chồng lấn là tiêu chuẩn phù hợp để có thể cân bằng giữa tốc độ
và độ chính xác. Do đó chúng ta cũng sẽ sử dụng các frame chiều dài
- 18 -
25ms với 10ms chồng lấn. Với tốc độ mẫu 8kHz, ta sẽ có 200 mẫu trong
một frame với 80 mẫu chống lấn giữa các frame.
Hình 2.4. Tạo các frame tiếng nói, mỗi frame gồm 200 mẫu với 80 mẫu chồng lấn giữa các frame
2.2.4. Windowing
Một cửa sổ thường được ứng dụng để gia tăng tính liên tục giữa các
frame kế cận nhau. 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 v..v…
(a)Công thức tổng quát của các cửa sổ có chiều dài N là:
h [ n ]={(1−a )−a∗cos ( 2 πnN
)
0
(b)Với a = 0, ta có cửa sổ hình chữ nhật:
h [ n ]={10(c) Với a = 0.5, ta có cửa sổ Hanning:
h [ n ]={0.5−0.5∗cos (2 πnN
)
0
- 19 -
(d)Với a = 0.46, ta có cửa sổ Hamming:
h [ n ]={0.54−0.46∗cos ( 2 πnN
)
0
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. Đỉnh thứ 2 suy giảm 31dB so với đỉnh chính ở
cửa sổ Hanning, 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ố.
Hình 2.5. Cửa sổ Hanning (a) Đáp ứng tần số của cửa sổ Hanning (b)
Cửa sổ Hamming (c) Đáp ứng tần số của cửa sổ Hamming (d)
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. Đáp ứng thời gian của bộ lọc Hamming 200 điểm
- 20 -
Hình 2.6. Bộ lọc Hamming 200 điểm
Hình 2.7. Tín hiệu sau khi qua bộ lọc Hamming
Hình 2.7 minh họa làm thế nào một cửa sổ Hamming được áp dụng lên
tín hiệu tiếng nói trong phân tích tiếng nói. Tiếng nói sau khi được chia
thành những frame có chiều dài 200 mẫu với 80 mẫu chồng lấp, 200 điểm
cửa sổ Hamming được nhân với mỗi frame theo từng mẫu. Các frame ngõ
ra cửa sổ được liên tục tại điểm đầu và điểm cuối của mỗi frame. Bước
này có thể được diễn giải bởi phương trình 2.7, trong đó f n ( l ) là frame
được pre-emphasis thứ n, ham(l) thay cho cửa sổ Hamming wf n (l ) là
frame thứ n sau khi qua cửa sổ Hamming.
200
mẫu
- 21 -
w f n ( l )=f n (l ) . ham ( l ) ,l=1, 2 , …,160(2.7)
2.2.5. FFT
Biến đổi Fourier nhanh (FFT) được dùng để tính toán phổ của tín hiệu
tiếng nói. Đó chính là sự thực thi phép biến đổi Fourier rời rạc (DFT) đạt
hiệu suất cao với điều kiện ràng buộc là phổ được đánh giá tại những tần
số rời rạc, những tần số này được nhân với FS/ N (các tần số trực giao với
nhau), trong đó FS là tần số lấy mẫu, N là chiều dài của DFT. Thuật toán
FFT chỉ yêu cầu khối lượng tính toán 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.
Hình 2.8. Biểu diễn FFT 8 điểm
Độ phân giải tần số của DFT bị giới hạn bởi 2 yếu tố: chiều dài của tín
hiệu và chiều dài của DFT. Nếu tín hiệu được tạo ra bởi việc cộng hai tín
hiệu sin mà tần số của hai tín hiệu này rất gần với nhau, khi đó để phân
biệt hai tần số này chúng ta phải quan sát tín hiệu với phân đoạn đủ dài.
Đối với chiều dài của DFT, phổ tần số được tạo ra bởi N điểm DFT bao
gồm N/2 điểm với cách đều nhau phân bố giữa 0 đến phân nửa tần số lấy
mẫu. Vì vậy để tách rời hai tần số có khoảng cách gần nhau thì khoảng
cách giữa các điểm phải nhỏ hơn khoảng cách giữa hai đỉnh. Khi các
frame được cửa sổ hóa với chiều dài là 200 điểm, chiều dài DFT được
thiết lập là 256 điểm để đạt được độ phân giải tần số tốt với khối lượng
tính toán có thể chấp nhận được khi thực thi 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.
- 22 -
2.2.6. Mel filter bank
Bộ loc 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 2.8 biến đổi từ thang tần số thường sang thang
tần số Mel và phương trình 2.9 biến đổi từ thang tần số Mel về thang tần
số thường.
Mel ( f )=1125 log(1+ f700 )(2.8)
Mel−1 (m )=700 (em
1125−1)(2.9)
Băng thông bộ lọc thang đo Mel thông thường trong nhận dạng tiếng nói
bao gồm các bộ lọc bandpass hình tam giác được phân bố bên trong băng
thông tín hiệu. Chúng được cách đều nhau trên thang Mel và băng thông
của chúng được thiết kế sao cho điểm 3dB nằm ở khoảng giữa hai bộ lọc
kế cận nhau. Hình 2.9 cho thấy các bộ lọc này trên thang Mel và trên
thang tần số thông thường tương ứng.
Hình 2.9. Băng bộ lọc Mel, theo thang Mel (a)và theo thang tần số thông thường (b)
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. Trong các ứng dụng nhận diện giọng nói thường
sử dụng từ 24-40 bộ lọc Mel. Trong đề tài này, ta sử dụng 26 bộ lọc Mel
cho thang tần số từ 300Hz – 4000Hz.
- 23 -
Chúng ta xác định các hệ số của bộ lọc bằng công thức
Hm [ k ]={0 , k< f [m−1]
( 2∗(k−f [m−1 ])( f [ m+1 ]−f [ m−1 ] ) ( f [ m ]−f [ m−1 ] ) ) , f [ m−1 ]<k< f [m ]
( 2∗(f [ m+1 ]−k )(f [ m+1 ]−f [ m−1 ]) (f [ m+1 ]−f [m ] ) ) , f [ m ]<k< f [m+1]
0 , k> f [m+1]
(2.10)
Trong đề tài này, chúng ta sử dụng Mel cho thang tần số từ 300Hz-
4000Hz. Với các bộ lọc sau khi tính toán từ phương trình 2.10 như sau:
H [1]=0.5× f [10]+ f [11]+0.5 × f [12];
H [2]=0.5× f [12]+ f [13]+0.5 × f [14 ];
H [3]=0.5 × f [14 ]+ f [15]+0.5 × f [16];
H [4 ]=0.5× f [14 ]+ f [15 ]+0.667 × f [16]+0.333× f [17 ];
H [5]=0.333 × f [18 ]+0.667 × f [19]+ f [20]+0.5 × f [21];
H [6]=0.5 × f [21]+f [22]+0.667 × f [23]+0.333 × f [24];
H [7]=0.333 × f [23]+0.667 × f [24 ]+f [25 ]+0.667 × f [26]+0.333 × f [27 ];
H [8]=0.333 × f [26]+0.667 × f [27 ]+f [28 ]+0.667 × f [29]+0.333 × f [30];
H [9]=0.333 × f [29]+0.667 × f [30]+ f [31]+0.667 × f [32]+0.333 × f [33];
H [10]=0.333 × f [32]+0.667 × f [33]+ f [34 ]+0.667 × f [35]+0.333 ×f [36 ];
H [11 ]=0.333 × f [35 ]+0.667 × f [ 36 ]+ f [37 ]+0.75× f [38 ]+0.5 × f [39]+0.25 × f [40];
H [12]=0.25× f [38]+0.5 × f [39 ]+0.75× f [40]+ f [41]+0.75× f [42]+0.5 × f [43]+0.25 × f [44 ];
H [13]=0.25× f [42]+0.5 × f [43 ]+0.75 × f [44 ]+f [45]+0.75 × f [46 ]+0.5 × f [47 ]+0.25× f [48];
H [14]=0.25× f [46 ]+0.5 × f [47]+0.75× f [48]+ f [49]+0.75 ×f [50 ]+0.5 × f [51]+0.25 × f [52];
H [15]=0.25× f [50 ]+0.5 × f [51]+0.75× f [52]+ f [53]+0.75× f [54 ]+0.5 × f [55]+0.25 × f [56];
H [16]=0.25× f [54]+0.5 × f [55]+0.75× f [56 ]+f [57 ]+0.8 × f [58]+0.6 × f [59]+0.4 × f [60]+0.2 × f [61];
H [17]=0.2 ×f [58 ]+0.4 × f [59]+0.6 × f [60 ]+0.8 × f [61]+f [62]+0.8× f [63 ]+0.6 × f [64]+0.4 × f [65]+0.2 × f [66];
H [18]=0.2× f [63 ]+0.4 × f [64 ]+0.6 × f [65]+0.8 × f [66 ]+ f [67 ]+0.8 × f [68]+0.6 × f [69]+0.4 × f [70]+0.2 × f [71];
- 24 -
H [19]=0.2× f [68 ]+0.4 × f [69]+0.6 × f [70]+0.8 × f [71]+ f [72]+0.833 × f [73]+0.667× f [74 ]+0.5 × f [75]+0.333 × f [76]+0.167 × f [77];
H [20]=0.167 × f [73]+0.333 × f [74]+0.5 × f [75 ]+0.667 × f [76]+0.833 × f [77]+ f [78]+0.833× f [79]+0.667 × f [80]+0.5 × f [81]+0.333 × f [82]+0.167 × f [83 ];
H [21]=0.167 × f [79 ]+0.333 × f [80]+0.5 × f [81]+0.667 × f [82]+0.833 ×f [83]+f [84]+0.833 × f [85 ]+0.667 × f [86]+0.5 × f [87 ]+0.333 × f [88]+0.167 × f [89 ];
H [22]=0.167 × f [85]+0.333 × f [86]+0.5× f [87 ]+0.667 × f [88]+0.833× f [89]+f [90]+0.857 × f [91]+0.714 × f [92]+0.571 × f [93]+0.429 × f [94 ]+0.286∗f [95]+0.143 × f [96];
H [23]=0.143 × f [91]+0.286 × f [92]+0.429 × f [93 ]+0.571× f [94]+0.714 × f [95]+0.857 × f [96 ]+f [97]+0.857 × f [98 ]+0.714 × f [99]+0.571× f [100]+0.429× f [101]+0.286× f [102]+0.143× f [103 ];
H [24 ]=0.143 × f [98]+0.286 × f [99]+0.429 × f [100]+0.571 × f [101]+0.714 × f [102]+0.857 × f [103 ]+ f [104 ]+0.875 × f [105]+0.750 × f [106]+0.625× f [107 ]+0.5 × f [108 ]+0.375 × f [109]+0.25 × f [110]+0.125 × f [111];
H [25]=0.125 × f [105 ]+0.25 × f [106]+0.375 × f [107]+0.5× f [108 ]+0.625 × f [109 ]+0.75 × f [110]+0.875× f [111]+ f [112]+0.875 × f [113 ]+0.75 × f [114 ]+0.625 × f [115 ]+0.5 × f [116 ]+0.375 × f [117 ]+0.25 × f [118 ]+0.125 × f [119 ];
H [26]=0.125 × f [113]+0.25× f [114 ]+0.375× f [115 ]+0.5 × f [116 ]+0.625 × f [117 ]+0.75× f [118 ]+0.875 × f [119]+ f [120]+0.875× f [121]+0.75 × f [122]+0.625 × f [123]+0.5× f [124 ]+0.375 × f [125]+0.25 × f [126]+0.125× f [127 ];
2.2.7. Cepstral Analysis
Tín hiệu tiếng nói s có thể được mô tả như là kết quả của phép tích chập
tín hiệu kích thích với đáp ứng xung của bó thanh âm, nó có thể được chia
thành 2 phần thông qua các phương trình dưới đây, với g là tín hiệu kích
thích và v là đáp ứng xung của bó âm thanh.
s=g⨂v (2.11)
S=G× V (2.12)
log S=log G+ log V (2.13)
Phương trình 2.11 chỉ ra mối quan hệ giữa g và v trong miền thời gian,
phương trình 2.12 chỉ ra mối quan hệ trong miền tần số. Sau khi lấy
logarithm 2 vế, chúng ta được phương trình 2.13, với tín hiệu kích thích
và đáp ứng xung của bó thanh âm được tách rời nhau. Đá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ổ, vì vậy
chúng ta có thể sử dụng phép biến đổi Fourier ngược để tìm đường bao
của phổ.
Cepstrum được định nghĩa là phép biến đổi Fourier ngược của các hệ số
công suất sau khi lấy logarithm. Nó có thể được đơn giản hóa như là phép
biến đổi DCT.
- 25 -
Cnp=[∑k=1
K
( log Snk' )cos( (k−0.5 ) pπ
k )] , p=1 , 2 , …, P(2.10)
trong đó p là bậc (thứ tự) của các hệ số cepstral. Với các hệ số thấp tượng
trưng cho đường bao của bó âm thanh, và các hệ số 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. Trong đề tài này,
ta sử dụng 13 hệ số cepstrum bậc thấp.
2.2.8. Deltas and Delta-Deltas
Các hệ số cepstrum mô tả đường bao của bó âm thanh theo từng frame
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. Để đặc trưng cho sự
biến thiên đó, ta sử dụng các hệ số đạo hàm bậc 1 và đạo hàm bậc 2.
Công thức tính đạo hàm bậc 1 được miêu tả như sau:
dn=2 (cn+2−cn−2 )+(cn+1−cn−1 )
10(2.14 )
d (d¿¿n)=2 (dn+2−dn−2 )+( dn+1−dn−1 )
10(2.15)¿
Để tính đạo hảm bậc 1 của frame thứ n, ta cần hệ số cepstrum của frame
thứ (n+2) đến frame thứ (n-2). Để tính đạo hàm bậc 2 của frame thứ n,
ta cần đạo hàm bậc 1 của frame thứ (n+2) đến frame thứ (n-2). Từ đó suy
ra, để có đạo hàm bậc 2 của frame thứ n, ta cần các hệ số cepstrum của
frame thứ (n+4) đến frame thứ (n-4).
2.2.9. Kết luận
Sau quá trình trích đặc trưng tiếng nói bằng giải thuật MFCC, một frame
200 mẫu đã được chuyển đổi thành một vector gồm 13 hệ số cepstral, 13
hệ số đạo hàm bậc 1 và 13 hệ số đạo hàm bậc 2. Với n frame có thể tạo ra
(n – 9) vector đặc trưng và 39(n – 9) các hệ số cepstral. Các vector đặc
trưng này sẽ được sử dụng trong quá trình so sánh mẫu.
- 26 -
2.3. So sánh mẫuQuá trình nhận dạng thực hiện việc so trùng tiếng nói nhận được với các
mẫu lưu trữ. Các mẫu có khoảng cách sai biệt thấp nhất so với mẫu tiếng
nói nhận được chính là từ được nhận dạng. Tuy nhiên, khi ta phát âm,
trường độ của âm sẽ bị thay đổi trong các trường hợp khác nhau. Do đó
các phép đo tương tự không thích hợp với những từ (tín hiệu) bị tịnh tiến,
co giãn biên độ hay biến dạng theo thời gian.
Hình 2.10. Biến dạng thời gian giữa 2 mẫu tín hiệu
Ta thấy, ở Hình 2.10, mỗi đường thẳng nối một điểm từ chuỗi tín hiệu
này, đến điểm tương ứng của chuỗi tín hiệu kia, do đó nếu cả 2 chuỗ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ải quyết vấn đề này, nhiều giải thuật so sánh đã ra đời. Một trong
các giải thuật đó là giải thuật mô hình thời gian động (Dynamic Time
Wraping - DTW) phổ biến trong những thập niên 1970 – 1980.
Chương này sẽ trình bày các bước để sử dụng giải thuật DTW so sánh 2
mẫu tín hiệu bị biến dạng về thời gian, các thông số sai biệt toàn cục và
sai biệt cục bộ và ý nghĩa của các bước.
2.3.1. Mô hình so sánh mẫu
Để có thể hiểu rõ về giải thuật DTW, trước tiên có 2 khái niệm cần được
làm rõ:
Điểm đặc trưng: là thông tin của từng tín hiệu.
Sai biệt: dạng đo lường được dùng để tính toán sự sai biệt của hai
tín hiệu, có 2 dạng sai biệt:
o Cục bộ: độ sai lệch giữa các điểm đặc trưng của một tín hiệu
với các điểm đặc trưng của một tín hiệu khác.
o Toàn cục: tổng độ sai lệch của một tín hiệu với một tín hiệu
khác.
- 27 -
Điểm đặc trưng trong đề tài này, chính là các vector đặc trưng có được từ
ngõ ra của giải thuật MFCC. Mô hình tổng quát của giải thuật DTW
Hình 2.11. Mô hình tổng quát giải thuật DTW
2.3.2. Sai biệt cục bộ
Các vector đặc trưng tiếng nói ở ngõ ra của giải thuật MFCC được đưa
trực tiếp vào ngõ vào của giải thuật DTW. Do các vector đặc trưng có thể
có nhiều phần tử phức tạp, do đó giá trị trung bình của việc tính toán cần
được thiết lập. Phép đo sai biệt giữa hai vector đặc trưng được tính toán
bằng đơn vị theo hệ Euclidean. Như vậy độ sai biệt cục bộ giữa vector
đặc trưng x của tín hiệu mẫu và vector đặc trưng y của tín hiệu tiếng nói
được cho bởi công thức
d ( x , y )=√∑ ( x i− y i )2(2.11)
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 vector đặc trưng của mẫu và vector đặc trưng
của tiếng nói, 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.
2.3.3. Sai biệt toàn cục
Như đã trình bày, tiếng nói phát ra sẽ có trường độ khác nhau, hoặc âm
tiết đồng âm nhưng khác nhau ở chỗ nhấn. Do đó, làm cách nào để có thể
tính được độ tương thích tốt nhất (có giá trị độ sai biệt toàn cục nhỏ nhất)
giữa tín hiệu cần so sánh và tiếng nói mẫu? Việc này được thực hiện bằng
cách ướ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 (hoặc có thể áp đặt các ràng buộc này) và dùng những
ràng buộc này để có được giải thuật hiệu quả hơn. 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:
- 28 -
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.
Mọi khung trong tín hiệu cần so trùng với mẫu tiếng nói được xem xét
ứng với từng tính toán độ sai biệt. Nếu thời điểm đang xét là (i, j) , với i là
chỉ số của khung tín hiệu ngõ vào, j là của khung tiếng nói mẫu, thì các vị
trí trước đó có thể là (i -1, j -1), (i -1, j), (i, j -1) . Ý tưởng chính của lập
trình động là tại vị trí (i, j), việc tính toán dựa trên độ sai biệt nhỏ nhất
của các vị trí (i -1, j -1), (i -1, j), (i, j -1).
Giải thuật lập trình động thực hiện cần phải đồng bộ thời gian: mỗi cột
của ma trận thời gian-thời gian được xem như là một sự kế vị các tính
toán trước đó, do đó, ứng với một mẫu tiếng nói có chiều dài N, số lượng
bước so trùng tối đa là N.
Gọi D (i , j ) , d (i , j ) tương ứng là độ sai biệt toàn cục và độ sai biệt cục bộ tại
vị trí (i,j).
D ( i , j )=min [ D (i−1 , j−1 ) , D ( i−1 , j ) , D ( i , j−1 ) ]+d ( i , j )(2.12)
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,N) 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, lưu ý rằng N sẽ
khác nhau ứng với mỗi template.
Hình 2.12. Ba hướng có độ tương thích tốt nhất có thể đi đến từ ô (i, j)
Phương trình 2.12 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
- 29 -
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 2.13. Giải thuật tính DTW
Giải thuật tìm chi phí toàn cục nhỏ nhất.
1. 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.
2. 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ó.
3. Tính sai biệt toàn cục cho các ô còn lại.
4. Cột hiện tài trở thành cột trước và lặp lại từ bước 2 cho đến khi tất
cả các cột được tính toán xong.
5. Sai biệt toàn cục của 2 mẫu là vị trí cuối cùng của cột cuối cùng.
2.3.4. Kết luận chương
Sau quá trình so sánh vector đặc trưng tiếng nói nhận được với các mẫu
lưu trữ. Với mỗi tín hiệu tiếng nói và một mẫu tín hiệu so sánh, ta có một
giá trị chênh lệch. Nếu có n tín hiệu mẫu, ta có n giá trị chênh lệch giữa
tín hiệu tiếng nói và n tín hiệu mẫu. Các giá trị chênh lệch này được lưu
trữ lại, và đưa ra quyết định lựa chọn xem mẫu nào phù hợp nhất với tín
hiệu đã thu.
- 30 -
Chương 3. THỰC NGHIỆMDựa vào các lý thuyết đã được trình bày ở trên, chương này trình bày
phần cứng và lưu đồ thuật toán ứng dụng trên BeagleBone Black của
hãng TI, kết quả đạt được.
3.1. Giới thiệu phần cứngĐề tài được phát triển trên kit BeagleBone Black rev C của Texas
Instruments. BeagleBone Black sử dụng vi xử lý AM3358 với nhân ARM
CortexTM-A8 tốc độ xử lý 1GHz. Beaglebone Black sử dụng hệ điều hành
Debian, ngoài ra còn có nhiều ngoại vi như: Ethernet, USB host, TF card,
serial, JTAG, HDMI D, EMMc, ADC, I2C, SPI, PWM.
Trong đề tài này, ta sử dụng Usb Audio 2.0 để thu tiếng nói.
Hình 3.1. Sơ đồ kết nối phần cứng
- 31 -
3.2. Lưu đồ giải thuật
Hình 3.2. Lưu đồ giải thuật tổng quát
- 32 -
3.3. Kết quả và nhận xétChương trình được thử nghiệm với 4 từ “một”, “hai”, “ba”, “bốn” cho độ
chính xác cao đến 90% trong môi trường tĩnh lặng tuyệt đối (không tiếng
ồn, không quạt). Hiệu suất giảm xuống khi mở rộng mẫu lên 10 từ hoặc
môi trường chứa nhiễu. Từ “một” và “bốn” thường bị nhầm lẫn với nhau.
Nhận xét: vốn từ thử nghiệm của bài toán còn nhỏ. Ưu điểm là chương
trình có thể cài đặt lại để thu những từ mới.
Hướng phát triển cho đề tài: thuật toán trích so sánh mẫu DTW chỉ
phù hợp với những hệ thống nhỏ, trên những hệ thống lớn thường sử
dụng mô hình Markov ẩn (HMM) là một cải tiến của giải thuật DTW, hoặc
mạng Nơ-tron Neural Network. Tuy nhiên, cần phải xem khả năng của
phần cứng có thể đáp ứng được khối lượng tính toán như thế nào.
Việc nhận dạng từ đơn, phụ thuộc vào sự khác nhau giữa các âm nhấn
của từ, nên với khối lượng mẫu lớn, sự giống nhau giữa các từ là không
thể tránh khỏi. Một cách tiếp tự nhiên, là dựa vào ngữ cảnh để đưa ra
quyết định cuối cùng.
- 33 -
TÀI LIỆU THAM KHẢO[1]. 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.
[2]. Sakoe, H. and Nippon Electric Company, Limited, Kawasaki, Japan
and Chiba, S, “Dynamic programming algorithm optimization for
spoken word recognition”, IEEE Transactions on Acoustics, Speech
and Signal Processing, vol.26.
[3]. Chin Kim On, Paulraj M. Pandiyan, Sazali Yaacob, Azali Saudi, “Mel-
Frequency Cepstral Coefficient Analysis in Speech Recognition”,
International Conference on Computing & Informatics, 2006. ICOCI
'06