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.
ĐẠ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 ĐẠ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 hướng dẫn: TS Nguyễn Hải Châu HÀ NỘI – 2009 LỜI CẢM ƠN Trong thời gian qua, để tìm hiểu hồn thành khóa luận tốt nghiệp tơi nhận nhiều giúp đỡ từ gia đình, thầy bạn bè Tơi xin bày tỏ lịng biết ơn chân thành đến thầy cô giáo trường Đại Học Công Nghệ dậy dỗ suốt bốn năm học vừa qua Đặc biệt, xin gửi lời cảm ơn chân thành đến TS Nguyễn Hải Châu, người giúp tơi lựa chọn đề tài, hướng dẫn tìm tài liệu, đưa nhận xét quan trọng sửa chữa sai sót giúp tơi q trình tơi thực đề tài Tôi xin gửi lời cảm ơn đến người bạn quan tâm giúp đỡ tôi, chia sẻ nhiều kinh nghiệm hay với tơi q trình học tập làm việc Cuối cùng, xin gửi lời cảm ơn sâu sắc đến gia đình tơi, người ln bên cạnh cổ vũ, động viên tôi, tạo điều kiện tốt giúp tơi hồn thành tốt khóa luận TÓM TẮT NỘI DUNG Những năm gần chứng kiến phát triển mạnh mẽ khoa học ngành cơng nghiệp tính tốn đặc trưng đối tượng đa phương tiện Khái niệm chuỗi đặc trưng âm đời có ý nghĩa quan trọng việc phát triển ứng dụng liên quan đến âm nhờ mang lại nhiều tiện ích cho sống đại người Một ứng dụng chuỗi đặc trưng âm quan tâm nhận dạng nhạc số Trên giới có nhiều ứng dụng nhận dạng nhạc phát triển với phương pháp khác thu kết khác nhau, song tất số chúng trả kết xác Trên sở nghiên cứu chuỗi đặc trưng âm ứng dụng nó, khóa luận hướng đến việc xây dựng hệ thống nhận dạng nhạc tiện ích với người dùng cho phép trả thơng tin xác nhạc chơi qua thiết bị di động với vài giây âm Khóa luận tốt nghiệp thực khuôn khổ đề tài nghiên cứu mang mã số QC.08.01 Đại học Quốc gia Hà Nội MỤC LỤC LỜI MỞ ĐẦU 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 1.2.1 Định nghĩa chuỗi đặc trưng âm 1.2.2 Các tham số hệ thống chuỗi đặc trưng âm 1.3 Các ứng dụng 1.3.1 Broadcast Monitoring (BM) 1.3.2 Ứng dụng liên thông âm .6 1.3.3 Công nghệ lọc chia sẻ file 1.3.4 Tổ chức thư viện âm nhạc tự động 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 2.1 Nguyên tắc xây dựng hệ thống chuỗi đặc trưng âm .9 2.2 Các phương pháp xây dựng tìm kiếm chuỗi đặc trưng ứ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 sở liệu .16 2.2.2 Phương pháp xây dựng tìm kiếm chuỗi đặc trưng dựa 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 toán .27 3.2 Tổng quan hệ thống .27 3.2.1 Mơ tả âm 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 ứng dụng thử nghiệm 32 3.4.1 Cài đặt thử nghiệm 32 3.4.2 Hiệu hệ thống 33 KẾT LUẬN 36 TÀI LIỆU THAM KHẢO 37 LỜI MỞ ĐẦU Trong thực tế có gặp phải tình này: bạn ngồi xe ô tô nghe radio, xe bus quán cà phê nghe nhạc nhiên bạn nghe hát thu vị Đó hát hay mà bạn nghe sau khoảng thời gian dài, bạn bỏ lỡ phần thông tin hát không nhận nghệ sĩ biểu diễn hát Mặc dù bạn muốn biết số thông tin nhạc Khi bạn nên làm gì? Bạn gọi đến đài phát để hỏi hay hỏi người xung quanh điều bất tiện Nếu bạn nhấn vài phím điện thoại di động vài giây sau điện thoại trả lời cho bạn tên nghệ sĩ tên nhạc mà bạn nghe có phải tốt khơng? Thậm chí có email gửi đến hịm thư bạn với vài thông tin 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 dựa công nghệ khác đời nhiên khơng nhiều số đáp ứng tốt mong muốn người dùng trở nên phổ biến Trong khóa luận thảo luận hệ thống chuỗi đặc trưng âm – tảng quan trọng giúp tạo viễn cảnh vừa đề cập bên Bằng cách sử dụng chuỗi đặc trưng (fingerprint) đoạn âm chưa biết truy vấn sở liệu chuỗi đặc trưng, sở liệu chứa chuỗi đặc trưng thư viện nhiều hát, đoạn âm xác định Điểm cốt lõi vấn đề trình bày phương pháp trích rút chuỗi đặc trưng chiến lược tìm kiếm chuỗi đặc trưng hiệu quả, cho phép tìm kiếm sở liệu chuỗi đặc trưng lớn với tài ngun tính tốn gới hạn Khóa luận gồm ba chương: Chương 1: Tổng quan chuỗi đặc trưng âm ứng dụng Chương trình bày cách tổng quan khái niệm liên quan đến chuỗi đặc trưng âm ứng dụng phổ biến chuỗi đặc trưng âm Chương 2: Các phương pháp xây dựng tìm kiếm chuỗi đặc trưng âm Trình bày hai phương phát trích rút tìm kiếm chuỗi đặc trưng âm phổ biến ứng dụng nhận dạng nhạc phương pháp xây dựng chuôi đặc trưng mạnh phương pháp xây dựng chuỗi đặc trưng dựa wavelet Chương 3: Ứng dụng thử nghiệm Chương trình bày ứng dụng cụ thể chuỗi đặc trưng âm lĩnh vực quan tâm nhận dạng nhạc số Trong mô tả khái quát chương trình thử nghiệm ứng dụng nhận dạng nhạc kết đạt CHƯƠ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 tập thuộc tính âm dùng để xác định dạng khác âm bao gồm âm nhạc, phát radio tác động khác tới âm Mục tiêu chuỗi đặc trưng âm thiết lập trạng thái hai đối tượng âm thanh: khơng phải cách so sánh hai đối tượng mà cách so sánh chuỗi đặc trưng liên kết Trong hầu hết hệ thống sử dụng công nghệ chuỗi đặc trưng, chuỗi đặc trưng số lượng lớn đối tượng âm với siêu liệu (ví dụ tên nghệ sĩ, tên album) lưu trữ sở liệu Các chuỗi đặc trưng đáp ứng mục đến siêu liệu Siêu liệu nội dung âm chưa xác định sau phục hồi lại cách tính tốn chuỗi đặc trưng sử dụng truy vấn sở liệu chuỗi đặc trưng/siêu liệu Ưu điểm việc sử dụng chuỗi đặc trưng thay cho đối tượng âm là: Giảm bớt yêu cầu nhớ lưu trữ chuỗi đặc trưng tương đối nhỏ So sánh hiệu khơng đồng loại bỏ chuỗi đặc trưng Tìm kiếm hiệu tập liệu (dataset) để tìm kiếm nhỏ Vì kết luận hệ thống chuỗi đặc trưng nói chung bao gồm hai thành phần: phương pháp để trích chuỗi đặc trưng phương pháp để tìm kiếm hiệu chuỗi đặc trưng phù hợp sở liệu chuỗi đặc trưng 1.2 Các khái niệm chuỗi đặc trưng âm 1.2.1 Định nghĩa chuỗi đặc trưng âm Độ hồi tưởng (recall) chuỗi đặc trưng âm xem tóm tắt ngắn đối tượng âm Vì hàm chuỗi đặc trưng F ánh xạ (map) đối tượng âm X – bao gồm số lượng lớn bit – đến chuỗi đặc trưng gồm số lượng bit giới hạn Ở thấy tương tự với hàm băm biết đến công nghệ mã hóa Một hàm băm mật mã H rút từ đối tượng X (thường lớn) thành giá trị băm (thường nhỏ) Một hàm băm mật mã cho phép so sánh hai đối tượng X Y cách so sánh giá trị băm tương ứng H(X) H(Y) Sự xác mặt toán học cặp H(X), H(Y) đưa đến cặp X Y với xác xuất xẩy lỗi thấp Đối với hàm băm mật mã xây dựng hợp lệ xác xuất 2-n, n số bit giá trị băm Sử dụng hàm băm mật mã phương pháp hiệu có để kiểm tra liệu cụ thể mục X có chứa tập liệu lớn đưa Y = { i } hay khơng Thay lưu trữ so sánh với tất liệu Y cần lưu trữ thành tập giá trị băm { hi = H (Yi ) } so sánh H(X) với tập giá trị băm Nếu ta nghĩ hàm băm mật mã ứng cử tốt cho hàm chuỗi đặc trưng Tuy nhiên với độ hồi tưởng giới thiệu bên trên, thay xác mặt tốn học, quan tâm đến đặc điểm tương tự Ví dụ, chất lượng CD gốc Rolling Stones-Angie MP3 tốc độ 128Kb/s giống với quan thính giác người sóng chúng khác Mặc dù hai nhạc có cảm giác giống mặt tốn học chúng khác Vì hàm băm mật mã đưa định dựa trực giác hai Một câu hỏi khác đặt là: “Có thể tạo hàm chuỗi đặc trưng mà cung cấp chuỗi đặc trưng cho đối tượng giống mặt cảm giác không?” Câu hỏi hợp lý câu trả lời mơ hình cho giống cảm giác không thực Sự giống cảm giác cặp đối tượng X Y cặp đối tượng khác Y Z không thiết bao hàm giống cặp đối tượng X Z Việc đưa lý lẽ mục đích đề xuất cách xây dựng hàm chuỗi đặc trưng theo cách mà đối tượng âm giống mặt cảm giác đưa đến kết chuỗi đặc trưng giống Hơn nữa, để phân biệt đối tượng âm khác nhau, phải có xác xuất mà đối tượng âm không giống đưa đến chuỗi đặc trưng không giống cao Chính xác hơn, cho hàm chuỗi đặc trưng F xây dựng, điểm bắt đầu T với xác xuất lớn ||F(X)-F(Y)|| ≤ T đối tượng X Y giống ||F(X)F(Y)|| > T chúng khác 1.2.2 Các tham số hệ thống chuỗi đặc trưng âm Bên ta có định nghĩa thích hợp chuỗi đặc trưng âm thanh, phần trình bày tham số khác hệ thống chuỗi đặc trưng âm Các tham số là: • Độ mạnh (Robustness): Liệu đoạn âm xác định sau tín hiệu bị suy biến mạnh không? Để đạt độ mạnh cao chuỗi đặc trưng nên dựa sở đặc điểm thuộc tri giác khơng đổi (ít đến mức độ đó) với suy biến tín hiệu Tốt âm bị suy biến đưa đến chuỗi đặc trưng giống Tỷ lệ phủ định sai (false negative rate) nói chung dùng để diễn đạt độ mạnh • Độ tin cậy (Reliability): Bao lâu lần hát bị nhận dạng sai? Ví dụ “Rolling Stones – Angie” bị nhận dạng “Beatles – Yesterday” Tỷ lệ mà tham số thường tham chiếu đến tỷ lệ khẳng định sai • Cỡ chuỗi đặc trưng (Fingerprint size): chuỗi đặc trưng cần dung lượng lưu trữ bao nhiêu? Để tìm kiếm nhanh, chuỗi đặc trưng thường lưu nhớ RAM Vì cỡ chuỗi đặc trưng, thường biểu diễn bit/giây bit/bài hát, xác định độ lớn tài nguyên nhớ cần cho server sở liệu chuỗi đặc trưng • Granularity: Cần giây âm để nhận đoạn âm thanh? Granularity tham số phụ thuộc vào ứng dụng cụ thể Trong vài ứng dụng tồn hát dùng để nhận dạng, ứng dụng khác đoạn trích ngắn âm dùng để xác định • Tốc độ tìm kiếm khả mở rộng (Search speed and scalability): Mất để tìm chuỗi đặc trưng sở liệu chuỗi đặc trưng? Phải làm sở liệu chứa hàng trăm nghìn hát? Đối với triển khai mặt thương mại hệ thống chuỗi đặc trưng âm thanh, tốc độ tìm kiếm khả mở rộng hệ thống yếu tố then chốt Tốc độ tìm kiếm nên khoảng mili giây cho sở liệu chứa khoảng 100000 hát sử dụng nguồn tài ngun tính tốn giới hạn Năm tham số có ảnh hưởng lẫn Ví dụ, ứng dụng muốn granularity thấp cần trích chuỗi đặc trưng lớn để thu hình ảnh liên tiếp hai hát, dễ thấy mẫu xác định khơng gian wavelet chí cịn rõ ràng t wavelets đầu giữ (xem hình 7) Bước cuối trình tạo chuỗi đặc trưng lấy vecto wavelet rải rác mô tả tạo hiển thị ngắn gọn Ta khảo sát cách dùng hàm băm Min (Min-Hash) để tính tốn chuỗi đặc trưng cho vecto bit rải rác Một yêu cầu chuỗi đặc trưng chuỗi v1 chuỗi v2 giống nhau tín hiệu wavelet v1 tín hiệu wavelet v2 tương tự Đối với mục đích phương pháp này, đưa hai vecto v1 v2, ta kiểu phù hợp bốn kiểu a, b, c, d biểu diễn bảng 1, phụ thuộc vào bit tương ứng vecto Đưa kiểu hợp/không hợp cần ý với vecto rải rác, hầu hết vị trí bit kiểu d Ta định nghĩa giống hai vecto số hàng liên quan có kiểu a: vd Sim(v1, v2)=a/(a+b+c) Bảng 1: Các kiểu hợp/không hợp bit đơn vecto nhị phân Kiểu Vecto Vecto a 1 b c d 0 Một cách tiếp cận trực tiếp với vấn đề chọn ngẫu nhiên đơn giản tập vị trí bit sử dụng chúng tín hiệu, nhiên khơng làm việc Bởi vecto rời rạc, tín hiệu kết có khả giống chúng hầu hết tạo giây, nhiên khơng đưa dấu hiệu giống hàng kiểu a quan tâm Kỹ thuật hàm băm Min làm việc sau Hốn vị vị trí bit thành vài thứ tự ngẫu nhiên (nhưng biết) Sau với hốn vị này, đo vecto mà ví trí ‘1’ Có ý quan trọng xác xuất mà xuất (v1) xuất (v2) giống giống xác xuất a/(a+b+c): giá trị băm chấp nhận vị trí với vecto bit kiểu 23 a, chúng không chấp nhận vị trí kiểu b c Chú ý xác xuất giống Sim(v1, v2) – mà cần Chúng ta nhắc lại thủ tục nhiều lần, lần với hoán vị vị trí bit Nếu nhắc lại q trình p lần với p hoán vị khác nhau, chúng nhận p phép chiếu vecto bit Những giá trị p tín hiệu cho vecto bit Ta so sánh giống vecto bit cách nhìn vào giá trị phù hợp xác tín hiệu có độ dài p; với p đủ lớn gần để đạt giống với vecto gốc Trong phương pháp này, ta không giữ hiển thị bit trung gian mơ tả Thay vào ta lưu trữ tín hiệu tính tốn hàm băm Min, chuỗi chuỗi đặc trưng cuối hình ảnh âm Trong nghiên cứu này, hàm Min làm giảm cỡ tín hiệu từ việc biểu diễn wavelet trung gian mô tả phần đến biểu diễn ngắn gọn p giá trị Có nhiều kỹ thuật khác sử dụng cho việc làm giảm bậc - số có kỹ thuật Principal Components Analysis (PCA) Linear Discriminant Analysis (LDA) Chúng ta chọn sử dụng hàm băm Min chuỗi lý Đầu tiên yêu cầu khả tách biệt qua tín hiệu top wavelet, khơng u cầu khả mơ tả u cầu có nghĩa PCA khơng biểu diễn tốt thay vào phương pháp truyền thống sở LDA Vì tín hiệu wavelet hiển thị vecto rời rạc, định khảo sát việc sử dụng kỹ thuật thiết kế để sử dụng xác xuất tín hiệu phù hợp tách biệt qua vecto rời rạc Theo cách này, phải giảm lượng thông tin từ ảnh phổ qua ba bước Đầu tiên, ta giữ wavelets đầu hình ảnh thuộc phổ, kết hợp với ảnh phổ Thứ hai, ta làm giảm wavelets đầu bit Thứ ba, sử dụng thủ tục hàm băm Min để làm giảm rõ ràng kết vecto bit thành p giá trị trở thành chuỗi phụ cuối Sau bước này, hình ảnh thuộc phổ (hoặc đoạn âm có độ dài) biểu diễn chuỗi p số nguyên bit – chuỗi đặc trưng Tuy nhiên bị nén việc tìm tín hiệu gần cách hiệu không gian p chiều công việc không nhẹ nhàng (khi p>50) Thay vào đó, sử dụng kỹ thuât gọi tên Locality-Sensitive Hashing (LSH) Nó khơng hiệu số lượng so sánh yêu cầu (1 phần nhỏ tập liệu khảo sát), mà cịn cung cấp thuộc tính mạnh tiếng ồn 24 2.2.2.2 Tìm kiếm chuỗi đặc trưng Tồn trình tìm kiếm biểu diễn biểu đồ hình Sự khác trình tìm kiếm, so sánh với trình tạo sở liệu, hát chia thành đoạn chồng lấp lên cách ngẫu nhiên, đoạn chồng lấp lên khơng đồng Hình 8: Tồn q trình mơ tả tìm kiếm chuỗi đặc trưng 25 Sau đoạn âm tạo ra, tín hiệu tính tốn xác giống mơ tả q trình tạo sở liệu chuỗi đặc trưng Tiếp theo ta mô tả kỹ thuật cho việc tìm phù hợp sở liệu Như nói sử dụng LSH cho qua trình tìm kiếm Trái ngược với hàm băm chuẩn, LSH thực chuỗi hàm băm, hàm khảo sát vị trí chuỗi đặc trưng Mục đích phân chia vecto thuộc tính thành l vecto băm điểm thành l bảng băm riêng biệt, bảng băm sử dụng vecto đầu vào hàm băm Các ứng cử gần phục hồi hiệu cách phân chia vecto thuộc tính thử nghiệm thu thập mục khối băm tương ứng Danh sách ứng cử gần cuối tạo cách biểu đếm, với số biểu hàm băm cho mục khối đánh mục giữ lại ứng viên nhận số bình chọn tối thiểu v Nếu v = hợp với danh sách ứng viên Nếu v = l giao LSH hỗ trợ ràng buộc linh động ứng viên từ bảng băm thành phần độc lập khảo sát xa danh sách cuối ứng viên phù hợp Sự linh động đạt cách thêm yêu cầu cho việc tối thiểu biểu bảng băm thành phần Mỗi bảng băm thành phần biểu cho chuỗi đặc trưng phục hồi sử dụng p/l byte Sau đó, chuỗi phụ với v thành phần biểu tối thiểu giữ lại Ví dụ, thiết lập v=1, ứng viên phù hợp với miền theo thứ tự danh sách ứng viên cuối Tại điểm cực trị ngược lại, thiết lập v=l, ứng viên phải phù hợp với tất miền LSH điều khiển xác định (mặc dù không hiệu quả) đến bảng băm chuẩn Các chuỗi đặc trưng có v biểu sau so sánh với truy vấn chuỗi đặc trưng Bởi byte chuỗi đặc trưng tín hiệu hàm băm Min nên ta nhìn vào số byte (lớn p) phù hợp cách xác Chuỗi đặc trưng với số điểm tối đa tín hiệu phù hợp hình ảnh quang phổ 26 CHƯƠNG 3: ỨNG DỤNG THỬ NGHIỆM 3.1 Phát biểu toán Nhận dạng nhạc số dạng ứng dụng liên thông âm nằm chuỗi ứng dụng chuỗi đặc trưng âm Xuất phát từ nhu cầu thực tế, khóa luận hướng tới việc xây dựng ứng dụng thử nghiệm dùng để nhận dạng nhạc mà mục tiêu nhận xác hát từ mẫu âm nhỏ chơi thiết bị khác điện thoại di động phát qua radio Gần đây, vấn đề nhận dạng nhạc thu hút ý đáng kể, từ công ty thương mại AT&T Wireless (http://www.attwireless.com/), Musikube (http://www.musikube.com/), Shazam Entertainment (http://www.shazam.com/), nhà nghiên cứu J.Haitsma, T.Kalker… Tuy nhiên, công việc thách thức, đặc biệt truy vấn giới thực Vấn đề mà ứng dụng nhận dạng nhạc kiểu gặp phải là: Đầu tiên, truy vấn bị sai lệch khơng xác gây thiết bị ghi âm bỏ túi điển hình tiếng ồn từ âm xung quanh Thứ hai, mẫu âm từ truy vấn hợp với phần chia nhỏ hát đích, tín hiệu số truyền thống tính tốn truy vấn khơng hợp với tín hiệu toàn hát Thứ ba, hệ thống nhận dạng nhạc thực tế nên có tỷ lệ độ xác tốc độ đến sở liệu chứa hàng trăm nghìn hát khác 3.2 Tổng quan hệ thống Trên sở mô hình chung cho ứng dụng nhận dạng âm dựa vào nội dung hình 9, ứng dụng thử nghiệm xây dựng dựa hệ thống phát triển Yan Ke Hệ thống sử dụng kỹ thuật học máy để phát triển thuật toán chuỗi đặc trưng âm cho nhận dạng nhạc số Khi đưa 10 giây nhạc ghi có chất lượng thấp qua điện thoại di động chẳng hạn, hệ thống nhận dạng xác hát sở liệu gồm nhiều hát 27 Hình 9: Mơ hình chung ứng dụng nhận dạng nhạc dựa vào nội dung Trong ứng dụng sử dụng phương pháp computer vision (một kỹ thuật mạnh cho việc phân tích liệu âm thanh) để lựa chọn thuộc tính q trình trích rút chuỗi đặc trưng Ta coi ảnh phổ đoạn nhạc hình ảnh 2-D chuyển việc nhận dạng nhạc thành vấn đề tìm kiếm phục hồi lại ảnh bị hỏng Bằng việc sử dụng thuật toán pairwise boosting tập lớn thuộc tính, hệ thống biết thỏa thuận, phân biệt kí hiệu nhận diện cục tuân theo mục có hiệu Trong giai đoạn tìm kiếm, tìm lại tập đoạn trích ngắn hát phù hợp với mẫu âm truy vấn sử dụng việc kiểm tra hình học liên kết với mơ hình EM-based “occlusion” để xác định hát phù hợp với tín hiệu theo dõi Chúng ta thực thi thuật tốn hệ thống cụ thể mà nhận nhanh chóng xác nhạc từ mẫu âm ngắn biểu diễn không rõ ràng chất lượng thu âm có tiếng ồn xung quanh 3.2.1 Mơ tả âm trích rút chuỗi đặc trưng Hệ thống sử dụng kiến trúc kỹ thuật chuỗi đặc trưng âm để mơ tả xúc tích tín hiệu âm Nó sử dụng cửa sổ chồng âm đơn sắc từ rút thuộc tính đáng quan tâm Các cửa sổ chồng phải sử dụng để trì bất biến thời gian cho cho trường hợp liên kết thời gian xác chưa biết Sự hiển thị phổ âm xây dựng nhiều cách: cách đo lượng MFCCs (Mel Frequency 28 Cepstrum Coefficients) BFCCs (Bark Frequency Cepstrum Coefficients) Trong nghiên cứu sử dụng BFCCs 33 dải BFCCs sử dụng nằm thứ tự 300Hz-2000Hz Với 11.6 mili giây chuỗi đặc trưng tạo để bao hàm frame dài 370 mili giây Sự chồng lấp lớn frame đảm bảo chuỗi đặc trưng biến đổi chậm theo thời gian Các chuỗi đặc trưng 32 bit cho biết khác việc tăng hay giảm dải BFCCs liên tiếp frame liên tiếp Đưa chuỗi làm so sánh trở nên đơn giản Khi khác frame khoảng cách Hamming chuỗi đặc trưng Các chuỗi đặc trưng sử dụng hệ thống nhỏ gọn tính tốn nhanh Ngồi hệ thống sử dụng phương pháp nghiên cứu vào trình xử lý lựa chọn thuộc tính Đó phương pháp nghiên cứu sở Adaboost thường dùng ứng dụng computer vision, cho phép tín hiệu âm 1-D xử lý hình ảnh quan sát hiển thị tần số thời gian 2-D Vấn đề việc lựa chọn thuộc tính khả tách bạch vùng hình chữ nhật phân biệt hai frame chúng giống (đó frame bị suy biến tiếng ồn) chúng khác 3.2.2 Tìm kiếm chuỗi đặc trưng phù hợp Sau xây dựng tín hiệu (là chuỗi đặc trưng) cho tất hát sở liệu tiến hành tìm kiếm Trong thời gian tìm kiếm, ta thực thi tìm kiếm giống cho kí hiệu mơ tả đoạn truy vấn dựa vào sở liệu tín hiệu Cỡ sở liệu lớn số truy vấn yêu cầu cao cho đoạn thúc đẩy cố tìm cho xếp hiệu cho việc tìm kiếm tương tự khơng gian kí hiệu mơ tả nhiều chiều (tiêu biểu 32-bit) Một lựa chọn tự nhiên sử dụng hàm băm vị trí nhạy cảm (locality-sensitive hashing - LSH), kĩ thuật xấp xỉ tìm kiếm tương tự thời gian tuyến tính nhỏ, phù hợp với khoảng cách Hamming Các thử nghiệm ban đầu sử dụng LSH cho kết xuất sắc có chút ngạc nhiên mà phát kí hiệu mơ tả mạnh mà mục hóa trực tiếp (direct indexing) sử dụng bẳng băm kinh điển làm giảm nhiều thời gian chạy (running time) mà không ảnh hưởng lớn đến độ xác Chúng ta mơ tả qua phương pháp mục 29 Ta băm tất tín hiệu vào bảng băm chuẩn (có khóa kí hiệu mơ tả M-bit thích hợp) Sau định nghĩa kí hiệu mơ tả phạm vi khoảng cách Hamming từ truy vấn đưa gần Những kí hiệu phục hồi với chuỗi dị tìm kĩ lưỡng Đầu tiên, thăm dò bảng băm với truy vấn; phục hồi tất phù hợp phạm vi khoảng cách Hamming Tiếp theo, thêm M vào hàm băm, gồm có kí hiệu mô tả truy vấn với bit đơn đảo chiều; tìm thấy phù hợp khoảng cách Hamming Cuối cùng, lặp lại trình với kết hợp hai bit đảo chiều để phục hồi kí hiệu mơ tả khoảng cách Hamming Trong phương pháp xuất ban đầu không hiệu quả, vừa quan sát thấy nhanh đáng kể so với LSH cho ứng dụng mẫu thử khơng đắt trả lại kết xác kết xấp xỉ Chúng ta quan sát thấy việc sử dụng khoảng cách Hamming thay phân loại độ tin cậy làm tảng cho giống kí hiệu mơ tả xấp xỉ hợp lý, từ ta tìm độ tin cậy đánh giá cho lớp phân loại yếu khác gần thử nghiệm Mỗi lần tất hát gần giống vừa tìm thấy, cần xác định hát phù hợp với tập kí hiệu mơ tả truy vấn Đúng việc chọn lựa đơn giản sở số phù hợp, sử dụng kiểm tra có dạng hình học mà tương tự với việc sử dụng nhận dạng đối tượng dùng thuộc tính cục Đối với hát ứng cử, xác định kí hiệu mơ tả phù hợp theo thời gian Vì điều ta sử dụng RANSAC để lặp lại thông qua liên kết thời gian ứng cử sử dụng EM Chúng ta khảo sát hai mơ hình liên kết Đầu tiên cho truy vấn đến tín hiệu gốc với tham số đơn (độ dịch thời gian) vừa xác định Trong trường hợp tập tối thiểu tập cặp kí hiệu mơ tả đơn phù hợp Mơ hình thứ hai cho truy vấn phiên gốc chia tỷ lệ (kéo dài tuyến tính bị nén) Mơ hình định nghĩa hai tham số (tỷ lệ tốc độ độ dịch) yêu cầu tập tối thiểu hai kí hiệu mơ tả phù hợp Các mơ hình làm méo biểu thị thời gian phức tạp thực Trong thực tế, ta thấy mơ hình đưa kết xác đặc biệt từ đoạn truy vấn ngắn gọn Ta thấy RANSAC hội tụ 500 bước lặp chí diện nút thắt quan trọng Tất ứng cử vừa tìm thấy xếp lại lần, chọn hát với EM tốt thừa nhận vượt qua điểm bắt đầu nhỏ 30 3.3 Thực thi chương trình Ứ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 giao diện người dùng đồ họa (GUI), chạy máy khác giao tiếp socket Đầu tiên mô tả cách tạo sở liệu tín hiệu âm sau mơ tả giai đoạn truy vấn cuối đề cập đến giao diện người dùng Với hát sở liệu, xây dựng tín hiệu âm mơ tả đây; q trình xử lý trước giống với trình xử lý sau sử dụng đoạn truy vấn Đầu tiên tính tốn ảnh phổ theo cách mô tả Ta chuyển hát thành đơn sắc lấy mẫu xuống 5512.5 KHz Đối với tín hiệu âm chất lượng CD lấy mẫu 44.1 KHz, quấn lại tín hiệu với lọc chia mẫu Tiếp theo áp dụng biến đổi Fourier ngắn với khung cỡ 2048 mẫu (0.372s) với khung 64 mẫu (11.6s) Chúng ta chia nguồn lượng 300Hz 2000 Hz thành 33 dải theo không gian logarit Dãy tần số phù hợp với dãy mà dễ dàng truyền điện thoại di động Chúng ta sử dụng khoảng cách logarit từ phân phối lượng âm đặc trưng điển hình xấp xỉ loga qua tần số Cuối cùng, ta áp dụng 32 lọc nghiên cứu điểm bắt đầu để lấy kí hiệu mơ tả 32-bit cho bước thời gian (11.6ms) tín hiệu; chuỗi kí hiệu mơ tả biết đến tín hiệu Đối với độ dài trung bình hát 200 giây yêu cầu lưu trữ cho việc hiển thị xấp xỉ 70KB Chúng ta tải tất kí hiệu mơ tả vào nhớ đặt chúng vào bảng băm với id hát id frame (độ dịch thời gian) Mặc dù thực thi nhớ làm việc tốt với vài nghìn hát phương pháp khác cần thiết sở liệu lớ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 tập kí hiệu mô tả 32-bit giống cho đoạn âm Với kí hiệu mơ tả, tìm tất kí hiệu mơ tả mà phạm vi khoảng cách Hamming bit (theo kinh nghiệm xác định cân tốt độ xác phù hợp) Cuối cùng, thực liên kết hình học sử dụng RANSAC tìm phù hợp theo EM Giao diện người dùng (GUI) ghi lại đoạn âm từ micro gửi dạng sóng đến server để nhận dạng Hình 10 hiển thị screenshot GUI hệ thống Phần bên trái bên phải khung hiển thị ảnh phổ thu 31 âm hát gốc, theo thứ tự riêng rẽ Mặc dù ảnh phổ thơ nhìn khác tiếng ồn tắc nghẽn trơng có cấu trúc tương tự Khung văn đưa tên hát nhận dạng xác Hình 10: Ảnh phổ truy vấn thu âm ảnh phổ hát nhận dạng xác 3.4 Đánh giá hiệu ứng dụng thử nghiệm 3.4.1.1 Cài đặt thử nghiệm Chúng ta xây dựng thử nghiệm có liệu huấn luyện bao gồm 78 hát chơi loa có chất lượng thấp thu âm sử dụng micro chất lượng thấp, đến gốc sử dụng lọc mồi Tiếp theo, ta thu âm lại liệu kiểm tra mơi trường khác sử dụng phịng ghi âm, máy tính, loa micro khác Các thử nghiệm sử dụng hai tập kiểm tra giới thực thiết kế để minh họa trường hợp xấu Đầu tiên bao gồm 71 hát chơi âm lượng nhỏ ghi âm lại với micro bị bóp méo (biểu diễn “Test A”) Thứ hai tập 32 khó chứa 220 hát thu với ghi ồn (biểu diễn “Test B”) Trong nhiều trường hợp, tiếng ồn át tiếng nhạc nhiều mà hát trở nên nghèo nàn mà khó nghe thấy tiếng nhạc Những ghi âm lấy từ sở liệu 145 album với 1862 hát trải rộng nhiều thể loại nhạc bao gồm nhạc cổ điển, jazz, rock pop Từ truy vấn có 1861 khả sai, ranh giới xác cơng việc 0.05% 3.4.2 Hiệu hệ thống Hình 11: Tốc độ tìm kiếm hát tập liệu kết hợp với đoạn truy vấn âm có độ dài khác Hình 11 hiển thị tốc độ tìm kiếm hát tập test kết hợp A B với đoạn truy vấn từ 10-15 giây tương ứng với 860 1290 kí hiệu mơ tả, tách biệt Chúng ta thấy truy vấn dài cải thiện khơng đáng kể kết tìm kiếm Trong hệ thống thực tế người sử dụng mong muốn đạt độ xác lý tưởng sử dụng truy vấn ngắn 33 Hình 12: Đường cong P-R cho việc tìm kiếm mức hát tập liệu riêng biệt với truy vấn có độ dài 10 giây Hình 12 biểu diễn kết cho tập liệu riêng biệt ghi âm có độ dài 10 giây Đối với Test A, đạt 90% độ hồi tưởng với độ xác 96% Test B có nhiều thử thách đạt 80% độ hồi tưởng với độ xác 93% Hình 13: Tác động điểm bắt đầu với khoảng cách Hamming việc tìm kiếm hát 34 Hình 13 biểu diễn tốc độ tìm kiếm hát điểm bắt đầu có khoảng cách Hamming 0, bit Test A Hiệu cải thiện cho phép nhiều bit lỗi hơn, tăng biên thấp sau khoảng cách thời gian truy vấn tiếp tục tăng theo hàm mũ, định giới hạn việc tìm kiếm kí hiệu mô tả gần phạm vi bit 35 KẾT LUẬN Khóa luận trình bày cách tổng quan hệ thống chuỗi đặc trưng âm ứng dụng phổ biến Trong khóa luận trình bày chi tiết hai phương pháp khác việc trích rút chuỗi đặc trưng âm đoạn âm cách thức tìm kiếm chuỗi đặc trưng phù hợp với sở liệu lớn Qua có hình dung khái quát chuỗi đặc trưng – tảng quan trọng ứng dụng liên quan đến âm Trong phần cuối khóa luận xây dựng hệ thống thử nghiệm ứng dụng chuỗi đặc trưng việc nhận dạng nhạc số Ứng dụng dừng lại việc nhận dạng hát tập sở liệu nhỏ Sau ứng dụng tiếp tục hoàn thiện với việc nghiên cứu cải tiến độ xác thuật tốn tìm kiếm mở rộng nghiên cứu thuộc tính chương trình cách mục hóa sưu tập nhạc lớn Hi vọng khóa luận góp phần khuyến khích nghiên cứu sâu chuỗi đặc trưng đối tượng đa phương tiện tương lai(bao gồm âm hình ảnh nói chung) nhằm mục đích tạo nhiều ứng dụng tiện ích phục vụ sống người 36 TÀI LIỆU THAM KHẢO [1] Baluja, Covell, Content fingerprinting using wavelets, Proceedings of the 3rd European Conference on Visual Media Production (CVMP), 2006 [2] P Cano, E Batlle, T Kalker, J Haitsma, A review of algorithms for audio fingerprinting, In Workshop on Multimedia Signal Processing, 2002 [3] J Haitsma, T Kalker, A Highly Robust Audio Fingerprinting System, Proceedings of International Conference for Music Information Retrieval, 2002 [4] Y Ke, D Hoiem, R Sukthankar, Computer Vision for Music Identification, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005 [5] Y Ke et al., Computer vision for music identification: server code, http://www.cs.cmu.edu/ yke/musicretrieval/musicretr-1.0.tar.gz, 2005 [6] Website Auditude http://www.auditude.com [7] Website Napster http://www.napster.com [8] Website Music Brainz http://musicbrainz.org/ [9] Website Shazam http://www.shazam.com/ [10] Website Tunatic http://www.wildbits.com/tunatic/ [11] Website Yacast http://www.yacast.com 37 ... quan đến chuỗi đặc trưng âm ứng dụng phổ biến chuỗi đặc trưng âm Chương 2: Các phương pháp xây dựng tìm kiếm chuỗi đặc trưng âm Trình bày hai phương phát trích rút tìm kiếm chuỗi đặc trưng âm phổ... 2.2.1.2 Tìm kiếm chuỗi đặc trưng sở liệu Tìm kiếm chuỗi đặc trưng trích rút sở liệu chuỗi đặc trưng 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. .. XÂY DỰNG VÀ TÌM KIẾM CHUỖI ĐẶC TRƯNG ÂM THANH 2.1 Nguyên tắc xây dựng hệ thống chuỗi đặc trưng âm .9 2.2 Các phương pháp xây dựng tìm kiếm chuỗi đặc trưng ứng dụng nhận dạng nhạc