Nhận dạng giọng nói, luận văn tốt nghiệp

Đề tài nhận dạng âm thanh hay tiếng nói là một đề tài khá hay về mặt học thuật. Theo xu hướng hiện tại ở các trường đại học của ta đang có xu hướng sử dụng đề tài này với hai mục đích chính

  • Tìm hiểu và ứng dụng các thuật toán sử dụng trí tuệ nhân tạo, như mạng Neutron, HMM, hay kết hợp. Thường được tiến hành trên PC. Mang lại kết quả rất tốt, nhận dạng được nhiều từ, và có thể là cả câu.
  • Nhúng các thuật toán vào hệ nhúng. Mục đích là để nhúng một thuật toán nhận dạng vào các chip rời, như MCU hay DSP, đi kèm là thiết kế phần cứng liên quan. Dạng này đang được sử dụng khá nhiều để làm luận văn tại bộ môn Điều Khiển, ĐH BK TpHCM. Do khả năng giới hạn phần cứng nên thường những thuật toán đơn giản được áp dụng, số từ nhận dạng được không nhiều, và thường là từ đơn.

Luận văn tốt nghiệp của tôi, năm 2009, tại bộ môn Điều Khiển, ĐHBK, là thực thi một thuật toán nhận dạng trên nền tảng DSP TMS320C2812 của Texas Instruments, sử dụng kit eZdsp2812. Những ưu điểm chính của dòng DSP của TI có thể kể đến như: tốc độ hoạt động cao (150Mhz), bộ ADC độ phân giải lớn và tốc độ chuyển đổi rất cao 12.5msps, hỗ trợ các thư viện DSP. Đặc biệt là hỗ trợ debug thời gian thực và vẽ đồ thị dữ liệu thời gian thực (tín hiệu âm thanh trực tiếp từ bộ ADC) giảm thiểu thời gian lập trình rất nhiều.

Thời điểm tôi làm luận văn cũng có nhiều bạn làm cùng đề tài, dựa trên dsPIC (cái này đang nóng trên thị trường do sự hỗ trợ của điễn đàn picvietnam.com), và một cách công bằng mà nói, dòng DSP của TI mạnh hơn hẳng của Microchip nhiều. Những đề tài làm với dsPIC hầu hết đều không thành công lắm.

Trong luận văn, tôi chọn thuật toán MFCC để tạo các mẫu đặc trưng và VQ để nhận dạng. Lý do chính là VQ phù hợp với phần cứng của hệ nhúng (không nặng nề như HMM hay mạng Neutron), và cho kết quả chấp nhận được, nhận dạng khoảng 6 từ với độ chính xác khá cao.

 

Cũng là luận văn năm 2009, Hà Thúc Phùng sử dụng HMM để điều khiển các thiết bị ngoại vi (điều khiển qua cổng COM). Chương trình thực thi tốt, có thể nhận dạng được một câu dài, độ chính xác rất cao. Chương trình được viết bằng Matlab trước tiên, sau đó dịch và chạy với ngôn ngữ VB 6.0 (do Matlab thường có vấn đề với cổng COM). Luận văn của Phùng miêu tả rất kĩ cơ chế làm việc của các thuật toán nhận dạng, là một tài liệu đáng giá cho những ai đang làm với đề tài này.