Thực thi chương trình

Một phần của tài liệu Khóa luận tốt nghiệp: Chuỗi đặc trưng âm thanh và ứng dụng trong tìm kiếm nhạc số (Trang 36 - 37)

Ứng dụng tìm kiếm nhạc bao gồm hai phần: chương trình phục vụ nhận dạng nhạc và giao diện người dùng đồ họa (GUI), nó có thể chạy trên những máy khác nhau và giao tiếp trên các socket. Đầu tiên chúng ta mô tả cách tạo ra cơ sở dữ liệu tín hiệu âm thanh sau đó mô tả giai đoạn truy vấn và cuối cùng đề cập đến giao diện người dùng.

Với mỗi bài hát trong cơ sở dữ liệu, chúng ta xây dựng một tín hiệu âm thanh như mô tả dưới đây; quá trình xử lý trước giống với quá trình xử lý sau sử dụng trên đoạn truy vấn. Đầu tiên chúng ta tính toán ảnh phổ theo cách đã mô tả trên. Ta chuyển mỗi bài hát thành đơn sắc và lấy mẫu xuống 5512.5 KHz. Đối với một tín hiệu âm thanh chất lượng CD lấy mẫu ở 44.1 KHz, chúng ta quấn lại tín hiệu với một bộ lọc và chia mỗi cái ra 8 mẫu . Tiếp theo chúng ta áp dụng một biến đổi Fourier ngắn với một khung cỡ 2048 mẫu (0.372s) với các khung kế tiếp bởi 64 mẫu (11.6s). Chúng ta chia nguồn năng lượng giữa 300Hz và 2000 Hz thành 33 dải theo không gian logarit. Dãy tần số này phù hợp với dãy mà có thể dễ dàng truyền trên điện thoại di động. Chúng ta sử dụng khoảng cách logarit từ đó phân phối năng lượng của âm thanh đặc trưng điển hình xấp xỉ loga qua tần số. Cuối cùng, ta áp dụng 32 bộ lọc đã nghiên cứu và các điểm bắt đầu để lấy được cái kí hiệu mô tả 32-bit cho mỗi bước thời gian (11.6ms) của tín hiệu; chuỗi kí hiệu mô tả này được biết đến như là tín hiệu. Đối với độ dài trung bình của một bài hát là 200 giây thì yêu cầu lưu trữ cho việc hiển thị nó là xấp xỉ 70KB. Chúng ta tải tất cả các kí hiệu mô tả vào trong bộ nhớ và đặt chúng vào trong một bảng băm cùng với id của bài hát và id của frame (độ dịch của thời gian). Mặc dù sự thực thi bộ nhớ chính làm việc tốt với vài nghìn bài hát nhưng những phương pháp khác có thể là cần thiết đối với những cơ sở dữ liệu lớn hơn.

Trong suốt giai đoạn truy vấn, chương trình phục vụ nhận dạng nhạc xây dựng một tập các kí hiệu mô tả 32-bit giống nhau cho đoạn âm thanh. Với mỗi kí hiệu mô tả, nó tìm ra tất cả các kí hiệu mô tả mà trong phạm vi khoảng cách Hamming 2 bit (theo kinh nghiệm là xác định sự cân bằng tốt giữa độ chính xác và sự phù hợp). Cuối cùng, chúng ta thực hiện sự liên kết hình học sử dụng RANSAC và tìm ra bản phù hợp nhất theo căn cứ EM.

Giao diện người dùng (GUI) ghi lại các đoạn âm thanh từ micro và gửi dưới dạng sóng đến server để nhận dạng. Hình 10 hiển thị một screenshot của GUI của hệ thống. Phần dưới cùng bên trái và bên phải của khung hiển thị ảnh phổ của bản thu

âm và bài hát gốc, lần lượt theo thứ tự riêng rẽ. Mặc dù ảnh phổ thô nhìn khác do tiếng ồn và sự tắc nghẽn nhưng trông nó vẫn có cấu trúc tương tự. Khung văn bản đưa ra tên của bài hát được nhận dạng chính xác.

Hình 10: Ảnh phổ của truy vấn được thu âm và ảnh phổ của bài hát được nhận dạng chính xác.

Một phần của tài liệu Khóa luận tốt nghiệp: Chuỗi đặc trưng âm thanh và ứng dụng trong tìm kiếm nhạc số (Trang 36 - 37)