Trên cơ sở nghiên cứu về chuỗi đặc trưng âm thanh và những ứng dụng của nó, khóa luận này hướng đến việc xây dựng một hệ thống nhận dạng nhạc rất tiện ích với người dùng cho phép trả về
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Thanh Xuân
CHUỖI ĐẶC TRƯNG ÂM THANH VÀ ỨNG DỤNG
TRONG TÌM KIẾM NHẠC SỐ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin
HÀ NỘI – 2009
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Thanh Xuân
CHUỖI ĐẶC TRƯNG ÂM THANH VÀ ỨNG DỤNG
TRONG TÌM KIẾM NHẠC SỐ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS Nguyễn Hải Châu
HÀ NỘI – 2009
Trang 3Tôi cũng xin được gửi lời cảm ơn đến những người bạn đã luôn quan tâm giúp
đỡ tôi, chia sẻ nhiều kinh nghiệm hay với tôi trong quá trình học tập và làm việc Cuối cùng, tôi xin được gửi lời cảm ơn sâu sắc đến gia đình tôi, những người đã luôn bên cạnh cổ vũ, động viên tôi, tạo mọi điều kiện tốt nhất giúp tôi hoàn thành tốt khóa luận này
Trang 4TÓM TẮT NỘI DUNG
Những năm gần đây đã chứng kiến sự phát triển mạnh mẽ của khoa học và ngành công nghiệp tính toán các đặc trưng của các đối tượng đa phương tiện Khái niệm chuỗi đặc trưng âm thanh ra đời có ý nghĩa quan trọng trong việc phát triển các ứng dụng liên quan đến âm thanh nhờ đó mang lại rất nhiều tiện ích cho cuộc sống hiện đại của con người Một trong những ứng dụng của chuỗi đặc trưng âm thanh đang rất được quan tâm hiện nay là nhận dạng nhạc số Trên thế giới đã có rất nhiều ứng dụng về nhận dạng nhạc được phát triển với các phương pháp khác nhau và thu được những kết quả khác nhau, song không phải tất cả các trong số chúng đều trả về kết quả chính xác Trên cơ sở nghiên cứu về chuỗi đặc trưng âm thanh và những ứng dụng của nó, khóa luận này hướng đến việc xây dựng một hệ thống nhận dạng nhạc rất tiện ích với người dùng cho phép trả về thông tin chính xác của một bản nhạc được chơi qua một thiết bị di động chỉ với vài giây âm thanh Khóa luận tốt nghiệp này được thực hiện trong khuôn khổ đề tài nghiên cứu mang mã số QC.08.01 Đại học Quốc gia Hà Nội
Trang 5MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI ĐẶC TRƯNG ÂM THANH VÀ CÁC ỨNG DỤNG 3
1.1 Giới thiệu 3
1.2 Các khái niệm chuỗi đặc trưng âm thanh 3
1.2.1 Định nghĩa chuỗi đặc trưng âm thanh 3
1.2.2 Các tham số của hệ thống chuỗi đặc trưng âm thanh 5
1.3 Các ứng dụng 6
1.3.1 Broadcast Monitoring (BM) 6
1.3.2 Ứng dụng liên thông âm thanh 6
1.3.3 Công nghệ lọc chia sẻ file 7
1.3.4 Tổ chức thư viện âm nhạc tự động 8
CHƯƠNG 2: CÁC PHƯƠNG PHÁP XÂY DỰNG VÀ TÌM KIẾM CHUỖI ĐẶC TRƯNG ÂM THANH 9
2.1 Nguyên tắc cơ bản xây dựng hệ thống chuỗi đặc trưng âm thanh 9
2.2 Các phương pháp xây dựng và tìm kiếm chuỗi đặc trưng trong ứng dụng nhận dạng nhạc 10
2.2.1 Phương pháp xây dựng hệ thống chuỗi đặc trưng mạnh 10
2.2.1.1 Trích rút chuỗi đặc trưng 10
2.2.1.2 Tìm kiếm chuỗi đặc trưng trong cơ sở dữ liệu 16
2.2.2 Phương pháp xây dựng và tìm kiếm chuỗi đặc trưng dựa trên waveprint 21
2.2.2.1 Trích rút chuỗi đặc trưng 21
2.2.2.2 Tìm kiếm chuỗi đặc trưng 25
CHƯƠNG 3: ỨNG DỤNG THỬ NGHIỆM 27
3.1 Phát biểu bài toán 27
3.2 Tổng quan hệ thống 27
3.2.1 Mô tả âm thanh và trích rút chuỗi đặc trưng 28
3.2.2 Tìm kiếm chuỗi đặc trưng phù hợp 29
3.3 Thực thi chương trình 31
3.4 Đánh giá hiệu quả của ứng dụng thử nghiệm 32
3.4.1 Cài đặt thử nghiệm 32
3.4.2 Hiệu quả của hệ thống 33
KẾT LUẬN 36
TÀI LIỆU THAM KHẢO 37
Trang 6LỜI MỞ ĐẦU
Trong thực tế có khi chúng ta sẽ gặp phải một tình huống thế này: bạn đang ngồi trong xe ô tô nghe radio, đang trên xe bus hoặc trong quán cà phê nghe nhạc và bỗng nhiên bạn nghe được một bài hát rất thu vị Đó là bài hát mới rất hay mà bạn từng được nghe sau một khoảng thời gian dài, nhưng bạn đã bỏ lỡ mất phần thông tin
về bài hát và không nhận ra nghệ sĩ đang biểu diễn bài hát đó Mặc dù vậy bạn vẫn muốn biết một số thông tin về bản nhạc này Khi đó bạn nên làm gì? Bạn có thể gọi đến đài phát thanh để hỏi hay hỏi những người xung quanh nhưng đôi khi điều đó hơi bất tiện Nếu bạn có thể nhấn một vài phím trên điện thoại di động và vài giây sau điện thoại sẽ trả lời cho bạn tên của nghệ sĩ và tên của bản nhạc mà bạn đang nghe thì có phải tốt hơn không? Thậm chí có thể có một email sẽ được gửi đến hòm thư của bạn với một vài thông tin được bổ sung thêm
Xuất phát từ nhu cầu thiết thực đó, nhiều phần mềm nhận dạng nhạc kiểu này dựa trên các công nghệ khác nhau đã ra đời tuy nhiên không nhiều trong số đó đáp ứng tốt mong muốn của người dùng và trở nên phổ biến
Trong khóa luận này sẽ thảo luận về hệ thống chuỗi đặc trưng âm thanh – một nền tảng quan trọng có thể giúp tạo ra viễn cảnh như chúng ta vừa đề cập bên trên
Bằng cách sử dụng chuỗi đặc trưng (fingerprint) của một đoạn âm thanh chưa biết
như một truy vấn trong cơ sở dữ liệu chuỗi đặc trưng, cơ sở dữ liệu này chứa các chuỗi đặc trưng của một thư viện rất nhiều bài hát, và khi đó đoạn âm thanh có thể được xác định Điểm cốt lõi của vấn đề được trình bày là phương pháp trích rút chuỗi đặc trưng và chiến lược tìm kiếm chuỗi đặc trưng rất hiệu quả, nó cho phép tìm kiếm một cơ sở dữ liệu chuỗi đặc trưng lớn chỉ với những tài nguyên tính toán gới hạn Khóa luận gồm ba chương:
Chương 1: Tổng quan về chuỗi đặc trưng âm thanh và các ứng dụng Chương này trình bày một cách tổng quan nhất những khái niệm cơ bản liên quan đến chuỗi đặc trưng âm thanh và những ứng dụng phổ biến của chuỗi đặc trưng âm thanh
Chương 2: Các phương pháp xây dựng và tìm kiếm chuỗi đặc trưng âm thanh Trình bày hai phương phát trích rút và tìm kiếm chuỗi đặc trưng âm thanh phổ biến hiện nay trong các ứng dụng nhận dạng nhạc là phương pháp xây dựng chuôi đặc trưng mạnh và phương pháp xây dựng chuỗi đặc trưng dựa trên wavelet
Trang 7Chương 3: Ứng dụng thử nghiệm Chương này trình bày một ứng dụng cụ thể của chuỗi đặc trưng âm thanh trong một lĩnh vực đang rất được quan tâm hiện nay đó
là nhận dạng nhạc số Trong này sẽ mô tả khái quát về chương trình thử nghiệm của ứng dụng nhận dạng nhạc và những kết quả đạt được
Trang 8CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI ĐẶC TRƯNG ÂM
THANH VÀ CÁC ỨNG DỤNG
1.1 Giới thiệu
Chuỗi đặc trưng âm thanh là một tập các thuộc tính của âm thanh được dùng để xác định các dạng khác nhau của âm thanh bao gồm âm nhạc, phát thanh radio và các tác động khác tới âm thanh Mục tiêu đầu tiên của chuỗi đặc trưng âm thanh là thiết lập trạng thái bằng nhau của hai đối tượng âm thanh: không phải bằng cách so sánh chính hai đối tượng đó mà bằng cách so sánh những chuỗi đặc trưng liên kết của nó Trong hầu hết các hệ thống sử dụng công nghệ chuỗi đặc trưng, các chuỗi đặc trưng của một số lượng lớn các đối tượng âm thanh cùng với siêu dữ liệu (ví dụ tên của nghệ sĩ, tên album) được lưu trữ trong một cơ sở dữ liệu Các chuỗi đặc trưng đáp ứng như một chỉ mục đến siêu dữ liệu Siêu dữ liệu của nội dung âm thanh chưa được xác định sau đó sẽ được phục hồi lại bằng cách tính toán một chuỗi đặc trưng
và sử dụng nó như truy vấn trong cơ sở dữ liệu chuỗi đặc trưng/siêu dữ liệu Ưu điểm của việc sử dụng chuỗi đặc trưng thay cho chính đối tượng âm thanh là:
1 Giảm bớt yêu cầu bộ nhớ lưu trữ vì các chuỗi đặc trưng tương đối nhỏ
2 So sánh hiệu quả vì sự không đồng đều được loại bỏ bởi chuỗi đặc trưng
3 Tìm kiếm hiệu quả vì tập dữ liệu (dataset) để tìm kiếm là nhỏ hơn
Vì những kết luận trên một hệ thống chuỗi đặc trưng nói chung bao gồm hai thành phần: một phương pháp để trích ra chuỗi đặc trưng và một phương pháp để tìm kiếm hiệu quả những chuỗi đặc trưng phù hợp trong cơ sở dữ liệu chuỗi đặc trưng
1.2 Các khái niệm chuỗi đặc trưng âm thanh
1.2.1 Định nghĩa chuỗi đặc trưng âm thanh
Độ hồi tưởng (recall) một chuỗi đặc trưng âm thanh có thể được xem như một
tóm tắt ngắn của một đối tượng âm thanh Vì thế một hàm chuỗi đặc trưng F ánh xạ
(map) một đối tượng âm thanh X – bao gồm một số lượng lớn các bit – đến chuỗi
đặc trưng chỉ gồm một số lượng bit giới hạn
Ở đây chúng ta có thể thấy sự tương tự với các hàm băm đã được biết đến trong công nghệ mã hóa Một hàm băm mật mã H rút ra từ một đối tượng X (thường là
Trang 9lớn) thành giá trị băm (thường là nhỏ) Một hàm băm mật mã cho phép so sánh hai đối tượng X và Y bằng cách so sánh các giá trị băm tương ứng là H(X) và H(Y) Sự bằng nhau chính xác về mặt toán học của cặp H(X), H(Y) đưa đến sự bằng nhau của cặp X và Y với xác xuất xẩy ra lỗi rất thấp Đối với hàm băm mật mã được xây dựng hợp lệ thì xác xuất này là 2-n, trong đó n bằng số bit của giá trị băm Sử dụng các hàm băm mật mã là một phương pháp hiệu quả hiện có để kiểm tra các dữ liệu cụ thể của mục X có chứa trong tập dữ liệu lớn được đưa ra là Y = {Y i} hay không Thay
vì lưu trữ và so sánh với tất cả dữ liệu trong Y thì chỉ cần lưu trữ thành tập các giá trị băm {h i =H(Y i)} và so sánh H(X) với tập các giá trị băm
Nếu như thế có thể ta nghĩ rằng các hàm băm mật mã là một ứng cử tốt cho các hàm chuỗi đặc trưng Tuy nhiên với độ hồi tưởng được giới thiệu bên trên, thay vì sự bằng nhau chính xác về mặt toán học, chúng ta quan tâm đến đặc điểm tương tự nhau
Ví dụ, chất lượng của bản CD gốc của Rolling Stones-Angie và bản MP3 ở tốc độ 128Kb/s giống nhau với cơ quan thính giác của con người nhưng sóng của chúng có thể khá là khác nhau Mặc dù hai bản nhạc đó có cảm giác là giống nhau nhưng về mặt toán học chúng khác nhau Vì thế các hàm băm mật mã không thể đưa ra quyết định dựa trên sự bằng nhau trực giác của hai bản đó
Một câu hỏi khác được đặt ra là: “Có thể tạo ra một hàm chuỗi đặc trưng mà cung cấp các chuỗi đặc trưng bằng nhau cho những đối tượng giống nhau về mặt cảm giác không?” Câu hỏi là rất hợp lý nhưng câu trả lời là mô hình cho sự giống nhau cảm giác về cơ bản là không thực hiện được Sự giống nhau cảm giác của cặp đối tượng X và Y và cặp đối tượng khác Y và Z không nhất thiết bao hàm sự giống nhau của cặp đối tượng X và Z
Việc đưa ra những lý lẽ trên mục đích là đề xuất cách xây dựng một hàm chuỗi đặc trưng theo cách mà các đối tượng âm thanh giống nhau về mặt cảm giác đưa đến kết quả là những chuỗi đặc trưng giống nhau Hơn nữa, để có thể phân biệt giữa những đối tượng âm thanh khác nhau, phải có xác xuất mà các đối tượng âm thanh không giống nhau đưa đến những chuỗi đặc trưng không giống nhau là rất cao Chính xác hơn, cho hàm chuỗi đặc trưng F đã được xây dựng, điểm bắt đầu T với xác xuất lớn ||F(X)-F(Y)|| ≤ T nếu các đối tượng X và Y là giống nhau và ||F(X)-F(Y)|| > T khi chúng khác nhau
Trang 101.2.2 Các tham số của hệ thống chuỗi đặc trưng âm thanh
Bên trên ta đã có một định nghĩa thích hợp của chuỗi đặc trưng âm thanh, phần này trình bày về các tham số khác nhau của một hệ thống chuỗi đặc trưng âm thanh Các tham số chính là:
• Độ mạnh (Robustness): Liệu một đoạn âm thanh vẫn có thể được xác định
sau khi tín hiệu bị suy biến mạnh không? Để đạt được độ mạnh cao chuỗi đặc trưng nên dựa trên cơ sở những đặc điểm thuộc tri giác không đổi (ít nhất là đến một mức độ nào đó) với sự suy biến của tín hiệu Tốt nhất là âm thanh bị suy biến vẫn đưa đến những chuỗi đặc trưng rất giống nhau Tỷ lệ
phủ định sai (false negative rate) nói chung được dùng để diễn đạt độ mạnh
• Độ tin cậy (Reliability): Bao lâu một lần thì một bài hát bị nhận dạng sai?
Ví dụ “Rolling Stones – Angie” bị nhận dạng là “Beatles – Yesterday” Tỷ
lệ mà tại đó tham số này được chỉ ra thường được tham chiếu đến như là tỷ
lệ khẳng định sai
• Cỡ chuỗi đặc trưng (Fingerprint size): một chuỗi đặc trưng cần dung
lượng lưu trữ là bao nhiêu? Để có thể tìm kiếm nhanh, các chuỗi đặc trưng thường được lưu trong bộ nhớ RAM Vì thế cỡ của chuỗi đặc trưng, thường được biểu diễn bằng bit/giây hoặc bit/bài hát, xác định độ lớn của tài nguyên
bộ nhớ cần cho server cơ sở dữ liệu chuỗi đặc trưng
• Granularity: Cần bao nhiêu giây âm thanh để nhận ra một đoạn âm thanh?
Granularity là một tham số có thể phụ thuộc vào từng ứng dụng cụ thể Trong một vài ứng dụng thì toàn bộ bài hát có thể được dùng để nhận dạng, trong những ứng dụng khác thì chỉ một đoạn trích ngắn của âm thanh được
dùng để xác định
• Tốc độ tìm kiếm và khả năng mở rộng (Search speed and scalability):
Mất bao lâu để tìm ra một chuỗi đặc trưng trong cơ sở dữ liệu chuỗi đặc trưng? Phải làm gì nếu cơ sở dữ liệu chứa hàng trăm nghìn bài hát? Đối với
sự triển khai về mặt thương mại của các hệ thống chuỗi đặc trưng âm thanh, tốc độ tìm kiếm và khả năng mở rộng của hệ thống là yếu tố then chốt Tốc
độ tìm kiếm nên là khoảng mili giây cho cơ sở dữ liệu chứa khoảng 100000
bài hát và chỉ sử dụng nguồn tài nguyên tính toán giới hạn
Năm tham số cơ bản này có ảnh hưởng lẫn nhau Ví dụ, nếu một ứng dụng
muốn granularity thấp hơn thì nó cần trích ra một chuỗi đặc trưng lớn hơn để thu
Trang 11được cùng độ tin cậy Điều này là vì tỷ lệ khẳng định sai nghịch đảo liên quan đến cỡ chuỗi đặc trưng Một ví dụ khác: tốc độ tìm kiếm nói chung sẽ tăng lên khi một ứng
dụng được xây dựng với chuỗi đặc trưng mạnh (robust) hơn Điều này là vì tìm kiếm
chuỗi đặc trưng là phép tìm kiếm xấp xỉ Giả sử một chuỗi đặc trưng tương tự vừa được tìm thấy, nếu các thuộc tính càng mạnh hơn thì độ xấp xỉ càng nhỏ hơn Vì thế tốc độ tìm kiếm có thể được tăng lên đáng kể
1.3 Các ứng dụng
1.3.1 Broadcast Monitoring (BM)
BM hầu như là ứng dụng nổi tiếng nhất của chuỗi đặc trưng âm thanh BM là giải pháp phù hợp để dò tìm, giám sát các bài hát, các quảng cáo và kiểm tra các
chương trình phát thanh Nó đề cập đến việc tạo ra danh sách (playlist) tự động của
radio, ti vi hoặc truyền hình web, truyền hình vệ tinh, trong số đó mục đích là tập hợp tiền bản quyền, kiểm tra chương trình, kiểm tra quảng cáo và đo số người sử dụng Khi bạn cần giám sát hai đài phát hoặc thậm chí hai nghìn đài phát, hệ thống sẽ
cung cấp những danh sách (playlist) và các bản báo cáo cùng các chỉ dẫn kỹ thuật
phù hợp
Một hệ thống BM quy mô lớn trên nền tảng chuỗi đặc trưng bao gồm vài site
giám sát (monitoring ) và một site trung tâm ở nơi mà server chuỗi đặc trưng được đặt Ở các site monitoring các chuỗi đặc trưng được rút ra từ tất cả các kênh truyền
thanh truyền hình (cục bộ) Site trung tâm thu thập các chuỗi đặc trưng đó từ các site
monitoring Rồi sau đó, server chuỗi đặc trưng – chứa một cơ sở dữ liệu chuỗi đặc
trưng khổng lồ - cung cấp các playlist cho tất cả các kênh truyền thanh và truyền
hình đó
1.3.2 Ứng dụng liên thông âm thanh
Ứng dụng liên thông âm thanh là thuật ngữ chung cho những ứng dụng tiêu dùng mà ở đó âm nhạc được kết nối theo cách này hay cách khác để đưa ra và hỗ trợ thông tin Một ví dụ đã được đưa ra trong phần trên là sử dụng một điện thoại di động để xác định một bài hát Trong thực tế công việc này hiện đang được tiếp tục thực hiện bởi một số công ty như Shazam, Yacast Tín hiệu âm thanh trong ứng dụng này bị suy biến trở lên rất xấu bởi vì quá trình xử lý áp dụng đài phát thanh, truyền trên FM/AM, đường dẫn âm thanh giữa loa phóng thanh và micro của điện thoại di
Trang 12động, mã hóa âm thanh và cuối cùng truyền trên mạng di động Vì thế nhìn nhận về mặt công nghệ thì đây là 1 ứng dụng đầy thách thức
Những ví dụ khác về ứng dụng liên thông âm thanh là radio của ô tô với một nút để nhận dạng bản nhạc đang nghe hoặc các ứng dụng “nghe” luồng âm thanh vào hoặc ra trên một máy tính Bằng cách nhấn vào nút “info” trong ứng dụng chuỗi đặc trưng, người dùng có thể điều hướng đến một trang trên Internet chứa thông tin về nghệ sĩ biểu diễn, tên bài hát, tên album Hoặc nhấn vào nút “buy” người dùng có thể mua album trên Internet Nói cách khác, chuỗi đặc trưng âm thanh có thể cung cấp một hệ thống liên kết chung cho tất cả những nội dung âm thanh
1.3.3 Công nghệ lọc chia sẻ file
Ví dụ điển hình cho công nghệ lọc để chia sẻ file là Napster Bắt đầu vào tháng
6 năm 1999, người dùng tải về Napster client có thể chia sẻ và tải về được một bộ
sưu tập nhạc miễn phí rất lớn Sau đó, vì vấn đề pháp lý trong ngành công nghiệp âm nhạc, người dùng Napster bị cấm tải về những bài hát có bản quyền Vì thế vào tháng
3 năm 2001 Napster thiết lập một bộ lọc âm thanh trên cơ sở là tên file để ngăn cản việc tải những bài hát có bản quyền (sử dụng công nghệ lọc dựa trên văn bản để lọc tên các bài hát) Bộ lọc đó không hiệu quả, bởi vì người dùng bắt đầu cố ý viết sai chính tả tên file Vào tháng 5 năm 2001 Napster giới thiệu hệ thống chuỗi đặc trưng
âm thanh bởi Relatable, nó hướng vào việc lọc ra những thành phần có bản quyền dựa trên nội dung âm thanh vì thế thậm chí nếu chúng có bị viết sai chính tả thì vẫn
bị nhận ra Napster bị khai tử chỉ hai tháng sau đó
Trong một dịch vụ chia sẻ file hợp pháp ứng dụng có thể áp dụng lên lịch lọc chi tiết hơn là việc chỉ lọc được những thành phần có bản quyền
Mặc dù từ quan điểm của một người tiêu dùng, bộ lọc âm thanh có thể được xem như một công nghệ không được mong đợi nhưng cũng có một số lợi ích tiềm năng đối với người tiêu dùng Đầu tiên nó có thể tổ chức tên của các bài hát trong các kết quả tìm kiếm theo một cách phù hợp bằng cách sử dụng siêu dữ liệu đáng tin cậy của cơ sở dữ liệu chuỗi đặc trưng Thứ hai, chuỗi đặc trưng có thể đảm bảo rằng những bài hát được tải về thực sự là những bài hát được mong đợi
Trang 131.3.4 Tổ chức thư viện âm nhạc tự động
Ngày nay nhiều người dùng máy tính có một thư viện âm nhạc chứa vài trăm đôi khi thậm chí là vài nghìn bài hát Các bản nhạc nói chung được lưu trữ trong định dạng nén (thường là MP3) trong ổ cứng của họ Bởi vì những bài hát này thu được từ nhiều nguồn khác nhau, như xao chép từ đĩa CD hoặc tải về từ các mạng chia sẻ file, nên những thư viện này thường không được tổ chức tốt Siêu dữ liệu thường không thống nhất, không đầy đủ và đôi lúc thậm chí còn không đúng Giả sử cơ sở dữ liệu chuỗi đặc trưng chứa các siêu dữ liệu đúng, chuỗi đặc trưng âm thanh có thể tạo nên siêu dữ liệu của các bài hát trong một thư viện đồng nhất, cho phép tổ chức sắp xếp
dễ dàng trên cơ sở đó, ví dụ theo album hay theo nghệ sĩ Ví dụ, ID3Man – một công
cụ mạnh được phát triển bởi kỹ thuật chuỗi đặc trưng Auditude để tạo nhãn các file MP3 không gán nhãn hay nhãn sai Một công cụ tương tự là Moodlogic sẵn có như một plug-in trong Winamp
Trang 14CHƯƠNG 2: CÁC PHƯƠNG PHÁP XÂY DỰNG VÀ TÌM KIẾM
CHUỖI ĐẶC TRƯNG ÂM THANH
2.1 Nguyên tắc cơ bản xây dựng hệ thống chuỗi đặc trưng âm thanh
Các chuỗi đặc trưng âm thanh có khuynh hướng giữ lấy những đặc điểm có liên quan đến tri giác của âm thanh Việc rút ra và tìm kiếm các chuỗi đặc trưng cùng một
lúc nên được thực hiện nhanh chóng và dễ dàng, tốt nhất là với một granularity (độ dài của đoạn âm thanh truy vấn) nhỏ để cho phép sử dụng trong các ứng dụng đòi hỏi
cao (ví dụ việc nhận dạng qua điện thoại di động) Chúng ta sẽ đưa ra một vài câu hỏi cơ bản trước khi bắt đầu xây dựng và thực thi chuỗi đặc trưng âm thanh Câu hỏi
dễ thấy nhất là: những loại thuộc tính nào phù hợp nhất? Trong những tài liệu được công bố hiện có thì tập các thuộc tính có liên quan nói chung được chia làm hai lớp: lớp các thuộc tính ngữ nghĩa và lớp các thuộc tính phi ngữ nghĩa Các yếu tố điển
hình trong lớp thuộc tính ngữ nghĩa là loại (genre), số nhịp trên phút
(beats-per-minute), và điệu (mood) Những loại thuộc tính này thường có thể hiểu trực tiếp, và
trên thực tế được dùng để phân loại nhạc, tạo ra các danh sách Lớp thuộc tính phi ngữ nghĩa bao gồm các thuộc tính có tính chất toán học hơn và con người khó có thể
“đọc” trực tiếp ra từ bản nhạc Yếu tố điển hình trong lớp này là AudioFlatness được
đề xuất trong MPEG-7 như một tập các kí hiệu mô tả âm thanh Dưới đây sẽ trình bày một vài lý do để chúng ta nên chọn làm việc với các thuộc tính phi ngữ nghĩa:
• Các thuộc tính ngữ nghĩa luôn luôn có nghĩa mập mờ và không rõ ràng Ví
dụ những người có sở thích khác nhau thì có quan điểm khác nhau đối với việc phân loại Ngoài ra, trên thực tế ngữ nghĩa có thể thay đổi theo thời
gian Ví dụ, âm nhạc được phân loại như cách đây 25 năm là hard rock thì ngày nay được coi là soft listening Điều này làm cho việc phân tích toán
Trang 15phần biểu thị trọng lượng (weight) của thuộc tính thuộc tri giác cơ bản nào đó Quan
điểm thứ hai là ngăn cản tiến gần hơn đến các hàm băm mã hóa và biểu diễn các chuỗi đặc trưng số như những xâu bit Vì lý do giảm độ phức tạp tìm kiếm chúng ta quyết định làm việc với quan điểm thứ hai Theo quan điểm đầu tiên thì việc đo độ giống nhau có dính dáng đến các phép cộng/trừ các số thực thậm chí có thể là các phép nhân số thực Các chuỗi đặc trưng dựa trên cơ sở biểu diễn bởi các bit có thể được so sánh bằng cách đơn giản là đếm các bit Khi đưa ra viễn cảnh những ứng
dụng được mong đợi, chúng ta không mong muốn robustness cao cho mỗi ứng dụng
và mỗi bit trong chuỗi đặc trưng nhị phân Vì thế, trái ngược với các hàm băm mật
mã mà điển hình có tối đa vài trăm bit, chúng ta sẽ cho phép các chuỗi đặc trưng có vài nghìn bit Các chuỗi đặc trưng chứa số lượng bit lớn cho phép nhận dạng tin cậy thậm chí nếu tỷ lệ phần trăm của các bit không phù hợp là khá cao
Câu hỏi cuối cùng liên quan đến granularity của các chuỗi đặc trưng Trong các
ứng dụng mà chúng ta vạch ra không đảm bảo rằng các file âm thanh cần nhận dạng được hoàn thành xong Ví dụ, trong BM, bất kỳ khoảng thời gian 5 giây nào cũng là một đơn vị âm nhạc có giá trị thương mại, và vì thế có thể được xác định và được nhận ra Ngoài ra trong các ứng dụng về bảo mật như việc lọc file trên mạng ngang
hàng (peer-to-peer), một ứng dụng sẽ không mong muốn việc xóa bỏ vài giây đầu
tiên của một file âm thanh sẽ ngăn cản việc nhận dạng Vì thế trong công việc này
chúng ta chấp nhận cách giải quyết của luồng chuỗi đặc trưng bằng cách chia thành những chuỗi đặc trưng con (sub-fingerprint) là những khoảng thời gian nguyên tử đủ nhỏ (chỉ đến frame) Những chuỗi con này có thể không đủ lớn để tự chúng xác định các frame, nhưng một khoảng thời gian dài hơn – chứa đủ nhiều frame – sẽ cho phép
nhận dạng chắc chắn và mạnh mẽ
2.2 Các phương pháp xây dựng và tìm kiếm chuỗi đặc trưng trong ứng dụng nhận dạng nhạc
Phần này chúng ta sẽ tìm hiểu hai phương pháp xây dựng và tìm kiếm chuỗi đặc
trưng dùng trong nhận dạng nhạc tiêu biểu hiện nay
2.2.1 Phương pháp xây dựng hệ thống chuỗi đặc trưng mạnh
Phương pháp này được phát triển bởi Jaap Haitsma và Ton Kalker
2.2.1.1 Trích rút chuỗi đặc trưng
a) Thuật toán trích chọn
Trang 16Kế hoạch trích chọn chuỗi đặc trưng được đề xuất trong phương pháp này dựa
trên cơ sở phương pháp luồng nói chung Nó rút ra những chuỗi đặc trưng con 32 bit cho mỗi khoảng thời gian 11.6 mili giây Một khối chuỗi đặc trưng bao gồm 256
chuỗi con nối tiếp nhau, tương ứng với granularity chỉ 3 giây Một qui trình tổng
quan được biểu diễn ở hình 2 Tín hiệu âm thanh đầu tiên được chia đoạn vào các
frame chồng nhau (overlapping) Các frame chồng có độ dài 0.37 giây và có trọng
lượng bằng cửa sổ Hamming với một thừa số chồng 31/32 Kết quả của kế hoạch này trong việc trích rút của một chuỗi đặc trưng con cho mỗi 11.6 mili giây Trong
trường hợp xấu nhất các ranh giới của frames sử dụng trong việc nhận dạng là 5.8
mili giây với chú ý là các ranh giới được dùng trong cơ sở dữ liệu của các chuỗi đặc trưng đã được tính toán trước Sự chồng lấp lớn đảm bảo rằng thậm chí trong trường hợp xấu nhất các chuỗi đặc trưng con của đoạn âm thanh được nhận dạng vẫn giống các chuỗi đặc trưng con của những đoạn giống thế trong cơ sở dữ liệu Vì sự chồng lấp lớn các chuỗi đặc trưng con tiếp sau có sự giống nhau nhiều và biến đổi rất chậm theo thời gian Hình 3a biểu diễn một ví dụ về khối chuỗi đặc trưng được rút ra và các đặc trưng biến đổi rất chậm theo thời gian
Hình 1: Tổng quan về quá trình trích chọn chuỗi đặc trưng
Các thuộc tính âm thanh thuộc tri giác quan trọng nhất nằm trong miền tần số
Vì thế một sự biểu diễn quang phổ được tính toán bởi hiệu quả biểu diễn của phép
biến đổi Fourier trên mỗi frame Vì độ nhạy pha của khai triển Fourier khác ranh giới của frame và sự kiện mà cơ quan thính giác của con người (Human Auditory System
– HAS) không nhạy với pha, chỉ có giá trị tuyệt đối của phổ là được giữ lại, ví dụ
năng lượng mật độ phổ
Trang 17Để mà rút ra giá trị chuỗi con 32 bit cho mỗi frame thì các dải tần không chồng
chất 33 được chọn Những dải tần này nằm trong phạm vi từ 300Hz đến 2000Hz (phạm vi phổ có liên quan nhất đến HAS) và có một khoảng cách logarit Khoảng cách logarit được chọn bởi vì nó được biết đến bởi HAS có tác dụng trên những dải tần xấp xỉ logarit (vì thế được gọi là thang Bark) Bằng thực nghiệm dải tần được kiểm tra sự khác nhau của tín hiệu năng lượng (đồng thời theo thời gian và tần số) là thuộc tính rất mạnh của nhiều loại quá trình xử lý Nếu chúng ta ký hiệu năng lượng
của dải tần m của frame n là E(n,m) và m bit của chuỗi đặc trưng con của frame là
F(n,m), số bit của chuỗi con được xác định chính thức là (xem khối màu xám trong
−
=
0))1,1(),1(()1,(),(0
0))1,1(),1(()1,(),(1)
(
m n E m n E m
n E m n ifE
m n E m n E m
n E m n ifE m
n
Hình 2: (a) Khối chuỗi đặc trưng của đoạn nhạc gốc
(b) khối chuỗi đặc trưng của đoạn nhạc đã bị nén
Trang 18(c) sự khác nhau giữa (a) và (b) thể hiện ở những bit lỗi màu đen (BER=0.078)
Hình 2 biểu diễn một ví dụ của 256 chuỗi con 32 bit nối tiếp nhau (ví dụ về một khối chuỗi đặc trưng), trích ra theo cách trên từ một đoạn trích ngắn của bản “O Fortuna” của Carl Orff Bit ‘1’ tương ứng với điểm ảnh trắng và bit ‘0’ tương ứng với điểm ảnh đen Hình 2a và hình 2b biểu diễn khối chuỗi đặc trưng tương ứng từ một đĩa CD gốc và một bản MP3 nén (32Kbps) của cùng một đoạn trích Lý tưởng thì hai hình này sẽ được xác định, nhưng vì việc nén một vài bit được tìm lại không đúng Những bít lỗi này được sử dụng như độ đo sự giống nhau cho chuỗi đặc trưng của chúng ta – được biểu diễn bằng màu đen trong hình 2c
Những tài nguyên tính toán cần cho thuật toán được đề xuất là có giới hạn Bởi
vì thuật toán chỉ được tính toán với âm thanh nhận được có tần số dưới 2kHz được
lấy mẫu lần đầu tiên thấp xuống từ luồng âm thanh đơn sắc (mono) với tốc độ lấy
mẫu 5kHz Các chuỗi đặc trưng con được xây dựng có khả năng chống lại sự suy
giảm tín hiệu Hiện tại các bộ lọc 16 nút FIR đang được sử dụng Thao tác đòi hỏi
tính toán khắt khe nhất là biến đổi Fourier của mỗi frame âm thanh Trong tín hiệu
âm thanh được lấy mẫu một frame có độ dài 2048 mẫu Nếu biến đổi Fourier được
thực thi như một điểm cố định FFT giá trị thực thuật toán chuỗi đặc trưng vừa nói
chạy hiệu quả trên các thiết bị cầm tay như PDA hoặc điện thoại di động
b) Phân tích khẳng định sai
Hai tín hiệu âm thanh 3 giây được trình bày giống nhau nếu khoảng cách Hamming (ví dụ số bit lỗi) giữa hai khối chuỗi đặc trưng được suy ra thấp hơn điểm
bắt đầu T một ít Giá trị điểm bắt đầu T này xác định trực tiếp tỷ lệ khẳng định sai P f,
ví dụ tỷ lệ của tín hiệu âm thanh không được trình bày trực tiếp bằng: T nhỏ hơn, xác xuất P f sẽ nhỏ hơn Mặt khác, giá trị T nhỏ sẽ không ảnh hưởng đến xác xuất phủ
định sai P n, ví dụ xác xuất mà hai tín hiệu ”bằng nhau” nhưng không được xác định
Để phân tích sự lựa chọn điểm bắt đầu T, chúng ta giả sử rằng quá trình xử lý
việc rút ra chuỗi đặc trưng mang lại các bit i.i.d ngẫu nhiên (i.i.d = independent and
identically distributed – độc lập và được phân bố tương tự nhau) Số bit lỗi sau đó sẽ
có phân phối nhị thức (n,p), trong đó n bằng số bit được lấy ra và p (=0.5) là xác xuất
mà bit 0 hoặc 1 được rút được lấy ra Từ đó n (=8192=32*256) lớn trong ứng dụng của chúng ta, phân phối nhị thức có thể xấp xỉ bằng phân phối thông thường với một giá trị trung bình μ =npvà độ lệch chuẩn σ = (np( 1 − p)) Đưa ra khối chuỗi đặc trưng F1, xác xuất mà khối chuỗi đặc trưng F2 được chọn ngẫu nhiên có ít hơn
Trang 19)21(2
12
1)
(
) 2 1 (
2 /
π
α
Trong đó α là kí hiệu của tỷ lệ bit lỗi (Bit Error Rate – BER)
Tuy nhiên, trong thực tế các chuỗi đặc trưng có sự tương quan cao theo thời gian Sự tương quan này không chỉ là vì sự tương quan thời gian vốn có trong âm
thanh mà còn bởi sự chồng lấp lớn của các frame được dùng trong việc rút ra chuỗi
đặc trưng Sự tương quan cao hơn kéo theo một độ lệch chuẩn lớn hơn, như biểu diễn bởi tham số dưới đây
Giả sử 1 nguồn đối xứng {-1,1} với xác xuất có kí hiệu x i và x i+1 là giống nhau
và bằng q Sau đó được biểu diễn:
[ ] k
k i
x
E + = (2.3) Trong đó a=2.q-1 Nếu nguồn Z là độc nhất hoặc 2 chuỗi X và Y, sau đó Z là đối xứng và
k i
z
E + = 2 (2.4) Với N lớn, độ lệch chuẩn trung bình Z N trên N mẫu liên tiếp của Z có thể được
mô tả xấp xỉ bằng phân phối thông thường với giá trị trung bình 0 và độ lệch chuẩn bằng:
)1(
1
2
2
a N
Trang 20Hình 3: So sánh xác xuất hàm mật độ của tỷ lệ bit lỗi (BER) được biểu thị bằng dấu ‘+’ và phân phối thông thường
Hình 3 biểu diễn hàm mật độ xác xuất (Probability Density Function – PDF)
của phân phối BER đã được đo và phân phối thông thường với giá trị trung bình 0.5
và độ lệch tiêu chuẩn 0.0148 Hàm mật độ xác xuất của tỷ lệ bit lỗi là sự xấp xỉ gần với phân phối thông thường Đối với những phân phối tỷ lệ bit lỗi dưới 0.45 chúng ta theo dõi thêm một vài giá trị tham khảo bên ngoài, bởi vì thống kê không đầy đủ Để hợp nhất độ lệch chuẩn lớn hơn của phân phối tỷ lệ bit lỗi công thức (2.2) được sửa bằng cách bao gồm thừa số 3
)21(2
(2.7)
Điểm bắt đầu cho tỷ lệ bit lỗi sử dụng trong các thử nghiệm là α = 0.35 Giá trị trung bình này vượt qua 8192 bits và phải ít hơn 2867 bits lỗi để mà quyết định những khối chuỗi đặc trưng bắt nguồn từ những bài hát giống nhau Sử dụng công thức (2.7)
chúng ta đạt tới tỷ lệ khẳng định sai của erfc(6.4)/2=3.6*10-20 rất thấp
Trang 212.2.1.2 Tìm kiếm chuỗi đặc trưng trong cơ sở dữ liệu
Tìm kiếm các chuỗi đặc trưng đã được trích rút trong cơ sở dữ liệu chuỗi đặc trưng là công việc không đơn giản Thay vào đó việc tìm kiếm chuỗi đặc trưng dạng bit dễ dàng hơn, chuỗi đặc trưng gần giống nhất sẽ được tìm ra Chúng ta trình bày quá trình tìm kiếm này với các số liệu dựa trên những chuỗi đặc trưng được trích rút như bên trên Giả sử cơ sở dữ liệu chuỗi đặc trưng có cỡ vừa phải chứa khoảng
10000 bài hát với độ dài trung bình là 5 phút Điều này tương đương với xấp xỉ 250 triệu chuỗi đặc trưng con Để xác định một khối chuỗi đặc trưng có nguồn gốc từ đoạn âm thanh chưa biết chúng ta phải tìm ra khối chuỗi đặc trưng giống nhất trong
cơ sở dữ liệu Nói theo cách khác chúng ta phải tìm ra vị trí trong 250 triệu chuỗi đặc
trưng con mà ở đó tỷ lệ bít lỗi là tối thiểu Đây là quá trình của cách tìm kiếm brute
force Tuy nhiên phải làm phép so sánh với 250 triệu khối chuỗi đặc trưng Sử dụng
một máy PC hiện đại thì có thể đạt được tỷ lệ so sánh xấp xỉ 200000 khối chuỗi đặc trưng trong một giây Vì thế tổng thời gian tìm kiếm cho mỗi ví dụ sẽ là 20 phút
Điều này cho thấy tìm kiếm brute force là giải pháp không thể dùng được cho các
ứng dụng thực tế
Chúng ta sẽ sử dụng một thuật toán tìm kiếm hiệu quả hơn Thay vì tính toán tỷ
lệ bit lỗi cho mỗi vị trí có thể trong cơ sở dữ liệu như phương pháp tìm kiếm brute
force, ở đây ta chỉ tính toán cho một vài vị trí ứng cử Những vị trí ứng cử này có xác
xuất rất cao trở thành vị trí phù hợp nhất trong cơ sở dữ liệu
Trong phiên bản đơn giản của thuật toán tìm kiếm được cải tiến, các vị trí ứng
cử được phát ra trên cơ sở giả sử rằng nó rất phù hợp ít nhất là một chuỗi đặc trưng con ở vị trí tốt nhất trong cơ sở dữ liệu Nếu giả thiết này là hợp lý, chỉ những vị trí cần được kiểm tra là những vị trí mà một trong 256 chuỗi đặc trưng con của truy vấn khối chuỗi đặc trưng phù hợp hoàn toàn Để kiểm tra tính hợp lệ của giả thiết này, đồ thị trong hình 4 thể hiện số bit lỗi trên chuỗi đặc trưng con cho những chuỗi đặc trưng được mô tả trong hình 2 Nó thể hiện rằng quả thật là có một chuỗi đặc trưng con không chứa bất kỳ lỗi nào Trên thực tế 17 trong số 256 chuỗi đặc trưng con không có lỗi Nếu chúng ta giả thiết rằng chuỗi đặc trưng “gốc” của hình 2a quả thật được lấy ra từ trong cơ sở dữ liệu, vị trí của nó sẽ được chọn trong số các vị trí ứng
cử cho “chuỗi đặc trưng MP3@128Kbps” của hình 2b