CHƯƠNG 1. CHUỖI ðẶC TRƯNG ÂM THANH VÀ ỨNG DỤNG TRONG TÌM KIẾM NHẠC SỐ 1. Giới thiệu Chuỗi ñặc trưng âm thanh (audio fingerprint, acoustic fingerprint) là một bản tóm tắt của một chuỗi tín hiệu âm thanh. Chuỗi ñặc trưng ñược sử dụng ñể tìm kiếm các mẫu âm thanh hoặc phát hiện các mẫu âm thanh tương tự nhau trong một cơ sở dữ liệu âm thanh.
Chuỗi ñặc trưng có nhiều ứng dụng, trong ñó có thể kể ñến: nhận dạng các bài hát, các bản thu âm, quảng cáo; giám sát phát thanh; quản lý thư viện hiệu ứng âm thanh, nhận dạng video … Chính vì vậy, chuỗi ñặc trưng ñã trở thành ñối tượng nghiên cứu ñược quan tâm, ñồng thời các ứng dụng của chuỗi ñặc trưng ngày càng phong phú. Chuỗi ñặc trưng, như ñã nói ở trên, là một bản tóm tắt của một chuỗi tín hiệu âm thanh. Như vậy, ñể có ñược chuỗi ñặc trưng của một chuỗi âm thanh, ta cần xây dựng một hàm ánh xạ một chuỗi bít vào một chuỗi bít có ñộ dài nhỏ hơn. Thay vì so sánh mức ñộ tương tự giữa 2 chuỗi bít (tín hiệu âm thanh) và , chúng ta so sánh mức ñộ tương tự của hai chuỗi ñặc trưng tương ứng và .
Trong thực tế, một phiên bản chất lượng CD gốc của bài hát “Rolling Stones – Angie” và một phiên bản mp3 120Kb/s ñược cảm nhận là giống nhau với hệ thống thính giác của con người, tuy nhiên biểu diễn sóng của chúng có thể rất khác nhau. Vì thế, việc so sánh và không phải sự so sánh bằng nhau tuyệt ñối về mặt toán học mà là sự so sánh có tính cảm quan. z 5 Chúng ta cần có một số tiêu chí ñể ñánh giá hàm nói trên. Sau ñây là một số tiêu chí thường ñược sử dụng: • Tính bền vững (robustness): Chuỗi ñặc trưng phải ít thay ñổi khi tín hiệu âm thanh bị suy giảm hoặc tín hiệu âm thanh bị nhiễu, bị méo … Tính chất này làm tăng ñộ tin cậy khi nhận dạng âm thanh trong môi trường thực, có nhiễu và tập âm hoặc biên ñộ tín hiệu nhỏ.
ðể ñạt ñược tính bền vững cao, các fingerprint ñược trích chọn cần dựa trên các ñặc trưng cảm quan, ít bị thay ñổi với các loại nhiễu của tín hiệu. Tỉ lệ sai âm (false negative rate) – xảy ra khi các phiên bản chất lượng khác nhau của cùng một bài hát ñược nhận ñịnh là khác nhau – thường ñược sử dụng ñể ño ñộ bền vững. • Tính tin cậy (reliability): Chuỗi ñặc trưng cho khả năng nhận dạng ñúng trong nhiều trường hợp. Tỉ lệ sai dương (false negave rate) – xảy ra khi hệ thống nhận dạng bản nhạc sai – ñược dùng ñể ño ñộ tin cậy.
• ðộ lớn của chuỗi ñặc trưng: Số lượng bít của chuỗi ñặc trưng nhỏ giúp cho tốc ñộ tìm kiếm ñược cải thiện và giảm dung lượng lưu trữ. • ðộ mịn (granularity): ðộ dài tối thiểu của chuỗi âm thanh (theo ñơn vị thời gian) ñể có thể nhận dạng. Hiện nay, một số thuật toán chỉ cần chuỗi tín hiệu âm thanh có ñộ dài từ 15 ñến 30 giây ñể tính chuỗi ñặc trưng. • Tốc ñộ tìm kiếm và khả năng mở rộng: ðây là các yếu tố quan trọng khi tìm kiếm âm thanh trong các cơ sở dữ liệu lớn.
Tốc ñộ tìm kiếm (search speed) và khả năng mở rộng ñược (scalability) là hai yếu tố ñược quan tâm hàng ñầu trong việc triển khai các hệ thống tìm kiếm âm thanh. Một số ứng dụng của chuỗi ñặc trưng 1. Giám sát phát thanh z 6 Giám sát phát thanh (broadcast monitoring) là một ứng dụng quan trọng của chuỗi ñặc trưng. Trong giám sát phát thanh truyền thống, cơ quan giám sát có các nhân viên theo dõi trên các kênh phát thanh và so sánh với chương trình phát ñể phát hiện sai sót.
Các hệ giám sát phát thanh dựa trên chuỗi ñặc trưng thường có 2 loại máy chủ: Máy chủ giám sát và máy chủ trung tâm. Máy chủ trung tâm sử dụng các chuỗi ñặc trưng này ñể tìm kiếm trong cơ sở dữ liệu và sinh ra báo cáo về chương trình phát của các kênh bị giám sát. Các ứng dụng liên thông âm thanh Các ứng dụng liên thông âm thanh (connected audio) là thuật ngữ chung chỉ các ứng dụng dành cho người dùng có liên quan tới âm thanh/âm nhạc cùng với các thông tin liên quan. Một ví dụ ñặc trưng nhất là ứng dụng tìm kiếm bản nhạc qua ñiện thoại di ñộng.
Người dùng khi nghe một bản nhạc ñược phát qua loa, hoặc ñài phát thanh và muốn biết tên bản nhạc, ca sĩ thể hiện. Người này sẽ gọi tới một số ñiện thoại dịch vụ ñể bản nhạc thu qua ñiện thoại ñược truyền tới server chứa cơ sở dữ liệu âm nhạc. Server căn cứ vào chuỗi ñặc trưng ñể tìm tên bản nhạc, ca sĩ thể hiện … và gửi kết quả cho người dùng. ðây là một bài toán khó vì tín hiệu âm thanh sau nhiều lần truyền ñã bị suy giảm và có nhiều nhiễu.
Các bộ lọc trong ứng dụng dùng chung file Trong các ứng dụng dùng chung file, chuỗi ñặc trưng ñược sử dụng ñể nhận ra các file âm thanh có bản quyền và không cho người dùng tải về các file này. Năm 2001, Napster [4] cài ñặt bộ lọc dựa trên tên file nhưng bộ lọc này hoạt ñộng không hiệu quả bởi vì người dùng thường cố tình ñánh sai tên cho các file có bản quyền mà họ muốn tải về. Do ñó vào tháng 5-2001, Napster ñã sử dụng bộ lọc dựa trên chuỗi ñặc trưng của Relatable [2] cho phép phát hiện ra các file có bản quyền ngay cả khi người sử dụng ñánh sai tên file. Tự ñộng tổ chức thư viện âm nhạc z 7 Chuỗi ñặc trưng có thể ñược sử dụng vào việc tự ñộng tổ chức thư viện âm nhạc.
Hiện nay, MP3 là khuôn dạng file thường ñược sử dụng ñể lưu trữ trong các thư viện âm nhạc. Các file MP3 ñược tạo ra từ nhiều nguồn khác nhau do ñó siêu dữ liệu (meta-data) kèm theo như tên tác giả, tác phẩm, người thể hiện, năm thu âm không ñược ñầy ñủ và nhất quán. Khi ñó, chuỗi ñặc trưng ñược sử dụng ñể hoàn thiện các thông tin này. Một số ứng dụng khác Chuỗi ñặc trưng còn có rất nhiều ứng dụng khác trong thực tiễn.
Chuỗi ñặc trưng có thể ñược sử dụng trong các ứng dụng về truyền hình có tương tác mà không cần sử dụng thêm các thiết bị ñặc biệt, hoặc tự ñộng phát hiện và thay thế các ñoạn quảng cáo. Khác biệt so với các công nghệ khác, chuỗi ñặc trưng hướng tới các ứng dụng ña phương tiện với các mục tiêu chính là nhận dạng các ñối tượng mà không cần ñến các thông tin siêu dữ liệu như meta-data, watermark. Các phương pháp xác ñịnh chuỗi ñặc trưng Nguyên tắc chung cho việc xác ñịnh chuỗi ñặc trưng là trích rút các ñặc trưng từ chuỗi tín hiệu âm thanh. Các ñặc trưng của một bản nhạc thường ñược chia thành hai loại chính: ñặc trưng ngữ nghĩa và ñặc trưng phi ngữ nghĩa.
Các ñặc trưng ngữ nghĩa thường có tính trực quan. Chẳng hạn các ñặc trưng thể loại (genre) âm nhạc, số nhịp trong một phút (beats per minute - bpm), ñiệu tính (mood) là các ñặc trưng ngữ nghĩa. Do các ñặc trưng loại này ít mang tính toán học, nên thường không ñược sử dụng ñể xác ñịnh chuỗi ñặc trưng vì nó cho kết quả không chính xác và ít nhiều gắn với quan ñiểm cá nhân (chẳng hạn ñặc trưng về thể loại). Bởi vậy, người ta thường tập trung vào việc phân tích các thuật toán, phương pháp xác ñịnh chuỗi ñặc trưng dựa trên các ñặc trưng phi ngữ nghĩa.
Hiện nay có bốn phương pháp chính ñể xác ñịnh chuỗi ñặc trưng dựa vào ñặc trưng phi ngữ nghĩa. ðó là các phương pháp: cửa sổ gối của Haitsma[10, 11], z 8 phương pháp của Y. Sau ñây là ý tưởng chính của từng phương pháp. Phương pháp cửa sổ gối Cửa sổ gối (overlay window) là phương pháp xác ñịnh chuỗi ñặc trưng phổ dụng nhất.
Phương pháp này sử dụng các cửa sổ gối nhau của chuỗi tín hiệu âm thanh ñể trích rút các ñặc trưng [11]. Cửa sổ gối ñược sử dụng ñể duy trì tính bất biến của hệ số dịch thời gian (time-shift) trong các trường hợp chúng ta không thể so sánh theo kiểu căn thời gian. Do các frame gối nhau nên các chuỗi ñặc trưng biến ñổi chậm theo thời gian. Khi ñó việc so sánh ñộ tương tự giữa hai bản nhạc sẽ quy về so sánh các chuỗi ñặc trưng con.
Việc so sánh các chuỗi ñặc trưng này là khá ñơn giản khi dựa vào tính khoảng cách Hamming giữa các chuỗi ñặc trưng con tương ứng. Ưu ñiểm của phương pháp này là tính ñơn giản và tốc ñộ tính toán cao. ðể sử dụng phương pháp cửa sổ gối, tín hiệu âm thanh trước tiên ñược chia thành các frame gối nhau. Một tập các ñặc trưng ñược tính toán trên mỗi frame này.
Các ñặc trưng cần ñược chọn sao cho nó ít thay ñổi với các loại nhiễu tín hiệu. Các ñặc trưng này thường là hệ số Fourier (Fourier coefficients) [16], Mel- Frequency Cepstral Coefficients (MFCC) [17], ñộ mịn quang phổ (spectral flatness) [15] hay hệ số Linear Predictive Coding (LPC) [15]. ðặc trưng tính toán trên mỗi frame ñược gọi là một sub-fingerprint. Một sub-fingerprint thường không có ñầy ñủ thông tin cho phép nhận dạng bản nhạc, ñơn vị cơ sở cho nhận dạng là các khối ñặc trưng (fingerprint block).1 Mô hình trích chọn fingerprint của Haitsma Mô hình trích chọn ñặc trưng của Haitsma và các cộng sự [10, 11] dựa trên cách tiếp cận trên.
Theo ñó, 32 bit sub-fingerprint ñược tính toán cho mỗi khoảng 11,6 mili giây. Một fingerprint block bao gồm 256 sub-fingerprint nối tiếp, tương ứng với ñộ mịn (granularity) 3 giây. Như vậy, trong trường hợp xấu nhất, một sub- fingerprint của bản nhạc thu âm và sub-fingerprint tương ứng trong cơ sở dữ liệu có thể sai lệch nhau tối ña 5,8 mili giây. Bởi vì những ñặc trưng âm thanh cảm quan quan trọng nhất nằm trong miền tần số nên biểu diễn phổ ñược tính toán bởi biến ñổi Fourier trên mỗi frame.
Do ñộ nhạy về pha của biến ñổi Fourier với các biên khác nhau trên mỗi frame và do thực tế là hệ thống thính giác của con người (Human Auditory System - HAS) không cảm nhận ñược sự thay ñổi pha nên chỉ những giá trị dương của quang phổ, chẳng hạn như mật ñộ phổ ñược giữ lại. ðể tính toán ñược một giá trị 32 bit sub- fingerprint cho mỗi frame, một dải gồm 33 miền tần số không trùng lặp ñã ñược Haitsma lựa chọn.