Để cho máy tính có thể nghe được nhiều người đã gặp rất nhiều khó khăn với tín hiệu âm thanh trong hơn nửa thế kỷ qua trong lĩnh vực nhận dạng tiếng nói.. Trong một thập kỷ tiếp theo, vớ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN
Trang 2LỜI MỞ ĐẦU
Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó hình thành
và phát triển song song với quá trình tiến hóa của loài người Đối với con người, sử dụng lời nói là một cách diễn đạt đơn giản và hiệu quả nhất Ưu điểm của việc giao tiếp bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được người nghe hiểu ngay lập tức sau khi được phát ra Bên cạnh đó, tiếng nói là cách giao tiếp được sử dụng rộng rãi nhất
Để cho máy tính có thể nghe được nhiều người đã gặp rất nhiều khó khăn với tín hiệu âm thanh trong hơn nửa thế kỷ qua trong lĩnh vực nhận dạng tiếng nói Quá trình này được đánh dấu bằng các kết quả nghiên cứu đặc sắc trong lĩnh vực phân tích và xử lý tiếng nói, các ứng dụng thực tế khá hữu ích Tuy nhiên, nhận dạng tiếng nói được phát triển mạnh trên các thứ tiếng khác nhưng chưa được phát triển
và ứng dụng mạnh ở nước ta Do tình hình phát triển ở Việt Nam, để cho công cuộc nhận dạng tiếng nói thật sự được quan tâm, đầu tư và tạo thành các nhóm thí nghiệm chuyên nghiên cứu về nhận dạng tiếng nói thì thật sự gặp khó khăn
Luận văn này xây dựng với mong muốn góp phần thúc đẩy quá trình trên, bằng cách kế thừa các kết quả nghiên cứu đã đạt được và thông qua việc tìm hiểu các thành tựu nước ngoài, em mong rằng mình sẽ tìm tòi, học hỏi được nhiều kiến thức bổ ích trong lĩnh vực nhận dạng tiếng nói
Trang 3“người đồng hành” đã luôn ở bên em trong suốt thời gian qua
Lời cảm ơn đầu tiên, em xin gởi đến những người thân yêu trong gia đình, những người luôn luôn ủng hộ em không chỉ trong thời gian qua mà còn cả chặng đường tương lai phía trước
Kế đến, em gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Đình Cường, thầy đã tận tình hướng dẫn em trong suốt quá trình thực hiện đồ án
Bên cạnh đó, em cũng xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo
đã giảng dạy em trong hành trình bốn năm, những kiến thức mà em nhận được trên giảng đường đại học sẽ là hành trang giúp em vững bước trong con đường em sắp đi qua
Cuối cùng, em muốn gửi lời cảm ơn sâu sắc đến tất cả bạn bè, những người luôn kịp thời động viên và giúp đỡ em vượt qua những khó khăn, cũng là những thành tố quan trọng mang đến cho em những ý nghĩa tốt đẹp của cuộc đời sinh viên
Em xin chân thành cảm ơn!
Nha Trang, ngày 23 tháng 06 năm 2013
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 5
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 6
LỜI MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 1
Khái niệm nhận dạng tiếng nói 1 1.1.
Sơ lược về âm thanh số 6
Trang 7Cơ sở lý thuyết 19 3.1.
Biến cố ngẫu nhiên 19
CHƯƠNG 4 NÂNG CAO KHẢ NĂNG NHẬN DẠNG 31
Các phương pháp nâng cao khả năng nhận dạng 31 4.1.
Giới thiệu công cụ HTK 35
5.1.1.
Các thành phần của công cụ HTK 36
5.1.2.
Trang 8Mô hình bài toán nhận dạng tiếng nói với HTK 37 5.2.
CHƯƠNG 6: KẾT QUẢ THỰC NGHIỆM CỦA BẢN THÂN 43
Nhận dạng dữ liệu tiếng Anh 43 6.1.
Những hạn chế 51 7.2.
Hướng phát triển trong tương lai 51 7.3.
TÀI LIỆU THAM KHẢO 53
Trang 9DANH MỤC CÁC BIỂU ĐỒ, HÌNH
Hình 2.1 Lấy mẫu tín hiệu 6
Hình 2.2 Kết quả biến đổi DFT 10
Hình 2.3 Tương quan giữa tần số (Hz) và Mel 12
Hình 2.4 Sơ đồ thuật toán rút trích đặc trưng MFCC 12
Hình 2.5 Phân khung dữ liệu 14
Hình 2.6 Làm trơn tín hiệu với hàm cửa sổ 15
Hình 2.7a Cửa sổ Hanning 15
Hình 2.7b Cửa sổ Hamming 16
Hình 2.7c Cửa sổ chữ nhật 16
Hình 2.7d Cửa sổ tam giác 16
Hình 2.8 Dãy bộ lọc Mel-Filter bank 17
Hình 3.1 Các thành phần của mô hình HMM 20
Hình 3.2 Ví dụ mô hình HMM 6 trạng thái 22
Hình 3.3 Mô phỏng thuật toán forward 24
Hình 3.4 Mô phỏng giải thuật backward 25
Hình 3.5 Mô phỏng thuật toán Viterbi 26
Hình 3.6 Mô hình Gaussian Mixture Model 28
Hình 5.1 Mô hình nhận dạng tiếng nói với HMM đơn giản 35
Hình 5.2 Các module và chức năng trong HTK 36
Hình 5.3 Các công cụ và chức năng trong HTK 37
Hình 5.4 Quá trình xây dựng mô hình HMM với HTK 38
Hình 5.5 Quá trình nhận dạng trên mô hình HMM với HTK 39
Hình 5.6 Mô hình HMM prototype cơ bản 41
Hình 6.1 Dữ liệu một file âm thanh Tiếng Anh 43
Trang 10Hình 6.2 Dữ liệu một file âm thanh Tiếng Việt 47
Biểu đồ 6.1 Kết quả nhận dạng dữ liệu Tiếng Anh 44
Biểu đồ 6.2 Kết quả nhận dạng dữ liệu Tiếng Anh đã thích nghi 45
Biểu đồ 6.3 Kết quả nhận dạng dữ liệu Tiếng Việt 48
Biểu đồ 6.4 Kết quả nhận dạng dữ liệu Tiếng Việt đã thích nghi 49
Trang 11KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
Từ viết tắt Giải thích
DCT Discrete Cosine Transform
Trang 121
CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI
Khái niệm nhận dạng tiếng nói
Trong những năm 50 và 60, hệ thống nhận dạng tiếng nói đầu tiên đã ra đời, lúc đó nó chỉ nhận dạng được ký tự số Năm 1952, Bell Laboratories thiết kế hệ thống “Audrey” có thế nhận ra các con số được phát âm bởi một giọng nói Mười năm sau, IBM giới thiệu một cỗ máy của họ - “Shoebox” - tại hội chợ 1962 World’s Fair, có thể hiểu được 16 từ tiếng Anh Các phòng thí nghiệm nghiên cứu ở Mĩ, Anh, Nhật cũng phát triển ra các phần cứng để nhận dạng tiếng nói Mặc dù kết quả không cao, nhưng những nỗ lực này là một khởi đầu ấn tượng, đặc biệt là trong thời
kỳ mà sức mạnh máy tính còn rất hạn chế
Những năm 1970, công nghệ nhận dạng tiếng nói đạt được những bước tiến lớn nhờ vào sự tài trợ của bộ quốc phòng Mĩ Chương trình nghiên cứu tiếng nói DARPA từ 1971 tời 1976 là một trong những chương trình về nhận dạng tiếng nói lớn nhất trong lịch sử Hệ thống nhận dạng “Happy” ra đời và có thể nhận dạng được đến 1011 từ, bằng lượng từ của một đứa bé 3 tuổi [1] Những năm 70 còn đánh dấu sự ra đời của công ty đầu tiên chuyên về nhận dạng tiếng nói – Threshold Technology, cũng như việc Bell Laboratories giới thiệu hệ thống có thế nhận diện tiếng nói của nhiều người
Trong một thập kỷ tiếp theo, với sự ra đời của một phương pháp tiếp cận khác được gọi là Hidden Markov Model (HMM), nhận dạng tiếng nói chuyển từ số lượng từ chỉ vài trăm lên tới hàng vài nghìn từ, và hướng tới nhận dạng số lượng từ không giới hạn Thay vì chỉ sử dụng các mẫu lưu trữ các từ để tìm kiếm, HMM tính toán xác suất để chuỗi âm thanh là một từ Đi cùng với việc mở rộng số lượng từ
Trang 13Những năm 1990, các bộ vi xử lý máy tính trở nên ngày càng mạnh mẽ hơn,
và các ứng dụng nhận dạng tiếng nói trở nên phổ biến hơn Năm 1990, công ty Dragon phát triển ứng dụng nhận dạng tiếng nói thương mại đầu tiên với giá lên tới 9000$, 7 năm sau, một phiên bản tiếp theo ra đời, cho phép nhận dạng tiếng nói liên tục, người nói có thể nói với tốc độ 100 từ/phút, tuy nhiên người dùng phải huấn luyện với thời gian 45 phút trước khi sử dụng [1] Cổng điện tử đầu tiên ứng dụng nhận dạng tiếng nói là VAL vào năm 1996, là một hệ thống nhận dạng qua điện thoại và cung cấp thông tin cho người gọi
Cho tới trước năm 2001 thì độ chính xác trong nhận dạng vẫn chỉ dừng lại ở mức 80% Trên Windows Vista và Mac OS X thời gian này đã được tích hợp ứng dụng điều khiển bằng giọng nói, tuy nhiên người dùng không mấy mặn mà vì độ chính xác không cao Cho tới khi ứng dụng nhận dạng tiếng nói “Google Voice Search” cho iPhone xuất hiện, công nghệ nhận dạng tiếng nói phát triển trở lại Sự xuất hiện ứng dụng của Google tác động tới sự phát triển của nhận dạng tiếng nói vì
2 lý do: Người dùng điện thoại sẽ có thêm một phương pháp nhập dữ liệu mới thay
vì bàn phím ảo bé xíu trên màn hình, và Google có khả năng chuyển việc xử lý nhận diện lên server của mình, nơi lưu trữ lượng dữ liệu khổng lồ, các data center có thể thực hiện các phân tích dữ liệu rất lớn
Năm 2010, Google thêm vào tính năng nhận diện cá nhân, cho phép người dùng thêm dữ liệu giọng nói cá nhân để tặng hiệu quả nhận dạng Tới nay, hệ thống nhận dạng tiếng nói của Google đã nhận dạng hơn 230 tỉ từ từ các yêu cầu của người dùng
Sự bùng nổ của ứng dụng nhận dạng tiếng nói cho thấy thời của nhận dạnh tiếng nói đã đến, và bạn có thể mong đợi những ứng dụng ngày càng mạnh mẽ hơn nữa Các ứng dụng không chỉ giúp điều khiển máy tính, chuyển từ tiếng nói sang chữ viết mà còn hỗ trợ đa ngôn ngữ, mà còn có thể giao tiếp với người nói
Trang 14Trái lại, đối với mô hình nhận dạng từng từ, mỗi từ cần nhận dạng được phát
âm một cách rời rạc, có các khoảng nghỉtrước và sau khi phát âm một từ Mô hình loại này dĩ nhiên đơn giản hơn mô hình nhận dạng liên tục, đồng thời cũng có những ứng dụng thực tiễn như trong các hệ thống điều khiển bằng lời nói, quay số bằng giọng nói…, với độ chính xác khá cao, tuy nhiên khó áp dụng rộng rãi đối với
mô hình trên
Nhận dạng phụ thuộc người nói và độc lập người nói
1.2.2.
Đối với nhận dạng phụ thuộc người nói thì mỗi hệ thống nhận dạng chỉ phục
vụ cho một người, và nó sẽ không hiểu người khác nói gì nếu như chưa được huấn luyện lại từ đầu Do đó, hệ thống nhận dạng phụ thuộc người nói khó được chấp nhận rộng rãi vì không phải ai cũng đủ khả năng, kiến thức và kiên nhẫn để huấn luyện hệ thống Đặc biệt là hệ thống này không thể ứng dụng ở nơi công cộng
Ngược lại, hệ thống nhận dạng độc lập người nói thì lý tưởng hơn, ứng dụng rộng rãi hơn, đáp ứng được hầu hết các yêu cầu đề ra Nhưng không may là hệ thống lý tưởng như vậy gặp một số vấn đề, nhất là độ chính xác của hệ thống
Trong thực tế, mỗi người có một giọng nói khác nhau, thậm chí ngay cùng một người cũng có giọng nói khác nhau ở những thời điểm khác nhau Điều này ảnh hưởng rất lớn đến việc nhận dạng, nó làm giảm độ chính xác của hệ thống nhận dạng xuống nhiều lần Do đó để khắc phục khuyết điểm này, hệ thống nhận dạng độc lập người nói cần được thiết kế phức tạp hơn, đòi hỏi lượng dữ liệu huấn luyện lớn hơn nhiều lần (dữ liệu phải từ nhiều giọng khác nhau của nhiều người) Nhưng
Trang 154
điều này cũng không cải thiện được bao nhiêu chất lượng nhận dạng, Do đó, trong thực tế có một cách giải quyết là bán độc lập người nói Phương pháp này thực hiện bằng cách thu mấy số lượng lớn các giọng nói khác nhau Khi sử dụng, hệ thống sẽ điều chỉnh cho phù hợp với giọng của người dùng, bằng cách cho nó học thêm một vài câu chứa các từ cần thiết (người dùng trước khi sử dụng hệ thống cần phải qua một quá trình ngắn huấn luyện hệ thống)
Các vấn đề cơ bản của bài toán nhận dạng tiếng nói
1.3.
Mặc dù nhận dạng tiếng nói đã phát triển hơn từ những năm 50 của thế kỷ trước và tới nay cũng đã có những thành công vượt bậc, nhưng bài toán vẫn còn tồn tại nhiều vấn đề ảnh hưởng tới hiệu quả nhận dạng
Chất lượng của tiếng nói có ảnh hưởng không nhỏ tới hiệu quả của một hệ thống nhận dạng tiếng nói Có nhiều yếu tố nhiễu ảnh hưởng tới chất lượng tiếng nói như:
Hệ thống thu âm: micro chất lượng kém gây méo tín hiệu, rè, thu không rõ,
Môi trường thu âm: môi trường có tiếng ồn nền, lẫn tiếng động khác tiếng nói, tiếng vang của âm thanh,
Người nói: tình trạng sức khỏe không tốt, nói lẫn tiếng thở, tiếng máy môi,
Cách phát âm, giọng đọc, nhịp điệu cũng là một vấn đề phổ biến của bài toán nhận dạng tiếng nói Một từ có thể được phát âm theo nhiều cách khác nhau tùy theo vùng miền, giới tính, tình trạng sức khỏe, tâm trạng, gây khó khăn cho các hệ thống nhận dạng Nhịp điệu cũng gây ảnh hưởng lớn tới kết quả nhận dạng khi mà người đọc đọc quá nhanh hay quá chậm so với thông thường
Mô hình bài toán nhận dạng tiếng nói
1.4.
Bài toán nhận dạng tiếng nói cơ bản có thể được chia thành 2 phần: Xây dựng mô hình và nhận dạng
Trang 165
Hình 1.1: Mô hình bài toán nhận dạng tiếng nói cơ bản Hướng tiếp cập chính hiện nay là sử dụng các phương pháp máy học dựa trên thống kê để học và xây dựng nên mô hình nhận dạng từ lượng lớn dữ liệu, chủ yếu
là dựa vào mô hình Markov ẩn (HMM) Hướng tiếp cận bài toán nhận dạng tiếng nói của luận văn cũng dựa trên mô hình nhận dạng HMM
Trang 17Âm thanh là dạng tín hiệu tương tự, nhưng để lưu trữ được trên máy tính thì
nó phải được số hóa Dữ liệu âm thanh số có 2 dạng chính là âm thanh nén và không nén Âm thanh số dạng nén cũng có 2 loại nhỏ là nén có sự mất mát (lossy)
và không có sự mất mát (lossless)
Để chuyển từ tín hiệu tương từ về tín hiệu số, âm thanh cần được lấy mẫu Trong xử lý tín hiệu,lấy mẫulà chuyển đổi một tín hiệu liên tụcthành mộttín hiệu rời rạc Một ví dụ phổ biến là việc chuyển đổi của mộtsóng âm thanh(một tín hiệu liên tục) thành một chuỗi các mẫu (một tín hiệu thời gian rời rạc)
Một mẫu chứa một giá trị hoặc tập hợp các giá trị tại một điểm trên trục thời gian (và/hoặc không gian) Tín hiệu âm thanh là tín hiệu theo thời gian Hình 2.1
mô tả tín hiệu được lấy mẫu
Hình 2.1 Lấy mẫu tín hiệu
Ví dụ là một tín hiệu liên tục được lấy mẫu, và việc lấy mẫu được thực hiện bằng cách đo các giá trị của tín hiệu liên tục sau thời điểm mỗi T giây , T được gọi là khoảng thời gian lấy mẫu Như vậy, tín hiệu sau khi được lấy mẫu được đưa ra bởi công thức 2.1 sau:
Trang 18
7
Thời gian lấy mẫu T càng nhỏ thì chất lượng âm thanh được giữ lại càng cao
so với tín hiệu tương tự ban đầu Liên quan với thời gian lấy mẫu là tần số lẫy mẫu – số lần lấy mẫu trong 1 giây Tần số lấy mẫu và thời gian lấy mẫu có mối liên hệ theo công thức 2.2
Nhỏ hơn nhiều lần so với tín hiệu gốc (nhằm ít chiếm bộ nhớ, giảm thời gian
xử lý, )
Có khả năng diễn đạt thông tin tiếng nói ban đầu
Ít thay đổi theo môi trường, độ ồn nền,
Có nhiều dạng đặc trưng, nhưng có thể phân làm 3 nhóm chính:
Đặc trưng trích ra nhờ sự mô phỏng bộ máy phát âm của con người Các đặc trưng của nhóm này sử dụng phương pháp dự báo tuyến tính để rút trích đặc trưng Các đặc trưng thuộc nhóm này như:
o Autocorrelation coefficients (COR): Đưa ra bởi Box và Jenkins năm
1976 [2]
o Linear Prediction coefficients (LPC): Đưa ra độc lập bởi Atal và Itakura những năm 1970 [5]
o Perceptional Linear Prediction (PLP) [4]
Đặc trưng trích ra dựa trên khả năng cảm nhận của thính giác con người Các đặc trưng của nhóm này sử dụng phương pháp phân tích cepstral (phép biến đổi Fourier của phổ năng lượng tín hiệu) Các đặc trưng thuộc nhóm này như:
o Line Spectrum Pairs (LSP): Đưa ra bởi Fumitada Itakura những năm
1970 [9]
Trang 19Các đặc trưng của nhóm 3 ít được sử dụng cho nhận dạng âm tiết mà đa phần
là hai nhóm đầu Trong khuôn khổ luận văn, đặc trưng MFCC được sử dụng để rút trích đặc trưng tiếng nói
Biến đổi Fourier rời rạc (DFT)
2.1.3.
Biến đổi Fourier được dùng để biến đổi tín hiệu từ miền thời gian (tín hiệu
âm thanh) về miền tần số (mức năng lượng theo tần số) Biến đổi DFT là một biến thể của biến đổi Fourier trên dãy tín hiệu lấy mẫu có độ dài xác định
Với tín hiệu liên tục (tín hiệu tương tự) , biến đổi Fourier của tín hiệu được thực hiện bởi công thức 2.5:
∫
Giả sử tín hiệu tương tự được lấy mẫu điểm với thời gian lấy mẫu T, lúc này ta có N mẫu như sau: , , , , , Biến đổi Fourier trên tín hiệu đã lấy mẫu hay còn gọi là biến đổi DFT được thực hiện bởi công thức 2.6
bộ tín hiệu nằm trong một chu kỳ, vậy giá trị sẽ là Hay:
Trang 209
Công thức biến đổi DFT được viết lại thành công thức 2.7:
)Với và
Ví dụ: Tín hiệu được lấy mẫu 4 điểm Công thức biến đổi DFT sẽ là:
∑
∑
(
) (
) (
) (
)
Độ lớn của các hệ số sau khi biến đổi DFT được thể hiện trong hình 2.2
Trang 2110
Hình 2.2 Kết quả biến đổi DFT
Với , công thức biến đổi DFT cũng có thể được viết dưới dạng tổng của các hàm và ở công thức 2.8 Trong đó, thành phần thế hiện phần số thực, và thành phần thể hiện phần số phức
∑ [ ( * ( *]
∑ ( *
∑
Về cơ bản, DCT là một biến đổi họ Fourier, gần giống với DFT, nhưng chỉ tính toán trên số thực (DFT tính toán trên số phức) Vì đặc tính “nén năng lượng” mạnh của mình, DCT thường được sử dụng trong xử lý tín hiệu và xử lý ảnh, đặc biệt là nén dữ liệu có sự mất mát (lossy compression), ví dụ như âm thanh chuẩn MP3 hoặc nén ảnh JPEG
Giống như các biến đổi Fourier, DCT biểu diễn một tín hiệu dưới dạng tổng các đường cong khác nhau về tần số và độ lớn DCT cũng thực hiện biến đổi trên một tín hiệu hữu hạn (tín hiệu lấy mẫu), điểm khác so với DFT là DCT chỉ biểu diễn dưới dạng tổng của các hàm (chỉ có phần thực) Biến đổi DCT có 8 phiên bản khác nhau, phổ biến nhất là DCT-II như ở công thức 2.9
∑ [ ( * ]
Với:
là giá trị DCT thứ n
là giá trị mẫu thứ k
Trang 22âm thanh đã ra đời cho phù hợp với sự tiếp nhận thính giác của con người, điển hình
là thang Mel Điểm 1000 Hz và 1000 Mel có giá trị ngang nhau được định nghĩ là điểm tham chiếu Công thức 2.10 dùng để chuyển đổi từ thang tần số sang thang Mel và ngược lại
Tương quan giữa tần số và mel được thể hiện trong hình 2.3
Trang 2312
Hình 2.3 Tương quan giữa tần số (Hz) và Mel
Sơ đồ thuật toán rút trích đặc trƣng MFCC
2.2.
Quá trình rút trích đặc trưng MFCC được thể hiện qua sơ đồ trong hình 2.4
Hình 2.4 Sơ đồ thuật toán rút trích đặc trưng MFCC
Tiền xử lý tiếng nói
Tín hiệu tiếng nói
Làm nổi tín hiệu
Phân khung
Lấy logarithm Biến đổi DCT Đặc trưng MFCC
Tiền xử lý
Trang 24Quá trình pre-emphasis được cho bởi công thức 2.11
Với:
là giá trị mới của tín hiệu số thứ n
là giá trị ban đầu của tín hiệu số thứ n
là hệ số pre-emphasis, Hệ số càng lớn thì thành phần tần số thấp bị loại đi càng nhiều, thông thường được chọn từ 0.95 tới 0.97
Phân khung (framing)
đó thay đổi quá nhiều sẽ làm thiếu mất đặc trưng cần thiết
Trang 2514
Hình 2.5 Phân khung dữ liệu
Hình 2.5 mô tả quá trình phân khung tín hiệu, các khung không tách rời và chồng lấn lên nhau Khoảng cách giữa hai khung gọi là bước nhảy, thường ở khoảng 10-15ms Với một tín hiệu được lấy mẫu với tần số 16kHz, phân khung với
độ lớn của sổ là 25ms và khoảng cách giữa các khung là 10ms thì mỗi khung dữ liệu sẽ có 16000 * 0.025 = 400 mẫu, khoảng cách giữa 2 khung là 16000 * 0.01 =
160 mẫu Cụ thể khung thứ nhất gồm 400 mẫu từ tới , khung thứ 2 gồm
Hàm cửa sổ là một hàm toán học, thường có giá trị ở trong 1 khoảng xác định và mang giá trị 0 hoặc gần 0 ở hai đầu trục số Để làm trơn tín hiệu, hàm cửa
sổ được nhân với mỗi khung, khi đó các giá trị ở 2 đầu mỗi khung sẽ là 0 hoặc gần bằng 0, như vậy khi ghép liên tiếp các khung với nhau thì sẽ tránh được sự không liên tục vì giá trị tại điểm ghép là như nhau (bằng 0)
Trang 2615
Hình 2.6 Làm trơn tín hiệu với hàm cửa sổ
Hình 2.6 thể hiện tín hiệu được làm trơn với hàm cửa sổ Các hình 2.7a-d là một số hàm cửa sổ thông dụng
Một số hàm cửa sổ:
𝑤 𝑛 𝜋𝑛
𝑁 Cửa sổ Hanning:
Hình 2.7a Cửa sổ Hanning
Trang 27Hình 2.7b Cửa sổ Hamming
𝑤 𝑛 Cửa sổ chữ nhật
Hình 2.7c Cửa sổ chữ nhật
𝑤 𝑛 𝑛
𝑁
𝑁 Cửa sổ tam giác:
Hình 2.7d Cửa sổ tam giác
Trang 28Lọc Mel-Filter bank và lấy Logarit
2.4.2.
Mel-Filter bank là một dãy các bộ lọc tam giác, mỗi bộ lọc được áp dụng cho một khoảng tần số nhất định trong tín hiệu Khoảng tần số áp dụng cũng như khoảng cách giữa các bộ lọc được co giãn theo thang đo Mel Hình 2.8 thể hiện một Mel-filter bank với 10 bộ lọc
Hình 2.8 Dãy bộ lọc Mel-Filter bank
Dãy bộ lọc Mel được xây dựng qua các bước:
Chọn ngưỡng tần số thấp nhất và cao nhất sẽ áp dụng bộ lọc Thông thường các đặc tính của âm thanh nằm ở mức tần số dưới 1000Hz, mức tần số thấp nhấp có thế chọn từ 0Hz và cao nhất có thể chọn từ 4000 – 8000Hz
Trang 2918
Chuyển đổi mức tần số thấp nhất và cao nhất sang thang Mel
Nếu dãy bộ lọc có bộ lọc, ta chèn thêm điểm vào giữa 2 giá trị thấp và cao sao cho chúng cách đều nhau, ta thu được khoảng cách đều nhau, hay có giá trị Mel
Chuyển lại toàn bộ giá trị ở thang Mel về tần số (Hz) Mỗi bộ lọc được xác định bởi 3 điểm tần số liên tục:
o Bộ lọc thứ nhất xác định bởi 3 điểm tần số thứ không, một và hai
o Bộ lọc thứ hai xác định bởi 3 điểm tần số thứ một, hai và ba
o
o Bộ lọc thứ được xác định bởi 3 điểm tần số và
Các bộ lọc được tính toán bằng công thức 2.12
Với:
o là giá trị của filterbank thứ m, ứng với mức tần số k
o là tần số thứ m trong dãy các điểm tần số ở bước 4
Sau khi xây dựng các bộ lọc, thực hiện nhân lần lượt từng bộ lọc với 1 khung tín hiệu và tính tổng, ta thu được khung tín hiệu đã qua bộ lọc Mel-Filter bank Thực hiện lặp lại với toàn bộ các khung tín hiệu
Sau khi tính toán các khung tín hiệu qua bộ lọc, ta lấy logarit tất cả các giá trị trong từng khung
Biến đổi DCT
2.4.3.
Các khung tín hiệu sau khi lọc Mel-Filter bank và lấy logarit được biến đổi một lần nữa bằng phép biến đổi DCT ở công thức 2.9 Sau khi biến đổi DCT, ta thu kết quả là các hệ số MFCC Mỗi khung tín hiệu ban đầu có vài trăm giá trị được thu gọn lại còn khoảng 13 – 15 tham số, dễ dàng hơn cho việc lưu trữ, tính toán nhiều lần
Trang 30
Trong nhận dạng thống kê, hai hàm xác suất có điều kiện sau thường được sử dụng:
: Hàm mật độ xác suất của độ đo vector thuộc về lớp , với giả thiết là xác suất được biết trước hay có thể ước lượng được
: Với điều kiện xảy ra, xác định xác suất xuất hiện của lớp rời rạc (chưa biết), thông qua - xác suất của lớp và
Chỉ có 1 số lượng trạng thái nhất định
Trạng thái hiện tại chỉ phụ thuộc trạng thái trước đó Hay:
Trang 32{ } (3.4) Tập tham số thứ 3 là xác suất khởi tạo mô hình HMM:
là xác suất để mô hình HMM khởi tạo tại trạng thái Thông thường, mô
hình HMM sẽ khởi tạo ở trạng thái 1, nên tập tham số này có thể bỏ qua
Mô hình HMM với 2 tập tham số được ký hiệu là
Ví dụ nhận dạng từ đơn với HMM
3.2.2.
Giả sử chuỗi sóng âm của từ cần nhận dạng được mã hóa bởi chuỗi vector đặc trưng (chuỗi quan sát) với là vector đặc trưng tại thời điểm Việc nhận dạng từ đơn là đi tính:
Công thức 3.5 có nghĩa là tìm từ sao cho xác suất lớn nhất, với
là từ trong danh sách từ cần nhận dạng (tổng quát là từ trong từ điển), trong nhận dạng từ này được mô hình hóa bởi một mô hình HMM Xác suất này không thể tính được trực tiếp nhưng có thể dùng định luật Bayes:
Ở đây xác suất là hằng số Xác suất chỉ liên quan đến mô hình ngôn ngữ, chúng ta cũng có thể xem như là hằng số Như vậy vấn đề của việc nhận dạng chỉ là việc tính xác suất