Top Banner
- 0 -
43

Dynamic Time Wraping

Dec 04, 2015

Download

Documents

youbemine56

Mô hình nhận dạng giọng nói sử dụng DTW và MFCC.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dynamic Time Wraping

- 0 -

Page 2: Dynamic Time Wraping

- 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

Page 3: Dynamic Time Wraping

- 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

Page 4: Dynamic Time Wraping

- 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

Page 5: Dynamic Time Wraping

- 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.

Page 6: Dynamic Time Wraping

- 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

Page 7: Dynamic Time Wraping

- 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.

Page 8: Dynamic Time Wraping

- 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:

Page 9: Dynamic Time Wraping

- 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ộ.

Page 10: Dynamic Time Wraping

- 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ố.

Page 11: Dynamic Time Wraping

- 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

Page 12: Dynamic Time Wraping

- 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.

Page 13: Dynamic Time Wraping

- 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

Page 14: Dynamic Time Wraping

- 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.

Page 15: Dynamic Time Wraping

- 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.

Page 16: Dynamic Time Wraping

- 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ừ

Page 17: Dynamic Time Wraping

- 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 đó

Page 18: Dynamic Time Wraping

- 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

Page 19: Dynamic Time Wraping

- 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

Page 20: Dynamic Time Wraping

- 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

Page 21: Dynamic Time Wraping

- 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

Page 22: Dynamic Time Wraping

- 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.

Page 23: Dynamic Time Wraping

- 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.

Page 24: Dynamic Time Wraping

- 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];

Page 25: Dynamic Time Wraping

- 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.

Page 26: Dynamic Time Wraping

- 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.

Page 27: Dynamic Time Wraping

- 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.

Page 28: Dynamic Time Wraping

- 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:

Page 29: Dynamic Time Wraping

- 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

Page 30: Dynamic Time Wraping

- 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.

Page 31: Dynamic Time Wraping

- 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

Page 32: Dynamic Time Wraping

- 31 -

3.2. Lưu đồ giải thuật

Hình 3.2. Lưu đồ giải thuật tổng quát

Page 33: Dynamic Time Wraping

- 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.

Page 34: Dynamic Time Wraping

- 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