Đến nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã đạt được một số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần thiết để có thể tạo ra các sản phẩm m
Trang 1Lời cảm ơn
Để thực hiện đề tài: “Nhận dạng giọng nói Tiếng Việt để điều khiển xe lăn thông minh”, bản thân tôi đã nhận được rất nhiều sự chỉ dẫn, giúp đỡ và động viên quý báu từ gia đình, thầy cô và bạn bè
Trước hết, tôi xin bày tỏ lòng cảm ơn sâu sắc đối với Thầy Huỳnh Thái Hoàng, giáo viên hướng dẫn đã động viên và tận tình hướng dẫn cho tôi về phương pháp nghiên cứu khoa học, đã cung cấp cho tôi rất nhiều kiến thức chuyên sâu để thực hiện đề tài này
Tôi cũng vô cùng cảm ơn các Thầy, Cô trong Khoa Điện – Điện tử, Trường Đại Học Bách Khoa Tp.HCM đã giảng dạy và hướng dẫn tôi trong suốt thời gian học đại học Nhờ các Thầy, Cô mà tôi có đủ kiến thức và tự tin để thực hiện đề tài nghiên cứu này cũng như các đề tài nghiên cứu khác trong tương lai
Bên cạnh đó, sự hợp tác và giúp đỡ của bạn bè và các thế hệ đàn anh đi trước cũng giúp tôi rất nhiều trong việc thực hiện đề tài này
Tôi cũng xin cảm ơn gia đình đã luôn chăm sóc, quan tâm và động viên trong quá trình học tập
Và cuối cùng, tôi xin gửi lời cảm ơn tới những người đã giúp đỡ tôi trong quá trình thực hiện Đồ án II mà tôi thiếu sót chưa nêu tên ở đây, sự giúp đỡ của họ dù ít hay nhiều cũng đóng góp một phần vào kết quả thực hiện đề tài đồ án môn học này
để chuẩn bị thật tốt cho đề tài luận văn sắp tới
Tp Hồ Chí Minh, ngày 17 tháng 06 năm 2014
Trang 2Giới thiệu đề tài:
Tiếng nói là phương tiện giao tiếp cơ bản nhất của 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 Đã từ lâu, con người luôn mơ ước đến các hệ thống máy điều khiển tự động có thể giao tiếp bằng tiếng nói tự nhiên của con người Ngày nay, cùng với sự phát triển của khoa học kỹ thuật và công nghệ, đặc biệt trong lĩnh vực tin học, các hệ thống máy tự động đã dần thay thế con người trong nhiều công việc Nhu cầu giao tiếp với thiết bị máy bằng tiếng nói là rất cần thiết, đó là phương thức giao tiếp văn minh và tự nhiên nhất
Nhận dạng tiếng nói là một vấn đề không mới Trên thế giới đã và đang có có rất nhiều công trình nghiên cứu về vấn đề này với rất nhiều phương pháp nhận dạng tiếng nói khác nhau Và những nghiên cứu đó cũng có những thành công đáng kể Nhưng đối với nước ta, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ Chỉ có một số công trình của các nhóm như: AILab, Vietvoice, Vspeech… nghiên cứu đến vấn đề này Đến nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã đạt được một số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần thiết để có thể tạo ra các sản phẩm mang tính ứng dụng cao
Với mong muốn có thể dùng tiếng nói Tiếng Việt để điều khiển xe lăn thông minh, đồ án này nghiên cứu các phương pháp nhận dạng tiếng nói Tiếng Việt, từ đó xây dựng một chương trình demo nhận dạng tiếng nói tiếng Việt để phát triển lên luận văn “ Nhận dạng giọng nói Tiếng Việt để điều khiển xe lăn thông minh”
Trang 3Đồ án gồm 05 chương:
Chương 1: Tổng quan về tình hình trong và ngoài nước liên
quan đến việc nhận dạng tiếng nói, mục tiêu đề tài và giới hạn của đề tài
Chương 2: Trình bày về hệ nhận dạng tiếng nói
Chương 3: Các khái niệm liên quan đến hệ nhận dạng tiếng
nói và hỗ trợ cho công cụ SPHINX
Chương 4: Giới thiệu về công cụ hỗ trợ nhận dạng tiếng nói
CMUSphinx
Chương 5: Kết quả chương trình demo nhận dạng tiếng nói
Tiếng Việt dùng trong điều khiển xe lăn thông minh sử dụng công cụ Sphinx và kết luận
Trang 4MỤC LỤC
Lời cảm ơn i
Giới thiệu đề tài ii
Mục lục iv
Chương 1: Tổng quan 1
1.1 Tổng quan về tình hình trong và ngoài nước 2
1.2 Mục tiêu đạt được 4
1.3 Giới hạn đề tài 5
Chương 2: Trình bày về hệ nhận dạng tiếng nói 6
2.1 Giới thiệu 7
2.2 Phân loại các hệ thống nhận dạng tiếng nói 8
2.3 Một số phương pháp nhận dạng tiếng nói 8
Chương 3: Các khái niệm liên quan đến hệ nhận dạng tiếng nói và hỗ trợ cho công cụ Sphinx 10
3.1 Rút trích đặc trưng tín hiệu tiếng nói 11
3.1.1 Khái niệm 11
3.1.2 Làm rõ tín hiệu 12
3.1.3 Tách từ 12
3.1.4 Phân đoạn thành các khung 13
3.1.5 Lấy cửa sổ khung tín hiệu 14
3.2 Rút trích đặc trưng bằng phương pháp MFCC 15
3.2.1 Biến đổi FFT 17
3.2.2 Lọc qua bộ lọc Mel- Scale 18
3.2.3 Logarit giá trị năng lượng 21
3.2.4 Biến đổi cosin rời rạc 21
Chương 4: Giới thiệu về công cụ hỗ trợ nhận dạng tiếng nói CMU SPHINX 23
Trang 54.2 Các đặc điểm của CMU Sphinx 24
4.3 Kiến trúc Sphinx 4 25
4.3.1 Bộ ngoại vi – FrontEnd 27
4.3.2 Bộ ngôn ngữ - Linguist 28
4.3.3 Bộ giải mã – Decoder 31
Chương 5: Xây dựng chương trình demo nhận dạng giọng nói tiếng Việt điều khiển xe lăn 33
5.1 Cài đặt Sphinx 34
5.1.1 Chuẩn bị hệ điều hành 34
5.1.2 Chuẩn bị các gói cài đặt Sphinx 34
5.2 Cài đặt và huấn luyện 35
5.2.1 Xây dựng mô hình ngôn ngữ 36
5.2.2 Xây dựng mô hình ngữ âm 37
5.2.3 Xây dựng từ điển 37
5.3 Kết quả thử nghiệm 38
Chương 5: Kết luận 39
6.1 Kết quả đạt được 40
6.2 Những hạn chế 40
6.3 Hướng nghiên cứu và phát triển 41
Trang 61
TỔNG QUAN
Trang 71.1 Tổng quan về tình hình trong và ngoài nước:
Vấn đề nghiên cứu các phương pháp nhận dạng tiếng nói đã và đang thu hút rất nhiều sự đầu tư và nghiên cứu của các nhà khoa học trên khắp thế giới Ý tưởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20 và đến nay đã đạt được nhiều kết quả đáng kể
Trên thế giới đã có rất nhiều hệ thống nhận dạng tiếng nói tiếng Anh đã
và đang được ứng dụng rất hiệu quả như: Via Voice của IBM, Spoken Toolkit của CSLU (Central of Spoken Laguage Under-standing), Speech Recognition Engine của Microsoft, Hidden Markov Model toolkit của đại học Cambridge, CMU Sphinx của đại học Carnegie Mellon,… ngoài ra, một
số hệ thống nhận dạng tiến nói tiếng Pháp, Đức, Trung Quốc,… cũng khá phát triển
Đối với nước ta, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ Đến nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã đạt được một số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần thiết để có thể tạo ra các sản phẩm mang tính ứng dụng cao Có thể kể đến các công trình sau:
AILab: Đây là công trình được phòng thí nghiệm Trí tuệ Nhân tạo AILab thuộc Đại học Khoa học Tự nhiên tạo ra dựa trên các công nghệ tiên tiến nhất về nhận dạng và tổng hợp tiếng nói để đáp ứng nhu cầu của người dùng Dựa trên công nghệ xử lí tiếng nói tiếng Việt, AILab đã xây dựng phần mềm iSago chuyên hỗ trợ tìm kiếm thông tin qua tiếng nói Thông qua ứng dụng phần mềm người sử dụng có khả năng hỗ trợ giao tiếp với điện thoại di động trực tiếp bằng lời nói Từ đó người sử dụng tìm kiếm thông tin nhà hàng, quán Bar, Café trên địa bàn TP HCM Khi người dùng đặt câu hỏi bằng tiếng
Trang 8-nói, iSago sẽ truyền nội dung truy vấn này về server để xử lý và gửi lại kết quả tìm kiếm, dạng một danh sách: tên nhà hàng, địa chỉ
Vietvoice: Đây là phần mềm của một người dân Việt Nam ngụ tại Canada Phần mềm có khả năng nói tiếng Việt từ các tập tin Để chạy được chương trình, cần cài đặt Microsoft Visual C++ 2005 Redistributable Package (x86) Đối với người khiếm thị, phần mềm này cho phép sử dụng cách gõ tắt (nhấn nút Ctrl và một chữ) để chọn lựa một trong các tính năng hiển thị trên màn hình Người dùng có thể cập nhật từ điển các chữ viết tắt
và các từ ngữ tiếng nước ngoài
Vspeech: Đây là một phần mềm điều khiển máy tính bằng giọng nói do một nhóm sinh viên Đại học Bách Khoa TP HCM viết Phần mềm sử dụng thư viện Microsoft Speech SDK để nhận dạng tiếng Anh nhưng được chuyển thành tiếng Việt Nhóm đã khá thành công với ý tưởng này, do sử dụng lại thư viện nhận dạng engine nên thời gian thiết kế rút ngắn lại mà hiệu quả nhận dạng khá tốt Phần mềm Vspeech có các lệnh gọi hệ thống đơn giản như gọi thư mục My Computer, nút Start,… Phiên bản mới nhất có tương tác với MS Word 2003, lướt web với trình duyệt Internet Explorer Không
có các chức năng tùy chỉnh lệnh và gọi tắt các ứng dụng Phần mềm chạy trên nền Windows XP, microphone và card âm thanh sử dụng tiêu chuẩn thông thường
Tuy nhiên việc ứng dụng nhận dạng giọng nói vào điều khiển máy tính còn nhiều hạn chế Ở Việt Nam thì hầu như chỉ mới có bộ phần mềm Vspeech của nhóm sinh viên trường Đại học Bách Khoa TP HCM, các phần mềm khác chỉ thử nghiệm trong phòng thí nghiệm, chưa được sử dụng thực
tế vì chưa đạt trên 100 từ Phần mềm Vspeech được phát triển từ mã nguồn
mở Microsoft Speech SDK nhận dạng tiếng Anh, thông qua dữ liệu, phương
Trang 9tiếng Việt
1.2 Mục tiêu đạt được:
Đồ án nghiên cứu những ý tưởng cơ bản và các phương pháp được sử dụng trong nhận dạng tiếng nói Đồng thời đồ án đã tìm hiểu về công cụ nhận dạng tiếng nói SPHINX từ đó xây dựng một chương trình demo nhận dạng từ dùng để điều khiển
Mục đích chi tiết:
Tìm hiểu các khái niệm có liên quan đến hệ nhận dạng tiếng nói để làm rõ hơn một số yếu tố quan trọng trong việc sử dụng công cụ hỗ trợ SPHINX như: rút trích đặc trưng bằng MFCC (Mel – Scale Frequency Capstral Coefficient), mô hình Markov ẩn, mô hình âm học, vị học áp dụng cho tiếng Việt
Tìm hiểu phương pháp cài đặt công cụ hỗ trợ xây dựng hệ nhận dạng tiếng nói trên hệ điều hành UBUNTU 12.04
Tìm hiểu xây dựng mô hình âm học, mô hình ngôn ngữ thích hợp cho tiếng Việt
Xây dựng chương trình demo mô phỏng, thực nghiệm giữa các mô hình với nhau, nhận dạng khoảng 20 từ, 5 câu lệnh tiếng Việt để điều khiển xe lăn thông minh
Trang 101.3 Giới hạn đề tài:
Đồ án chỉ giới hạn trong việc tìm hiểu về tiếng nói, các phương pháp xử
lý tiếng nói, rút trích đặc trưng tiếng nói; mô hình Markov ẩn, mô hình âm học, âm vị áp dụng cho tiếng Việt; kiến trúc hệ thống nhận dạng tiếng nói qua công cụ Sphinx Vì thời gian hạn chế nên chương trình demo chỉ dừng ở mức nhận dạng được khoảng 10 câu lệnh cơ bản điều khiển xe lăn Khi đọc lệnh điều khiển, máy tính sẽ hiểu và xuất hiện dòng lệnh đó trên màn hình của chương trình
Do thời gian có hạn nên demo chương trình chỉ mới thực hiện nhận dạng thành công với một, hai người dùng Xác suất đúng thực tế xấp xỉ lớn hơn 80%
Trang 112
TRÌNH BÀY VỀ HỆ NHẬN DẠNG TIẾNG NÓI
Trang 122.1 Giới thiệu:
Nhận dạng tiếng nói là một hệ thống tạo khả năng để máy tính nhận biết ngữ nghĩa của lời nói Về bản chất, đây là quá trình biến đổi tín hiệu âm thanh thu được của người nói qua Micro thành một chuỗi các từ Kết quả của quá trình nhận dạng có thể được ứng dụng trong điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời nói, quay số điện thoại tự động hoặc đưa tới một quá trình xử lý ngôn ngữ ở mức cao hơn
Tín hiệu tiếng nói đầu tiên được tiền xử lý và rút trích đặc trưng Kết quả thu được sau quá trình này là tập hợp các đặc trưng âm học (aucostic features), được tạo dựng thành một hay nhiều vecto gọi là vecto đặc trưng
Để có thể thực hiện việc so sánh, trước hết hệ thống phải được huấn luyện và xây dựng các đặc trưng, sau đó mới có thể dùng để so sánh với các tham số đầu vào để nhận dạng
Trong quá trình huấn luyện, hệ thống dùng các vecto đặc trưng được đưa vào để ước lượng, tính toán các tham số cho các mẫu Một mẫu tham khảo là bản mẫu dùng để so sánh và nhận dạng, các mẫu tham khảo này mô phỏng cho một từ, một âm tiết, hoặc thậm chí một âm vị
Trong quá trình nhận dạng, dãy các vecto đặc trưng được đem so sánh với các mẫu tham khảo Sau đó hệ thống tính toán độ tương đồng của dãy vecto đặc trưng và mẫu tham khảo Việc tính toán độ tương đồng được thực hiện bằng cách áp dụng các thuật toán đã được chứng minh hiệu quả như thuật toán Vitertbi ( trong mô hình Hidden Markov Model – HMM) Mẫu có
độ tương đồng cao nhất được cho là kết quả nhận dạng
Trang 13
2.2 Phân loại các hệ thống nhận dạng tiếng nói:
Một hệ thống nhận dạng tiếng nói có thể là một trong hai dạng: nhận dạng liên tục và nhận dạng từng từ Nhận dạng liên tục tức là nhận dạng tiếng nói được phát liên tục trong một chuỗi tín hiệu, chẳng hạn như một câu nói, một mệnh lệnh hoặc một đoạn văn được đọc lên bởi người dùng Các hệ thống loại này rất phức tạp, nó phức tạp ở chỗ các từ được phát hiện liên tục khó xử lý kịp, hoặc khó tách ra nếu như người nói liên tục không có khoảng nghỉ Kết quả là tách từ ảnh hưởng rất lớn đến các bước sau, cần xử lý thật tốt trong quá trình này Trá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 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 với độ chính xác khá cao, tuy nhiên khó áp dụng rộng rãi với mô hình nói trên
2.3 Một số phương pháp nhận dạng tiếng nói:
Có 3 phương pháp nhận dạng tiếng nói được sử dụng phổ biến:
Phương pháp âm học- ngữ âm học
Phương pháp nhận dạng mẫu
Phương pháp ứng dụng trí tuệ nhân tạo
Đồ án này sử dụng công cụ SPHINX để nhận dạng tiếng nói nên phương pháp sử dụng ở đây là phương pháp nhận dạng mẫu Phương pháp này không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà chỉ sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng Các hệ
Trang 14thống nhận dạng tiếng nói theo phương pháp này được phát triển theo hai bước cụ thể:
Bước 1: Sử dụng tập mẫu tiếng nói (cơ sở dữ liệu mẫu tiếng nói) để đào tạo các mẫu tiếng nói) để đào tạo các mẫu tiếng nói đặc trưng ( mẫu tham chiếu) hoặc các tham số hệ thống
Bước 2: Đối sánh mẫu tiếng nói từ ngoài với các mẫu đặc trưng để ra quyết định Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói cho đào tạo có đủ các phiên bản mẫu cần nhận dạng thì quá trình đào tạo có thể xác định chính xác các đặc tính âm học của mẫu ( các mẫu có thể là âm
vị, cụm từ …) Hiện nay, một số kỹ thuật nhận dạng mẫu được áp dụng thành công trong nhận dạng tiếng nói là lượng tử hóa vector, so sánh thời gian động(DTW), mô hình Markov ẩn (HMM) và mạng nơron nhân tạo (ANN)
Trang 163.1 Rút trích đặc trưng tín hiệu tiếng nói:
3.1.1 Khái niệm:
Rút trích đặc trưng của tiếng nói là một trong những khâu quan trọng trong quá trình nhận dạng tiếng nói Dữ liệu tiếng nói thông thường dưới dạng sóng âm đã lưu trữ trong máy tính là loại dữ liệu khó xử lý, học mẫu huấn luyện và so sánh Do đó việc trích rút đặc trưng tiếng nói là cần thiết Kết quả của quá trình trích rút đặc trưng là một hoặc nhiều vector đặc trưng Các vector này chứa tham số mang giá trị quan trọng của tín hiệu tiếng nói, làm giảm đi rất nhiều số lượng tính toán cần thiết, làm rõ ràng hơn sự khác biệt giữa hai tín hiệu tiếng nói
Hình sau minh họa cho quá trình rút trích đặc trưng:
Hình 3.1 Qúa trình rút trích vector đặc trưng
Trang 173.1.2 Làm rõ tín hiệu (pre – emphasis- tiền khuếch đại)
Theo các nghiên cứu về âm học thì giọng nói có sự suy giảm 20dB/decade khi lên tần số cao do đặc điểm sinh lý của hệ thống phát âm con người Để khắc phục sự suy giảm này, chúng ta phải tăng cường độ tín hiệu lên một giá trị gần 20dB/decade Bên cạnh đó, hệ thống thính giác con người
có xu hướng nhạy cảm hơn với cùng tần số cao Dựa vào những đặc điểm trên, ta sẽ dùng bộ lọc thông cao để tiền xử lý các tín hiệu thu được nhằm làm
rõ vùng tín hiệu mà tai người có thể nghe được Bộ lọc áp dụng công thức sau:
1
( ) 1
pre pre
Trong đó, apre là hệ số nhấn mạnh, thường có giá trị 0.9700002861
Bộ lọc này có chức năng tăng cường tín hiệu tại tần số cao (trên 1 KHz)
Tín hiệu tiếng nói đã được số hóa là s(n), được đưa qua một hệ số bậc thấp, để làm phẳng tín hiệu về phổ và làm nó ít bị ảnh hưởng bởi các hiệu ứng
có độ chính xác hữu hạn này trong quá trình xử lý tín hiệu Hệ thống số được dùng trong khối tiền khuếch đại vừa cố định, vừa thích nghi chậm
Trong trường hợp sử dụng bộ lọc áp theo công thức 2.1, đầu ra của dãy tiền khuếch đại s’(n) liên quan đến đầu vào của dãy tín hiệu s(n) theo đẳng thức sau:
s’(n) = s(n) – apres(n-1)
3.1.3 Tách từ
Tín hiệu tiếng nói s(n) sau khi được làm rõ tín hiệu sẽ được chuyển sang
để tách từ Đây là công đoạn chia toàn bộ tín hiệu thu được thành những đoạn tín hiệu trong đó chỉ chưa nội dung của một từ
Trang 18Có nhiều phương pháp để tách điểm đầu và điểm cuối của một từ ra khỏi toàn bộ tín hiệu tiếng nói, trong đó phương pháp dùng hàm năng lượng thời gian ngắn là phương pháp phổ biến nhất Với một cửa sổ kết thúc tại mẫu thứ
m, hàm năng lượng thời gian ngắn E(m) được xác định:
1
2
[ ( ) * ( )]
m N m
3.1.4 Phân đoạn thành các khung (Framing)
Tín hiệu tiếng nói là một đại lượng biến thiên theo thời gian và không ổn định nên không thể xử lý trực tiếp trên đó được Do đó, tín hiệu phải được chia ra thành các khung với chiều dài tương đối nhỏ để lấy được các đoạn tín hiệu tương đối ổn định và xử lý trong các bộ lọc tiếp theo Theo các nghiên cứu đã có thì trong khoảng thời gian 10-20 ms, tín hiệu tiếng nói tương đối ổn định Nên ở bước này người ta thường phân tín hiệu thành các khung với kích thước 20-30 ms Nhưng để tránh mất mát và làm gián đoạn tín hiệu ban đầu, khi phân khung, người ta chồng lấp các khung lên nhau trong khoảng 10-15ms
Trang 19Hình 3.1.4 Ví dụ phân đoạn khung tín hiệu
3.1.5 Lấy cửa sổ khung tín hiệu
Để làm rõ tín hiệu đồng thời tính gián đoạn tín hiệu ở đầu và cuối của mỗi khung trong quá trình xử lý đặc trưng, khi xử lý, các khung sẽ được nhân với hàm cửa sổ, thường là cửa sổ Hamming Kết quả là việc này làm cho khung tín hiệu mượt hơn, giúp cho các thành phần có tần số cao xuất hiện trong phổ Công thức hàm cửa sổ tổng quát:
2
2 ( )
0,
2
n N
w n
N n
Trang 202 0.54 0.46.cos ,
2 ( )
0,
2
n N
w n
N n
t
x n x n n 0 n N 1 (2.7)
Ý nghĩa của việc áp cửa sổ: là nhằm mục đích có được dữ liệu theo
miền tần số chuẩn đề đưa vào phép biến đổi Fourier rời rạc
3.2 Rút trích đặc trưng bằng phương pháp MFCC:
Trong lĩnh vực xử lý và nhận dạng tiếng nói, việc tiền xử lý các tín hiệu thu được và rút trích đặc trưng là một kỹ thuật thiết yếu mà bất cứ hệ thống nhận dạng nào cũng bắt buộc phải có Trích rút đặc trưng có vai trò quan trọng quyết định hiệu suất của quá trình nhận dạng mẫu (cả trong quá trình nhận dạng và trong quá trình huấn luyện) Công việc của bước này là phân
Trang 21của tiếng nói, cắt giảm bớt các yếu tố không cần thiết trong quá trình nhận dạng để làm giảm khối lượng dữ liệu cần xử lý
Mel Scale Frequency Cepstral Coefficients (MFCC) là một phương pháp rút trích đặc trưng sử dụng dãy bộ lọc Davis và Mermelstein đưa ra vào năm
1980 khi họ kết hợp các bộ lọc cách khoảng trống không đều với phép biến đổi Cosine rời rạc (Discrete Cosin Transform) thành một thuật toán hoàn chỉnh ứng dụng trong lĩnh vực nhận dạng tiếng nói liên tục Đồng thời định nghĩa khái niệm hệ số Cepstral và thang đo tần số Mel (Mel Scale)
Hình 3.1.6 Tổng quát phương pháp rút trích đặc trưng MFCC
Trang 22Tóm tắt quá trình rút trích đặc trưng theo MFCC sẽ như sau: Ban đầu tín hiệu sau khi qua tiền xử lý sẽ được chia thành các Frame có khoảng thời gian ngắn Từ mỗi frame đó sau khi áp dụng các bước chuyển đổi và lọc sẽ ra được một vecto tương ứng Và xong quá trình này, ta sẽ có đặc trưng của dãy tín hiệu input là một dãy vecto đặc trưng output ra
3.2.1 Biến đổi FFT (Fast Fourier Transform)
Biến đổi FFT thực chất là một biến đổi DFT (Discrete Fourier Transform) nhưng được tối ưu bằng các thuật toán nhanh và gọn hơn đề dáp ứng các yêu cầu xử lý theo thời gian thực trong các lĩnh vực như xử lý âm thanh, hình ảnh,
Fast Fourier là một phép biến đổi thuận nghịch có đặc điểm bảo toàn tính tuyến tính bất biến, tuần hoàn và tính trễ Dùng để biến đổi tín hiệu tương tự sang miền tần số, nó sẽ gồm các công thức sau:
Công thức phép biến đổi thuận (dùng để phân tích tín hiệu):
1
2 / 0
N
j kn N n
Trang 23và bộ lọc Mel – Scale
3.2.2 Lọc qua bộ lọc Mel – Scale
Trong lĩnh vực nghiên cứu về nhận dạng tiếng nói, đòi hỏi chúng ta phải hiểu và mô phỏng chính xác khả năng cảm thụ tần số âm thanh của tai người Chính vì thế các nhà nghiên cứu đã xây dựng một thang tần số - hay gọi là thang tần số Mel (Mel Scale) dựa trên cơ sở thực nghiệm nhiều lần khả năng cảm nhận âm thanh của con người Thang tần số Mel được định nghĩa trên tần