LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Hồ Chí Minh, ngày 20 tháng 8 năm 2013 (Ký tên và ghi rõ họ tên) Huỳnh Lâm Đồng ii LỜI CẢM ƠN Em xin chân thành cảm ơn thầy Hoàng Trang đã tận tình hướng dẫn em trong việc thực hiện luận văn này. Thầy đã luôn giành sự quan tâm, thời gian và những chia sẻ gần gũi để giúp em hiểu và giải quyết những khó khăn trong quá trình thực hiện đề tài nhận dạng tiếng nói.
Thầy đã cung câp những tài liệu cũng như định hướng để em có thể hoàn thành luận văn sớm nhất có thể. Em cũng xin chân thành cảm ơn khoa Điện – Điện tử đặc biệt là bộ môn Điện tử đã tạo điều kiện để em có thể thực hiện đề tài. Mình cũng xin cảm ơn các bạn trong lớp cao ho ̣c Điê ̣n – Điê ̣n. Các bạn đã luôn chia sẻ những kinh nghiệm và sự hiểu biết với mình khi mình gặp những khó khăn và khúc mắc chưa thể giải quyết.
Cuối cùng với tấ t cả tấ m lòng con xin cảm ơn gia đình đã luôn quan tâm, chia sẻ và động viên để con có thể hoàn thành chương trình học một cách tốt nhất. iii TÓM TẮT LUẬN VĂN Trong nhiều thập niên gần đây, việc điều khiển thông qua nhận dạng tiếng nói tự động (ASR) nhận được sự quan tâm lớn thông qua nhiều ứng dụng. Có nhiều giải thuật được đưa ra trong quá trình trích đặc trưng, huấn luyện cũng như nhận dạng. Thuật toán nhận dạng tiếng nói thông qua quá trình trích đặc trưng các hệ số MFCC (Mel frequency cepstrum coefficient) và xây dựng Codebook bằng phương pháp lượng tử vector là hai phương pháp đặt nền tảng cho các thuật toán nhận dạng tiếng nói khác và chúng được sử dụng một cách rộng rãi trong nhiều ứng dụng.
Trong luận văn này, tôi sẽ đánh giá thuật toán nêu trên thông qua việc xây dựng chương trình nhúng trên KIT DSP, mà cụ thể là KIT DSKTMS320C6713 với nền tảng là bộ xử lý TMS320C6000. Nội dung luận văn được chia thành hai phần chính: phần đầu của luận văn sẽ trình bày nội dung về thuật toán trích đặc trưng MFCC và lượng tử vector trong nhận dạng tiếng nói. Đồng thời, xây dựng phần mềm MATLAB mô phỏng các giải thuật để có hình dung khái quát về quá trình nhận dạng. Phần thứ hai của luận văn sẽ xây dựng chương trình nhúng trên KIT DSKTMS320C6713.
Chương trình nhúng gồm có hai phần: huấn luyện và nhận dạng. Trong cả hai phần, tiếng nói được ghi âm và xử lý trực tiếp thông qua IC CODEC mã hóa âm thanh AIC2381, dữ liệu được số hóa 16bit chuẩn bị cho quá trình huấn luyện và nhận dạng. Ngoài ra để đẩy nhanh quá trình tính toán và đánh giá, dữ liệu tiếng nói còn được lưu thành các file header trên CCS. KIT DSP sẽ lấy dữ liệu trực tiếp từ các file này trong quá trình tính toán.
Quá trình đánh giá có thể được thực hiện thông qua việc thay đổi trực tiếp các thông số trên các file dữ liệu. Bộ xử lý DSP C6713 với kiến trúc tập lệnh VLIW và khả năng xử lý dấu chấm động floating-point; việc này đảm bảo độ chính xác cao cho các phép tính. Phạm vi giá trị các phép tính có thể mở rộng trong phạm vi Single (32bit) hoặc double (64bit). Các dữ liệu trong quá trình tính toán bao gồm codebook đã được huấn luyện và mẫu âm thanh cần nhận dạng được lưu trên bộ nhớ SDRAM 16MB.
Số lượng từ vựng cần nhận dạng phụ thuộc vào iv dung luợng bộ nhớ. Bộ nhớ có thể được mở rộng thông qua giao tiếp bộ nhớ mở rộng bên ngoài EMIF. Quá trình huấn luyện sử dụng dữ liệu tiếng nói được ghi âm trực tiếp trên KIT hoặc từ các file dữ liệu lưu sẵn. Dữ liệu được xử lý trích đặc trưng MFCC thành một tập các hệ số cho mỗi từ cần huấn luyện.
Thông qua giải thuật lượng tử vector xây dựng codebook cho từ cần huấn luyện dựa trên các hệ số MFCC. Trong quá trình nhận dạng dữ liệu tiếng nói được ghi âm trực tiếp trên KIT hoặc từ các file dữ liệu lưu sẵn. Dữ liệu được xử lý trích đặc trưng MFCC thành một tập các hệ số cho mỗi từ cần nhận dạng. Khoảng cách Euclide được tính toán trên tập các hệ số này so với tập huấn luyện gồm các codebook đã lưu ở phần trên.
Khoảng cách Euclide nhỏ nhất sẽ xác định được mẫu tiếng nói cần nhận dạng. Đánh giá thuật toán nhận dạng dựa trên kết quả nhận dạng tập dữ liệu các từ số đếm từ một đến mười và và các từ “trái, phải, trên, dưới, trước, sau”. Mỗi từ được đánh giá 100 lần. Thuật toán được đánh giá trên cơ sở điều chỉnh các thông số của quá trình huấn luyện và nhận dạng: kích thước của các frame âm thanh, khoảng chồng lấn giữa các frame, kích thước codebook.
Để tăng tính chính xác, khách quan của quá trình đánh giá thì dữ liệu trong cả phần huấn luyện và nhận dạng được lấy mẫu theo cùng một phương pháp từ ghi âm, xử lý, tính toán sai số. iv ABSTRACT In recent decades , the control through automatic speech recognition ( ASR ) received great attention by many applications. There are many algorithms given in the quote process characteristics , training and recognition. Speech recognition algorithm through characteristic coefficients extracted MFCC ( Mel frequency cepstrum coefficient ) and the construction of codebook by vector quantization methods are based two methods for speech recognition algorithms and their other been widely used in many applications.
In this essay , I will evaluate the above algorithms through building programs on embedded DSP KIT , KIT DSKTMS320C6713 in particular with a platform TMS320C6000 processor. The contents of the thesis is divided into two main parts : the first part of the paper presents algorithms extract the contents of MFCC features and vector quantization in speech recognition. At the same time , building simulation software MATLAB algorithms to visualize an overview of the identification process. The second part of the thesis will build on KIT DSKTMS320C6713 embedded programs.
Embedded program consists of two parts : training and recognition. In both sections , the voices were recorded and processed directly through IC AIC2381 audio codec , 16bit digitized data prepared for the training and recognition. In addition to accelerating the calculation and assessment , the voice data is stored in the file header on the CCS. KIT DSP will retrieve data directly from the file in the calculation process.
The evaluation process can be done through changing the parameters directly on the data file. C6713 DSP processor with VLIW instruction set architecture and the ability to handle floating point floating-point , this ensures high precision calculations. Scope value calculations can be extended within single ( 32-bit ) or double ( 64bit ). The data in the calculation process includes trained codebook and to recognize sound patterns that are stored on 16MB SDRAM memory.
The number of iv required vocabulary recognition depends on the memory capacity. The memory can be expanded via memory interface EMIF external expansion. Training process using voice data is recorded directly in the KIT or from stored data files. Data processing extract MFCC features into a set of coefficients for each word training.
Through the algorithm for vector quantization codebook built from need -based training MFCC coefficients. In the process of identifying the voice data is recorded directly on the KIT or from stored data files. Data processing extract MFCC features into a set of coefficients for each word to be recognized. Euclidean distance is computed on the set of coefficients from the training set consists of codebook has stored in the previous section.
Smallest Euclidean distance to determine the required sample voice recognition. Rating recognition algorithm based on the recognition results from the data set the count from one to ten and and the words " trái (left) , phải (right), trên (top) , dưới (bottom) , trước (front), sau (back)". Each word is evaluated 100 times. The algorithm is evaluated on the basis of adjusting the parameters of the training process and identity : the frame size of audio , some overlap between the frames , the codebook size.
To increase the accuracy and objectivity of the assessment process , the data in both the training and recognition is sampled by the same method of recording , processing , calculation errors. iv MỤC LỤC Trang tựa TRANG Quyết định giao đề tài Lý lịch cá nhân i Lời cam đoan ii Cảm tạ iii Tóm tắt iv Mục lục v Danh sách các chữ viết tắt vi Danh sách các hình vii Danh sách các bảng viii Chƣơng 1.2 Tình hình nghiên cƣ́u trong và ngoài nƣớc 2 1.3 Tính cấp thiết của đề tài 5 1.4 Mục tiêu nghiên cứu của luận văn 5 1.5 Nhiêm ̣ vu ̣ luâ ̣n văn 6 1.6 Đối tƣợng và phạm vi 6 1.7 Cấu trúc luận văn 7 Chƣơng 2.1 Tín hiệu tiếng nói 8 2.2 Phân loa ̣i các phƣơng pháp nhâ ̣n da ̣ng âm thanh 12 2.1 Phương pháp ngữ âm 12 2.2 Phương pháp nhâ ̣n da ̣ng mẫu 13 2.3 Phương pháp trí thông minh nhân ta ̣o 14 2.4 Mạng noron và ứng dụng trong nhận dạng âm thanh 15 2.3 Thuâ ̣t toán trích đă ̣c trƣng MFCC 16 2.2 Trích đặc trưng MFCC (Mel-scale Frequency Cepstral Coefficient) 20 2.2 Phân tích phổ FFT 23 2.3 Mel frequency filter Bank 25 2.4 Phân tích cepstral 28 2.4 Lƣơ ̣ng tƣ̉ vector VQ 34 Chƣơng 3. THƢ̣C HIỆN HỆ THỐNG NHẬN DẠNG TIẾNG NÓI TRÊN MATLAB 39 v 3.2 Tính năng lƣợng 41 3.6 Tính biên độ 42 3.7 Mel-filter bank 42 3.9 Tính hệ số cepstral 42 3.10 Kết quả 43 Chƣơng 4. THƢ̣C HIỆN HỆ THỐNG NHẬN DẠNG TIẾNG NÓI TRÊN KIT DSKTMS320C6713 48 4.1 Bộ xử lý tín hiệu số TMS320C6713 48 4.2 Code Composer Studio 50 4.3 Tổng quan về kit DSKTMS320C6713 53 4.4 Xây dựng hệ thống nhận dạng âm thanh trên nền Kit DSP DSKTMS320C6713 56 4.5 Mel frequency spectrum 63 4.7 Biến đổi Cosine rời rạc DCT 66 4.8 Lượng tử vector VQ 68 4.2 Nhận dạng 73 Chƣơng 5.
KẾT LUẬN 82 TÀI LIỆU THAM KHẢO 84 PHỤ LỤC 86 v DANH SÁCH CÁC CHỮ VIẾT TẮT MFLOPS floating-point operations per second MIPS instructions per second MMACS million multiply-accumulate operations per second VLIW very-long-instruction-word L1P Level 1 program L1D Level 1 data TI Texas Instruments CCS Code composer studio COFF common object file format CCSv5 Code composer studio version 5 CSL Chip support library BSL Board support library DSK DSP starter kit ADC analog digital converter DAC digital ananog converter MFCC Mel-frequency cepstral coefficients FFT Fast Fourier transform ASR Automatic speech recognition vi DANH SÁCH CÁC HÌNH BẢNG TRANG Hình 2.1: Cấu tạo các cơ quan phát ra âm thanh 8 Hình 2.2: Cấu tạo tai người 9 Hình 2.3: Dạng sóng theo thời gian 11 Hình 2.