1. Trang chủ
  2. » Luận Văn - Báo Cáo

hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng

58 1,1K 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống tìm kiếm âm thanh qbh trong cơ sở dữ liệu đa phương tiện và ứng dụng
Người hướng dẫn TS. Nguyễn Hải Châu
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Thành phố Hà Nội
Định dạng
Số trang 58
Dung lượng 1,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

luận văn về hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng

Trang 1

Lời cảm ơn

Trước hết chúng em xin bày tỏ lời cảm ơn chân thành và sâu sắc nhất đến TS Nguyễn

Hải Châu, người thầy đã hướng dẫn em trong đề tài này Đây là đề tài mới và nhiều khó khăn

nhưng nhờ sự động viên và hướng dẫn nhiệt tình của thầy em đã có kết quả như hôm nay

Em xin gửi lời cảm ơn chân thành đến các thầy cô trong khoa CNTT - Trường Đại

học Công Nghệ vì những kiến thức quý báu mà các thầy cô đã truyền dạy trong bốn năm vừa

qua Những kiến thức này có giá trị đối với chúng em trong quá trình thực hiện luận văn,

cũng như trong quá trình xây dựng sự nghiệp trong tương lại

Cảm ơn bạn bè đã luôn bên cạnh giúp đỡ hướng dẫn tôi trong quá trình nghiên cứu,

tìm hiểu khóa luận này

Cuối cùng con xin cảm ơn bố mẹ và các anh chị đã luôn động viên giúp đỡ con vượt

qua những khó khăn để hoàn thành khóa luận này

Mặc dù đã rất cố gắng tập trung nghiên cứu khóa luận song sẽ không tránh khỏi

những thiếu sót mong các thầy cô thông cảm

Chân thành cảm ơn

Trang 2

Tóm tắt

Trong luận văn này chúng tôi xin trình bày những hiểu biết của mình về những vấn đề sau đây:

• Rút trích đặc trưng về giai điệu từ một đoạn thu âm của người dùng

• Biểu diễn đặc trưng giai điệu phù hợp cho quá trình tìm kiếm

• Phương pháp tìm kiếm hay truy vấn giai điệu mong muốn trong cơ sở

dữ liệu trên đặc trưng đã chọn

Âm thanh truy vấn được thu âm từ người sử dụng sẽ được rút trích đường biểu diễn cao độ (pitch sequence) hay còn gọi là tần số cơ bản f0 Chuổi cao độ sẽ được dùng để tính đặc trưng đường biên giai điệu và đặc trưng này sẽ được dùng trong quá trình tìm kiếm với phương pháp Dynamic Time Warping (DTW)

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 3

Mục lục

Danh mục hình vẽ

Danh mục các từ viết tắt

Trang 4

Từ viết tắt Tiếng anh Tiếng việt

QBH Query by humming Truy vấn bởi giai điệu

SIFT Simple inverser filter tracking Bộ lọc nghịch đảo đơn giản

MMDBMS Multimedia Database

Management Systems

Các hệ thống quản lý cơ sở dữ liệu

đa phương tiện

DTW Dynamic Time Warping Thuật toán thời gian động Warping

MSN Microsoft Network Dịch vụ Internet cung cấp bởi Microsoft QBSH Query by Singing/Humming Truy xuất bởi giai điệu và lời hát MaART Musical and Audio Retrieval tools Công cụ tìm kiếm nhạc

MIR Muscal Information Retrieval Hệ thống tìm kiếm âm nhạc

Trang 5

LỜI MỞ ĐẦU

Ngày nay nhu cầu của con người càng ngày càng lớn hơn Sự phát triển của Internet, Google, Yahoo, MSN… là những tên tuổi được biết đến trong lĩnh vực cung cấp dịch vụ tìm kiếm tài liệu qua mạng Với những dịch vụ tìm kiếm tài liệu qua mạng Với những dịch vụ này người dùng có thể tìm kiếm các tài liệu, hình ảnh, video, hay những tài nguyên khác có trên Internet qua từ khóa Cho đến nay, phương pháp tìm kiếm bằng từ khóa vẫn là phương pháp chủ đạo trong các hệ thống truy vấn thông tin và tìm kiếm dữ liệu Tuy nhiên, phương pháp này cũng thể hiện những hạn chế và khả năng ứng dụng của nó trong loại dữ liệu không phải là văn bản Với dữ liệu hình ảnh, việc tìm kiếm phụ thuộc rất nhiều vào việc gán nhãn cho hình ảnh trong dữ liệu Phương pháp này xa rời với bản chất của hình ảnh là màu sắc và đường nét Trong âm nhạc, phương pháp này cũng tỏ ra những mặt hạn chế của nó Bản chất của âm nhạc là giai điệu, nhưng hầu hết các từ khóa không thể hiện được tính chất này của bản nhạc Tìm kiếm dựa vào thông tin nhạc sĩ, ca sĩ và lời bài hát là những ứng dụng chính trong truy vấn thông tin âm nhạc hiện nay.Tưởng tượng rằng khi bạn đang nghe một bài hát nào đó và rất thích nó và bạn muốn nghe lại nó Nhưng bạn không biết tên bài hát hay tên tác giả của nó Bạn bắt đầu hỏi bạn bè của bạn, ngân nga giai điệu đó lên Không có một ai biết để giúp bạn, bởi vậy bạn sẽ rơi vào bế tắc Vì vậy phát sinh ra máy tìm kiếm âm nhạc như hệ thống QBH như vậy để thỏa mãn nhu cầu của con người Hệ thống giúp người dùng tìm kiếm dễ dàng hơn dựa trên giai điệu được hát hay ngân nga từ người dùng

Trong luận văn này tôi sẽ trình bày những hiểu biết của mình về một hệ thống tìm kiếm âm thanh dựa vào giai điệu được hát ngân nga (humming) từ người

dùng Đề tài:”Hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện

và ứng dụng”

Chương 1 Giới thiệu về hệ thống tìm kiếm âm thanh

Chương 2 Các vấn dề nghiên cứu liên quan

Chương 3 Hệ thống truy vấn âm nhạc qua giọng hát

Chương 4 Thực nghiệm, kết quả và hướng phát triển tìm kiếm âm nhạc

Trang 6

Chương 1 GIỚI THIỆU VỀ HỆ THỐNG QUERY BY HUMMING (QBH)

1.1 Giới thiệu

Hệ thống truy vấn Query by Humming (QBH) là một hệ thống được phát triển dựa trên nền một hệ thống cơ bản gọi là MIR (Music information retrieval) Mục đích của hệ thống MIR để xử lý thông tin âm nhạc và tìm kiếm cơ sở dữ liệu âm nhạc bởi nội dung MIR là một hệ thống bao gồm nhiều ngành khoa học nghiên cứu về việc truy xuất thông tin từ âm nhạc Bao gồm:

• Các phương pháp tính toán cho việc phân lớp, lấy mẫu, phân cụm – sự trích chọn đặc trưng nhạc với dạng đơn và đa âm, việc ghép nối, lấy mẫu tương tự,

và sự truy xuất

• Theo các phương pháp và cơ sở dữ liệu thông thường, những ứng dụng của việc phát hiện và nhận dạng âm nhạc một cách tự động, phần nhạc đệm tự động, sự định tuyến và lọc cho các bản nhạc và các truy vấn nhạc, ngôn ngữ truy vấn, các chuẩn và siêu dữ liệu khác hoặc các giao thức cho việc xử lý và truy xuất nhạc, các hệ thống đa xử lý và sự phân bổ tìm kiếm

• Phần mềm cho MIR là các trang web có ý nghĩa các chủ đề nhạc số, các phương thức thông minh, các phần mềm cộng tác liên quan, tìm kiếm cơ bản trên web và sự truy xuất có ý nghĩa (semantic retrieval), tìm kiếm bởi giai điệu (QBH), nhận dạng âm thanh (acoustic fingerprinting)

• Sự nhận dạng bản nhạc, sự hiểu biết, sự ảnh hưởng và các cảm xúc – các chuẩn

đo độ tương tự âm nhạc, các tham biến có cú pháp, các tham biến có ý nghĩa, các mẫu nhạc, cấu trúc, kiểu và thể loại, các phương pháp luận giải thích về âm nhạc

• Sự phân tích âm nhạc và trình bày các kiến thức tổng kết tự đông, trích dẫn, sự xuống cấp, sự chuyển đổi, các mẫu hình thức của âm nhạc, các khía cạnh về số hóa và những đặc trưng, chỉ mục âm nhạc và siêu dữ liệu Phân tích lý thuyết

vo hướng âm nhạc là một sự bổ sung cho sự tìm kiếm âm nhạc MIR với những

từ khóa và quy mô của tín hiệu âm nhạc mù là một sự theo đuổi không bình thường

Trang 7

Sau đây chúng ta cùng tìm hiểu về phương pháp tìm kiếm âm nhạc dựa vào giai điệu qua hệ thống QBH dưới đây

1.2 Cấu trúc của hệ thống Query by humming (QBH)

QBH (Query by humming) là một hệ thống truy vấn dựa trên nền tảng cơ bản

về nội dung của hệ thống tìm kiếm âm nhạc MIR [phần 1.1 ở trên] Hệ thống truy vấn thông tin âm nhạc sẽ nhận thông tin giai điệu truy vấn từ người dùng và trích xuất thông tin đặc trưng cần thiết của giai điệu Đặc trưng giai điệu sẽ được đem so sánh với những đặc trưng giai điệu có sẵn trong cơ sở dữ liệu Hệ thống trả về danh sách các bài hát có giai điệu tương đồng, được sắp xếp theo thứ tự nhất định [5, 6, 11]

Ta thấy, hệ thống cần những phần xử lý như sau [Xem chi tiết Hình 1]

• Xử lý tín hiệu truy vấn từ người dùng: Nhận giai điệu truy vấn từ người dùng

và rút trích đặc trưng thích hợp

• Biểu diễn đặc trưng: thông tin giai điệu của bài hát trong cơ dữ liệu cũng như trong tín hiệu truy vấn được biểu diễn dưới dạng thích hợp để sử dụng trong quá trình tìm kiếm

• Tìm kiếm (Matching module): Đặc trưng giai điệu được đem so sánh với các đặc trưng có sẵn trong cơ sở dữ liệu Trong quá trình xử lý này, điểm đánh giá

đọ tương đồng sẽ được tính cho các bài hát Kết quả trả về sẽ là một danh sách

có thứ tự các bài hát trong cơ sở dữ liệu

Mô hình đơn giản của một hệ thống truy vấn thông tin âm nhạc dựa trên giai điệu được biểu diễn hình dưới đây:

Trang 8

Hình 1: Mô hình hệ thống truy vấn thông tin âm nhạc bằng giọng hát hoặc giai điệu

Có những hệ thống lại được cấu tạo khác đôi chút giống như hệ thống Sloud QBH cơ bản dựa theo cấu trúc cơ bản của hệ thống QBH ở trên nhưng có phần khác: Cấu trúc của một hệ thống tìm kiếm Sloud QBH bao gồm hai phần là khách và phần chủ - bao gồm các cơ sở dữ liệu các giai điệu [5]

9 Phần khách của máy là một giao diện web nhận dạng và định vị trí các nốt của một giai điệu được huýt sáo vào Phần này dùng để chuyển đổi một truy vấn sang định dạng mà cho phép việc tìm kiếm trở nên thiết thực

9 Phần chủ có nhiệm vụ nối truy vấn mà được đưa đến với các đoạn giai điệu trong cơ sở dữ liệu để trả về kết quả cho người dùng

9 Sơ đồ minh họa như sau :

Trang 9

Hình 2: Sơ đồ máy tìm kiếm QBH khác

Máy tìm kiếm QBH thực hiện những chức năng sau:

a Cung cấp âm thanh được “hum” vào dưới dạng MIDI, ví dụ nhận dạng cao

độ và thời gian mà các note được hum vào

b Cung cấp sự biểu thị của việc nhận dạng đường viền cao độ trong khi đang hát trong thời gian thực;

c Cho phép chơi lại giai điệu nhận dạng, biến đổi trong MIDI, trước khi đưa ra truy vấn

d Tạo chỉ mục giai điệu và gửi một truy vấn đến mạng chủ Sloud QBH

e Cung cấp việc bố trí các đại diện các note tìm kiếm và kết kết quả trả về [5]

Trang 10

1.3 Những ảnh hưởng đến việc tìm kiếm chính xác và hiệu quả [6] 1.3.1 Người không thể đưa ra một truy vấn hoàn hảo

Dù là người dùng có trí nhớ hoàn hảo về từng giai điệu khác nhau, người đó có thể bắt đầu tại một khóa sai hoặc là có thể truy vấn nhiều nốt tắt cao độ ở trên khắp giai điệu Thỉnh thoảng có thể bỏ rơi vài nối hoặc thêm vào vài nốt mà nó không tồn tại trong giai điệu bình thường Thêm vào đó, không người dùng nào mong đợi có thể hát hoàn hảo đúng nhịp điệu như bài hát chứa trong cơ sở dữ liệu Cuối cùng, bởi vậy không ai chấp nhận các khác một cách qua lại một truy vấn hum vào có thế chứa bất

kỳ một sự kết hợp của các nối này

1.3.2 Bắt chính xác cao độ và các nốt từ việc ngân nga giai điệu của người dùng

Việc bắt chính xác cao độ và trường độ từ truy vấn của người dùng đưa vào thì

rất khó thực hiện

1.3.3 Thu vào thông tin giai điệu từ một file nhạc ghi

Khó để thực hiện điều này vì việc đưa ra một cách đúng đắn giai điệu từ một bài hát được đưa ra là một trường nghiên cứu trên bản thân nó nhưng hoàn toàn chỉ trích bởi một truy vấn chính xác bởi CSDL Tạo một truy vấn hoàn hảo sẽ ít dùng nếu

cơ sở dữ liệu chứa những đại diện không chính xác của các bài hát [6]

1.4 Những thách thử chính [8]

1.4.1 Sắp xếp một tập dữ liệu thích hợp cho bài

Các tập hợp âm nhạc có thể được chia ra một cách ngắn gọn thành hai loại: những cái mà cung cấp các bài hát hoặc các phần nhỏ của bài hát như là các âm thanh

số, cái mà ghi lại dưới dạng sóng, và những phần cung cấp chúng như là việc sao chép các chuỗi của những trường hợp riêng biệt ví dụ như các note (với cao độ và trường độ) và các dấu lặng.Thật khó trong việc sắp xếp bao hàm nhiều khía cạnh, chất lượng cao, tổ chức tốt các tập hợp nhạc chính xác

1.4.2 Sao chép lời hát thành các nốt

Khi người dùng hát hoặc huýt sáo đưa vào các giai điệu thì việc chuyển đổi chúng thành các nốt thì đang là vấn đề bởi vì người dùng được phép ghi lại giai điệu

Trang 11

bất cứ cách nào họ thích, với việc không thắt chặt các yêu cầu với họ thường thì có vài vấn đề xảy ra trong việc ghi lại chúng là:

• Tiếng ồn bên ngoài vượt mức

• Giai điệu lệch lạc

• Sự thổi, huýt ngoài micro, là nguyên nhân những tiếng gió ồn che mất những giai điệu đưa vào

• Hát với giai điệu thay vì những nốt thuần túy

• Hát với âm thanh thay đổi

• Hát quá nhanh

• Âm lượng ghi thấp

• Việc thu phức điệu (như là sự chơi trên piano hoặc guitar )

• Các nốt được hát , chơi với âm lượng khác nhau khá lớn

• Sự xen kẽ giữa việc hát, huýt sáo, giữa việc hát và humming…

Rất nhiều vấn đề nghe được trong quá trình ghi vì vậy việc xử lý âm thanh đầu vào rất phức tạp

1.4.3 Việc ghép nối giai điệu truy vấn với cơ sở dữ liệu:

Đầu tiên chúng ta định nghĩa vài thuật ngữ Chúng ta định nghĩa một điệu hát bao gồm có giai điệu và nhịp điệu với một chuỗi các note ví dụ như một đoạn giai điệu thì là một cặp của các chuỗi có độ dài bằng nhau, một chuỗi biểu thị cao độ của mỗi nốt và trường độ của mỗi nốt.Giai điệu mà người dùng đưa vào được gọi là truy vấn và một điệu nhạc đưa ra trong tập dữ liệu âm nhạc được gọi là điệu nhạc kết quả Việc xử lý của việc tìm kiếm một giai điệu kết quả mà giống nhất với giai điệu truy vấn được gọi là thuật toán tìm kiếm và ghép nối xấp xỉ hoặc ghép chính xác, trong các trường hợp mà các lỗi được hoặc ko được giải thích, một cách tương ứng Phần trung tâm của hệ thống là thuật toán ghép nối Nó thì khó bởi nó cần được giải thích các lỗi

và xử lý chúng

Xử lý việc sao chép từ âm thanh ghi lại thành một chuỗi các nốt:

Trang 12

• Các nốt bị sai (Các nốt biểu thị trong bản ghi nhưng không tìm ra bởi thuật toán sao chép)

• Sai vị trí (các nốt trong bản ghi được định dạng sai)

• Những nốt tắt bởi một nửa cung (định vị cao độ một cách không chính xác)

• Sự chèn vào (một nốt lạ được chèn vào bởi một sự cố nào đó)

• Sự xóa (Một nốt bị nhầm, trễ hoặc thiếu)

• Sao chép (người hát vào thay đổi việc sao chép tại vài điểm trong truy vấn, tạo nên một chuỗi nhỏ các nốt truy vấn cao hơn hoặc thấp hơn các nốt kết quả)

Giai điệu thay đổi

Người hát có thể thay đổi một phần của giai điệu truy vấn tương tự với sự chuyển giọng

Không tích lũy các nốt cục bộ

Một nốt riêng có thể hát không có cao độ hoặc có thể quá dài hoặc quá ngắn Điều này khác với việc sao chép và thay đổi giai điệu trong mà chỉ một nốt riêng đó bị ảnh hưởng

Tích lũy các nốt cục bộ

Một lỗi cục bộ mà ảnh hưởng đến chuỗi nhỏ các nốt, ví dụ như một nốt quá là nguyên nhân nốt sau quá ngắn trong việc thử của mọi người để thu được nhịp điệu đúng

Có hai cách cơ bản đi đến việc tìm kiếm cho một giai điệu trong một tập cơ sở dữ liệu các bài hát Một là chúng ta so sánh giai điệu truy vấn với mỗi phần có thể của giai điệu trong bài hát (giai điệu bắt đầu tại mỗi nốt trong mỗi bài hát,việc làm cơ bản số lượng các nốt xấp xỉ bằng với số các nốt và lớn hơn nó nếu chúng ta cho phép biến đổi và chuyển đổi của các nốt) hoặc chúng ta chuẩn bị chỉ mục cho tất cả các nốt này

và dùng chỉ mục đó để định vị một cách nhanh chóng giai điệu mà chúng ta đang tìm

kiếm Xem [5]

Trang 13

1.5 Các hệ thống truy vấn thông tin âm nhạc hiện nay

Việc truy vấn thông tin âm nhạc hiện nay đã trở nên ngày càng phổ biến Những hệ thống truy vấn thông tin liên quan đến âm nhạc trước đây được phát triển theo hướng cho những người có hiểu biết về âm nhạc dùng để phân tích những tác phẩm âm nhạc Trong khi đó, những hệ thống gần đây lại hướng đến người dùng thông thường và mang tính thương mại; nhiều ứng dụng có giao thức Web Truy vấn bằng giọng hát là một phương pháp gần gũi với người dùng thông thường trong các phương pháp truy vấn thông tin âm nhạc Trong những hệ thống này, một đoạn thu âm của giọng hát hay ngân nga từ người dùng sẽ được biến đổi và bài hát có thông tin tương ứng với đoạn thu âm sẽ được trả về từ cơ sở dữ liệu Các kết quả sẽ được sắp xếp theo thứ tự dựa trên tính gần giống với bản thu âm của mẫu truy vấn (xem Hình 1) Hệ thống phải xử lý để chấp nhận những lỗi từ việc hát không chính xác hoặc nhớ không chính xác giai điệu cũng nhận lỗi từ việc rút trích đặc trưng của mẫu âm thanh truy vấn Trong phần này, chúng ta sẽ xem xét một vài hệ thống truy vấn âm nhạc và những đề tài nghiên cứu có liên quan Xem trong [Chương 5 của 16]

1.5.1 Shazam

Hiện nay, trong nước chưa có đề tài nghiên cứu nào về truy vấn thông tin âm nhạc được công bố rộng rãi.Shazam (http://www.shazam.com.vn/) là một ứng dụng dùng để nhận dạng bản thu âm thông qua hệ thống mạng điện thoại di động Người dùng có điện thoại di động có thể sử dụng dịch vụ này ở khắp mọi nơi có tiếng nhạc Đây là dịch vụ thương mại kèm theo việc bán các tác phẩm âm nhạc số qua mạng điện thoại di động

1.5.2 Midomi

Đây là một ứng dụng web cho phép người dùng tìm kiếm bài hát từ một đoạn giai điệu do chính người dùng hát Hệ thống hoạt động theo hướng query-to-query (tìm kiếm những câu truy vấn tương đồng mà kết quả đã biết trước) Dịch vụ tìm kiếm miễn phí đi kèm với việc bán những bản thu âm qua mạng (dưới dạng MP3 hoặc đĩa CD) Từ đây hai ứng dụng trên, ta có thể thấy được ý nghĩa thương mại to lớn của dịch vụ truy vấn âm nhạc (http://www.midomi.com/)

Trang 14

1.5.3 CatFind

Catfind là một ứng dụng trên internet dùng để tìm kiếm âm nhạc, thực hiện bởi trường đại học Hồng Kông Phiên bản đầu tiên của ứng dụng cho phép tìm kiếm theo đường biên giai điệu hay theo chuỗi những note cho trước (như là Đô-Rê-Mi…) Việc biểu diễn Đường biên giai điệu được thực hiện bởi các ký kiệu „/‟, „-‟, và „\‟ Như vậy, bài hát “Happy Birthday” sẽ được biểu diễn thành „-/\/\\-/\/\‟ Hiện tại, hệ thống không nhận đường biên giai điệu trực tiếp từ người dùng, nhưng vẫn giữ cơ chế này để tìm kiếm

1.5.4 Echo

Echo là hệ thống tìm kiếm dựa theo giai điệu từ giọng hát của người dùng Hệ thống được phát triển bởi Tomonari Sonada et al, đại học Waseda University, Tokyo Pitch tracking được thực hiện tại một chương trình ở máy client, sau đó client sẽ gửi đặc trưng truy vấn lên máy chủ và nhận về kết quả

Hệ thống Echo sử dụng hai phương pháp để làm tăng kết quả tìm kiếm Phương pháp thứ nhất là sử dụng ngưỡng động để phân lớp pitch contour Thay vì chấp nhận xếp vào lớp Up (U) khi giá trị cao độ của note hiện tại lớn hơn giá trị cao

độ của note liền trước, Echo phân tích những bài hát trong cơ sở dữ liệu và xác định ngưỡng thích hợp Phương pháp tương tự cũng áp dụng với rhythm contour

Một hướng khác để làm tăng hiệu quả của hệ thống là sử dụng càng lúc càng nhiều lớp melodic contour để so sánh với cơ sở dữ liệu cho đến khi còn ít hoặc chỉ một bài trong kết quả Hệ thống sẽ bắt đầu với 3 lớp pitch contour, sau đó sẽ tăng lên đến 9lớp, và nếu kết quả vẫn còn quá nhiều bài hát, số lớp pitch contour sẽ tăng lên đến 27 lớp

1.5.5 Query by humming

Ghias et al sử dụng đặc trưng melodic pitch contour, nhưng dùng ký tự

S (Same) thay cho ký tự R (Repetition) để biểu diễn giai điệu và đánh giá độ tưong đồng của các đặc trưng Cơ sở dữ liệu bao gồm 183 bài hát Hệ thống hỗ trợ tìm kiếm tại bất kỳ vị trí nào trong bản nhạc và hỗ trợ file midi đa âm sắc Tuy nhiên,

Trang 15

phần pitch tracking khá chậm và là phần tốn nhiều thời gian nhất trong toàn hệ thống Thời gian tìm kiếm sẽ chậm đáng kể nếu như có nhiều bài hát trong cơ sở dữ liệu Cũng do nhược điểm của việc hỗ trợ MIDI đa âm sắc, nhiều thông tin không cần thiết (không phải thông tin giai điệu như tiếng trống, tiếng nhạc cụ đệm…) vẫn làm tốn thời gian tìm kiếm

1.5.6 Vocal Search

Hệ thống tìm kiếm trực tuyến được phát triển bởi Bryan Pardo et al (Trường đại học Northwestern, USA) Nhóm nghiên cứu sử dụng đặc trưng Pitch Interval để biểu diễn và phương pháp Local String Alignment (tham khảo phần 2.3.4.2) để tìm kiếm giai điệu Ứng dụng được xây dựng trên nền Java Applet và cơ sở dữ liệu gồm những bài hát của ban nhạc The Beatles

Biểu diễn Pitch Interval được phát triển dựa trên biểu diễn pitch contour và rhythm contour Trong đó thay vì phân độ sai khác vào các lớp U, D, R, pitch interval sử dụng hiệu cao độ (đơn vị semitone) giữa hai note liền kề làm giá trị cho pitch contour Rhythm contour được sử dụng như khái niệm nguyên thuỷ (gồm S, L, và R), nhưng được phân chi tiết làm 5 lớp con Một Pitch Interval được đặc trưng bởi hai thông số là pitch contour (hiệu cao độ hai note liền kề) và rhythm contour

Hiện nay, nhóm đang nghiên cứu cách xây dựng những thông tin người dùng (user profile), bao gồm những thông số về các ngưỡng phụ thuộc vào từng người dùng nhất định, để làm tăng kết quả của hệ thống Thông tin người dùng được xây dựng trên mô hình lập trình tiến hóa Bạn có thể tham khảo trên webite này: http://music.cs.northwestern.edu/research/vocal_search

1.5.7 Nhóm nghiên cứu trường đại học Tsing Hua, Đài Loan

Roger Jang et al đã có những đóng góp lớn trong lĩnh vực truy vấn âm nhạc bằng giọng hát Nhóm nghiên cứu đã thực hiện một bộ dữ liệu QBSH Corpus với 48 bài hát và 2797 tập tin thu âm truy vấn mẫu Dữ liệu này rất có ích cho việc phát triển

và đánh giá độ tốt của những hệ thống truy vấn âm nhạc bằng giọng hát Nhóm cũng

đã đề xuất sử dụng đặc trưng continuous pitch (hay pitch sequence) trong tìm kiếm

Trang 16

giai điệu và cũng đã đề xuất sử dụng những phương pháp tìm kiếm dựa trên đặc trưng này như: Linear Scaling và Dynamic Time Warping (xem phần 2.3.2) Roger Jang và Hong-Ru Lee đã phát triển phương pháp Progressive Filtering và ứng dụng vào truy vấn âm nhạc Đây là phương pháp giúp truy vấn trên cơ sở dữ liệu lớn Việc này đem lại nhiều hứa hẹn cho ứng dụng thương mại hoá về truy vấn âm nhạc bằng giọng người hát

1.5.8 MusArt

MusArt là một dự án nghiên đang nghiên cứu và phát triển công nghệ mới cho MIR MusArt viết tắt bởi Music Analysis and Retrieval Technology Nó dùng cho việc tiếp cần chủ đề, được đề cập sớm hơn bởi việc xây dựng tự động một chỉ mục thuộc các phần của âm nhạc trong cơ sở dữ liệu của nó Việc đánh chỉ mục bởi chủ đề thì là một phương pháp không chính xác, nhưng có thể cải thiện lớn về sự đúng đắn

và tốc độc của hệ thống truy xuất đang dùng phương pháp này Bởi vậy trung bình người bình thường nhớ và yêu cầu chủ đề của một đoạn nhỏ của âm nhạc, hệ thống dùng phương pháp đó thì có thể tìm kiếm cho những phần nhỏ hơn.Tham khảo tại

http://www.cs.cmu.edu/ music/search

1.5.9 MELDEX

The New Zealand Digital Library’s MELody inDEX (MELDEX) chuyển đổi trước sang dạng xử lý tín hiệu số, công nghệ biểu diễn âm nhạc và phần cứng máy tính để chuyển dổi các giai điệu một cách tự dộng từ micro Nó được tạo ra cho những người quản lý thư viện người mà thường yêu cầu tìm một phần của âm nhạc dựa trên một vài note được hát vào Nó được thiết kế lại để trong các phần mềm ứng dụng thư viện số Một phân tích cho việc dùng logs đã chỉ ra mà hầu hết nguwofi dùng thì đang đưa một truy vấn text trên một chủ đề không chắc chắn để thấy tràng các giai điệu (tunes) kết quả của việc tìm kiếm Một người có thể cũng tìm kiếm cơ sở dữ liệu bởi việc chơi truy vấn bởi bàn phím ảo trên một trang web Thiết kế, tạo và được sử dụng cho mỗi mục đích riêng, cơ sở dữ liệu được làm đầy với 9000 đoạn nhạc và có thể được tìm kiếm (http://www.nzdl.org/musiclib)

Trang 17

Chương 2 CÁC VẤN ĐỀ NGHIÊN CỨU LIÊN QUAN

2.1 Các công cụ hỗ trợ xử lý âm thanh

2.1.1 Praat

Praat là một chương trình dùng để phân tích và tổng hợp lời nói được viết bởi Paul Boersma och David Weenik tại University của Amsterdam, Department of Phonetics Praat phân tích tín hiệu đơn sắc Praat hỗ trợ khả năng quan sát trực tiếp các tham số như tần số cơ bản F0, cường độ, trường độ, formant … trên tín hiệu tiếng nói, đồng thời cung cấp các chức năng cho phép trích chọn tham số đó phục vụ cho các nghiên cứu khác nhau Bên cạnh đó Praat còn có khả năng cho phép người

sử dụng xây dựng các chương trình tính toán, trích chọn, biểu diễn các tham số một cách tự động bằng cách cung cấp chức năng viết script rất linh hoạt [6]

• Gaus từ các hệ thống Aptech

• Maple từ waterloo Maple Sofeware

• Mathematica từ Wolfram Research

• Matlab từ The Mathworks

• O-Matrix from Harmonic Software (www.omatrix.com)

• OxMetrics(Ox Prof.) from Timberlake Consultants Ltd (www.oxmetrics.net)

Matlab là một ngôn ngữ bậc cao và tương tác với môi trường nó cho phép bạn thực thi các nhiệm vụ một cách hiệu quả sự tính toán nhanh hơn các ngôn ngữ của

Trang 18

các trương trình truyền thống như C, C++ và Fortran.” Theo các tài liệu từ các tên đã được gợi ý, Matlab được thiết kế để thực hiện việc tính toán ma trận một cách có hiệu quả đặc biệt Matlab có nhiều bộ dụng cụ cho phép thực thi nhiều nhiệm vụ, bao gồm

n là số lượng mẫu được ghi lại, fs là tần số lấy mẫu

Chúng ta cũng có thể ghi files âm thanh “wav”bằng việc dùng Matlab với lệnh wavwrite như sau:

y = wavwrite(y, fs, nbits, waveFile);

Với y là dữ liệu âm thanh, fs là tần số lấy mẫu, nbits là độ phân giải bít và wavFile là file dạng wav được ghi vào Xem chi tiết [25, 26]

Trong Matlab hỗ trợ rất nhiều hàm và công cụ hữu ích cho việc xử lý, phân tích âm thanh từ micro Nó cho phép bạn thao tác dễ dàng với các tín hiệu âm thanh đầu vào thu được

2.2 Biểu diễn nội dung dữ liệu

Lựa chọn phương pháp biểu diễn dữ liệu là điều rất quan trọng, vì nó ảnh hưởng đến phương pháp truy vấn, tìm kiếm dữ liệu, và những thuật toán thực thi trên

dữ liệu Chẳng hạn, văn bản là phương pháp biểu diễn nội dung thích hợp với dữ liệu

là những đoạn thu âm tiếng nói, và với những thuật toán tìm kiếm từ khóa hiện có Một vài phương pháp biểu diễn này có thể có được qua việc rút trích đặc trưng từ một

dữ liệu khác, thông thường là ở những mức biểu diễn thấp hơn (chẳng hạn thông qua những định dạng WAV hay MIDI) Có thể nói, rút trích đặc trưng là một công việc biến đổi đặc trưng từ những biểu diễn trên tầng thấp đến biểu diễn trên tầng cao và

Trang 19

trừu tượng hơn Những phương pháp biểu diễn nội dung dữ liệu âm nhạc hiện nay rất nhiều và đa dạnh Các phương pháp biểu diễn đặc trưng này lại thích hợp với nhiều đề tài cụ thể Vì vậy, thực hiện một khảo sát chi tiết và đầy đủ những phương pháp biểu diễn là không khả thi và cũng không có giá trị thực tế Những mục sau đây cho ta một cách nhìn tổng qua từ tác phẩm đến dạng sóng âm vật lý

2.2.1 Giai điệu

Giai điệu là một dãy các note nhạc được sắp xếp theo một trật tự nhất định Mỗi thể loại âm nhạc sử dụng giai điệu theo một cách khác nhau Giai điệu một bài nhạc là cái nền làm bản nhạc du dương do đó dễ nghe và dễ nhớ Có lẽ bạn chẳng cần hiểu biết tối thiểu về nhạc cũng vẫn có thể nghe và thích các bản nhạc trầm bổng réo

rắt của Schubert, Tchaikovski, Mendelssohn… [24, 15, 16]

2.2.2 Đường viền giai điệu (Melody Pitch Contour)

Một đại diện giai điệu tốt nên nắm bắt được tất cả các thông tin giai điệu và phù hợp với thói quen mà người dùng “hum” vào Theo nguyên tắc này, chúng ta đã

đề nghị một bộ ba của đại diện giai điệu Đầu tiên, đường viền giai điệu được dùng.Thuộc tính cơ bản của âm nhạc là chuỗi cao độ của các nốt, giai điệu, nhịp điệu (Nhanh/chậm), kết cấu (âm sắc hay âm thanh) và lời hát Nó là những phân đoạn mà chúng ta phân biệt một cách đặc trưng một trong những phần của âm nhạc từ cái khác Giai điệu và nhịp điệu thì đặc biệt nhất Giai điệu của một phần âm nhạc là một chuỗi các nốt với cao độ khác nhau và trường độ khác nhau Cao độ được kết hợp với chu

kỳ của âm thanh và cho phép sắp xếp [15, 24, 13, 16]

Downling [22] đã đề nghị một phương pháp biểu diễn giai điệu bằng chiều hướng của cao độ (tăng, giảm hoặc lặp lại) và phương pháp này rất hữu dụng trong đa

số trường hợp Cách biểu diễn này được gọi là đường biên giai điệu (Melodic pitch contour)

Đường biên giai điệu thể hiện một chuỗi những biến đổi có tính chất định tính trong cao độ Một note trong một bản nhạc được đem so sánh với note trước đó và sự sai khác được xếp vào một trong ba lớp, được ký hiệu như sau: U (Up - khi cao độ tăng), D (Down – khi cao độ giảm), và R (Repeat – khi cao độ lặp lại) Như vậy, một đoạn nhạc đơn giản có thể được biểu diễn bằng một chuỗi những ký tự (gồm U, D, R)

Trang 20

Chẳng hạn như, khúc mở đầu của bản giao hưởng số 5 của Beethoven sẽ được biểu diễn bằng chuỗi sau: - R R D U R R D Hình 3 cho ta một ví dụ khác về bản nhạc quen thuộc “Happy Birthday” được biểu diễn dưới dạng đường biên giai điệu

Hình 3: Ví dụ biểu diễn đường biên giai điệu của bài hát “Happy Birthday”

Đường biên giai điệu thể hiện một chuỗi đặc trưng đường biên của của giai điệu đã loại bỏ những thông tin không cần thiết, như định lượng sự sai khác giữa hai note nhạc liền nhau hay thông tin về nhịp điệu, vì vậy làm giảm không gian

và độ phức tạp của việc tìm kiếm Tuy nhiên, cũng vì thế, thông tin đường biên giai điệu lại trở nên quá thiếu chi tiết (under-specification)

Có rất nhiều bản nhạc dù giai điệu khác nhau, nhưng vẫn có thể có đường biên giống nhau do giai điệu cùng lên và xuống theo trật tự giống nhau (nhưng độ lên xuống khác nhau và thời gian của từng note nhạc cũng khác nhau)

Đặc trưng đường biên giai điệu như mô tả ở trên không đủ phân biệt trong rất nhiều trường hợp Một cách khắc phục là phân loại những lớp con trong các lớp UDR.Theo phương pháp này, mỗi lớp cha (U hay D) sẽ có những lớp con tương ứng với mức độ lên xuống nhiều hay ít của các cao độ trong các note liền kề Lớp R – Repeat chỉ có một lớp con là chính nó, còn các lớp U và D sẽ được biểu diễn tương ứng bằng những số nguyên dương hoặc âm.[13,10, 16]

2.2.4 Đường biên nhịp điệu (Rhythm Contour)

Nhịp điệu (Rhythm) của một bản nhạc là một đặc trưng theo thời gian của bản nhạc Đường biên nhịp điệu (Rhythm Contour) có thể được hiểu tương tự như đường biên cao độ Độ dài của một note nhạc trong bản nhạc được đem so sánh với độ dài của note nhạc trước đó và sự sai biệt này sẽ được xếp vào ba lớp tương ứng: dài hơn (L –Longer), ngắn hơn (S – Shorter), và bằng nhau (R – Repeat) Từ đó, một bản nhạc

sẽ được biểu diễn bởi một chuỗi các ký tự gồm ba ký tự (LSR) Đương nhiên, khi biểu diễn đặc trưng Rhythm Contour, ta phải chấp nhận một sai số nhất định cho lớp R vì trong quá trình biểu diễn bản nhạc, việc biểu diễn hai note giống nhau hoàn toàn về mặt thời gian trên khuôn nhạc là không khả thi Ngưỡng sai số thường dùng

Trang 21

trong trường hợp này là ½ (cho Shorter) và 2 (cho Longer), dựa theo tỉ lệ thời gian của note trước và note sau Xem [16]

Không giống với đường biên giai điệu, đường biên nhịp điệu hoàn toàn không dựa trên cơ sở tâm lý học Biểu diễn đường biên nhịp điệu chỉ nhằm mục đính làm giảm bớt độ phức tạp trong lưu trữ và tìm kiếm

2.2.5 MIDI (Musical Intrument Digital Interface)

Nhạc thường (bao gồm tiếng đàn, tiếng sáo, tiếng các bộ gõ và cả tiếng hát nữa) đều tồn tại dưới dạng sóng âm thanh hình Sin (Sinus) Dẫu rằng chúng khác nhau về cường độ (mạnh, yếu), trường độ (dài, ngắn), cao độ (trầm, bổng), tiết tấu (nhanh, chậm) và âm sắc (bản sắc riêng của các công cụ nhạc), nhưng điểm chung nhất tất cả đều là sóng âm, với bản chất cơ học : Một luồng sóng âm, bất kể từ nguồn nào, đều làm rung động bầu không khí quanh nó, truyền đi trong không gian bao la, rồi đập vào tai người nghe, làm rung động màng nhĩ, khiến cho người ấy nghe được âm thanh đó.[27, phụ lục 8]

Để ghi lại, lưu lại một sóng âm thường thì người ta sử dụng kỹ thuật tương tự (Analog), biến một sóng âm bản chất cơ học thành sóng điện từ, với những định dạng (format) quen thuộc như wav, cda, mp3 v.v File âm thanh định dạng wav thường chiếm rất nhiều không gian dĩa, file cda cũng là một loại file wav, được sử dụng cho các đĩa CD (compact disc) nên cũng chiếm dụng không gian tương đương Kỹ thuật nén file ra đời đã hình thành nhạc mp3 với rất nhiều ích lợi (chiếm dụng không gian ít hơn từ 10 lần đến 20 lần so với file wav, nhờ đó có thể truyền tải được trên mạng Internet nhiều và nhanh hơn) Nếu một bài hát thông thường lưu ở định dạng wav chiếm trung bình khoảng 40 Mb , thì file Mp3 tương ứng chỉ cần từ 2Mb cho đến 4

Mb

Giữa các nhạc cụ điện tử giờ đây có một "ngôn ngữ" chung gọi là "MIDI", để nói chuyện với nhau MIDI tuy là một khái niệm mới nhưng đã trở nên rất quen thuộc trong lĩnh vực âm nhạc điện tử, đến nổi người ta xem nó là một thuật ngữ mà quên rằng MIDI là từ viết tắt của "Miscical Instrument Digital Interface" (giao diện số với các nhạc cụ) Một cách đơn giản, MIDI là một ngôn ngữ giữa các thiết bị âm nhạc Mặc dù có nhiều ngôn ngữ khác nhau trên thế giới (Việt Nam, Anh, Pháp ) nhưng MIDI chỉ có một ngôn ngữ duy nhất Do đó, MIDI không phụ thuộc nhà chế tạo nhạc

Trang 22

cụ và nơi sản xuất Hơn nữa nó dùng cho nhiều chủng loại nhạc cụ khác nhau; ví dụ một piano điện có thể nối với một bộ trống điện tử, khi đó nếu ta bấm một phím trên piano thì bộ trống sẽ phát ra một tiếng trống tương ứng

Nhạc Midi không dùng kỹ thuật tương tự (Analog), mà dùng kỹ thuật số (Digital)

để lưu lại âm thanh Mỗi âm thanh của các nhạc cụ khác nhau được gán cho một chuỗi ký tự số nhị nguyên tương ứng (chỉ bao gồm 2 chữ số 0 và 1)

Như vậy một chuỗi âm thanh sẽ được ghi lại như một chuỗi số Và quá trình

lưu file âm thanh được quy về như một quá trình số hóa, kèm theo là lưu số

Ở công cụ nghe, một quá trình ngược sẽ được thực thi: Chuỗi số sẽ được biến đổi, hoán cải ngược lại thành chuỗi âm thanh.Vì thế Nhạc Midi còn được gọi bằng những tên khác như: nhạc điện tử, hay gọn hơn nữa là nhạc số Vì đã được tiêu chuẩn hóa nên nhạc Midi chơi rất chính xác và rất hay, rất lạ tai Một lợi ích quan trọng hơn nữa

là file nhạc Midi chiếm dụng rất ít không gian Một bài hát định dạng wav 40 Mb, định dạng Mp3 khoảng 4 Mb, thì một file Midi tương ứng chỉ mất khoảng 40 Kb (ít hơn Mp3 một trăm lần, và ít hơn Wav một ngàn lần !!!) Nghĩa là sẽ có (thật ra là đã có) những dĩa CD kỹ thuật số dung lương cũng chỉ 650 Mb như các dĩa khác, nhưng chứa được trên mười ngàn bài hát

Midi như đã nói ở phần trên, nhờ những tiện nghi vô hạn của nó, nên đã rất nhanh và rất sớm được sử dụng trên mạng InterNet

2.2.5 Digital audio

Digital audio là cách biểu diễn thô của âm thanh qua việc số hóa tín hiệu trong sóng âm thanh Sóng âm thanh sẽ được lấy mẫu và biên độ của sóng tại từng thời điểm sẽ được biến đổi từ tín hiệu analog sang tín hiệu số [29]

Do tính chất của việc biểu diễn dựa trên sóng âm, cách biểu diễn này có thể biểu diễn mọi loại âm thanh (tiếng nói, tiếng hát…) Nhờ tính chất này, việc tạo ra một tập tin âm thanh dạng thô khá đơn giản và có thể thực hiện được từ việc thu âm vào microphone Do đó có thể sử dụng làm định dạng truy vấn của người dùng

2.3 Những phương pháp Matching

2.3.1 Thuật toán LSH (Locality Sensitve Hashing)

Trang 23

Đưa ra một đoạn giai điệu được định nghĩa bởi điểm pi, chúng ta có thể tìm các đoạn tương tự trong chỉ mục bằng các tìm kiếm các hàng xóm gần nhất (NNs) của điểm ví dụ tất cả các điểm mà khoảng cách nhỏ hơn một ngưỡng cụ thể r nào đó.Điều này có thể được làm bởi việc đo khoảng cáh đơn gian pi đến tất cả các vector trong cơ

sở dữ liệu Tuy nhiên, các kết quả này trong một thời gian tìm kiếm tùy thuộc vào kích cỡ tuyến tính của cơ sở dữ liệu [16, 4]

Để thu được một thời gian tuyến tính dưới một cách phức tạp, chúng ta sử dụng vị trí của hàm băm miền nhạy cảm LSH là một thuật toán ngẫu nhiên cho việc tìm kiếm khoảng cách hàng xóm gần nhất trong không gian nhiều chiều.Ý tưởng là các điểm mà khoảng cách trong cùng một ngưỡng sẽ được băm vào một thùng giống nhau với xác suất cao Người dùng định nghĩa xác suất điều khiển sự thỏa thuận giữa

độ chính xác và tốc độ của LSH Trong phương pháp của chúng ta, chúng ta thuê LSH hoàn thiện các gói E2LSH bởi các độc giả http://web.mit.edu/andoni/www/LSH Dựa trên sự thi hành, chúng ta xây dựng một máy chủ cho việc xử lý các đoạn chỉ số the melodic và một máy khách cho việc truy xuất các đoạn giai điệu giống nhau từ cơ sở

dữ liệu Gần đây LSH được áp dụng ví dụ trong việc công nhận âm nhạc và trong dấu tay âm thanh.Ý tưởng của thuật toán LSH như sau Thuật toán LSH là thuật toán tìm kiếm K hàng xóm gần nhất hoặc tìm kiếm xấp xỉ K hàng xóm gần nhất

• Truy vấn lân cận K gần nhất KNN (K- nearest neighbour)

Người dùng đặc tả một đối tượng truy vấn Q và chấp nhận một số lượng K đối tượng Hệ thống tìm kiếm K đối tượng tương tự nhất với đối tượng truy vấn từ MMDBMS (Multimedia Database Management Systems)

K=|A|, A € DB, ¥ P € A,, P’ € { DB/A },, D (P,Q)<=D(P’,Q)

Trang 24

Hình 4: Minh họa phương pháp truy vấn KNN

• Truy vấn xấp xỉ lân cận K gần nhất

Đối với các ứng dụng mà mục tiêu đưa ra không phải là kết quả thật chính xác

mà xét tốc độ là quan trọng hơn, khi đó phương pháp truy vấn xấp xỉ lân cận K gần nhất cho hiệu quả cao hơn phương pháp KNN nêu trên Truy vấn xấp xỉ lân cận K gần nhất mô tả như sau:

Người dùng đặc tả một đối tượng truy vấn Q và một số K đối tượng và sai số epsilon chấp nhận được

Hệ thống tìm kiếm xấp xỉ K đối tượng tương tự nhất với đối tượng truy vấn từ MMDBMS: K=|A|, A € DB, ¥ P € A, P’ € { DB/A }, D(P,Q)<=(1+∂)D(P’,Q)

2.3.2 Thuật toán Dynamic Time Warping (DTW)

Dynamic Time Warping (DTW)[1] [24][5] [21] [8] là thuật toán dùng

để tính độ tương đồng giữa hai chuỗi đặc trưng, khác nhau về chiều dài DTW được

áp dụng trong nhiều lĩnh vực và là ý tưởng nguyên thuỷ của nhận dạng tiếng nói Trong đó, DTW được dùng để giải quyết vấn đề khác nhau trong độ nhanh chậm của tiếng nói

Mục đích của DTW dùng để tìm kiếm một ánh xạ giữa hai vector đặc trưng (có chiều dài khác nhau) với khoảng cách ngắn nhất Phương pháp này được gọi là “time-warping” là vì những vector đặc trưng này thường được lấy theo đơn vị thời gian và ta cần co (hoặc giãn) chiều thời gian cho phù hợp để có được một ánh xạ tốt nhất

Trang 25

Cho hai vector t = [t1, t2,…, tn] và r = [r1, r2,…,rm] Thuật toán DTW sẽ giúp tìm ra một ánh xạ đường đi {(xi1, yj1), (xi2, yj2),…, (xik, yjk)} với những ràng buộc sau:

i Điều kiện ràng buộc biên: (i1, j1) = (1, 1), (ik, jk) = (m, n) Điều kiện này còn gọi là "neo điểm đầu" và "neo điểm cuối"

ii Ràng buộc về đường đi cục bộ: Với mọi node (i, j) trong đường đi, những node đến được nó chỉ giới hạn trong (i-1, j), (i, j-1), (i-1, j-1) Ràng buộc này giúp đảm bảo luôn tồn tại một song ánh từ t đến r Minh họa về ràng buộc đường đi cục bộ thể hiện trong hình dưới đây

Hình 5: Minh họa đường đi cục bộ 0 - 45 - 90

Cốt lõi của thuật toán DTW là thuật toán quy hoạch động Thuật toán được mô

tả trong 3 bước sau:

i Gọi D(i, j) là khoảng cách DTW giữa t(1 i) và r(1 j), với ánh xạ đường đi (1,1) đến(i, j)

ii Sử dụng công thức quy hoạch động để điền lần lượt các giá trị vào D(i, j):

D (i, j) = |t(i) - r(j)| + min{D(i - 1, j), D(i - 1, j - 1), D(i, j - 1)}

với điều kiện đầu D(1,1) = |t(1) - r(1)|

iii Khoảng cách DTW của 2 vector t và r là D(m, n)

Trong lập trình, ta xây dựng một mảng hai chiều D gồm m và n phần tử Khởi tạo giá trị ban đầu của D (1, 1) Sau đó, sử dụng công thức quy hoạch động để điền lần lượt các giá trị lần lượt từ trái qua phải, từ trên xuống dưới Như vậy, độ phức tạp

Trang 26

của thuật toán DTW là O(mn) Để áp dụng trong tìm kiếm âm nhạc, một vài cải tiến

đã được đề xuất:

Hình 6: Minh họa đường đi 27 – 45 – 63 [16]

Khác với đường đi thông thường 0-45-90, đường đi này loại bỏ tính ràng buộc song ánh giữa hai vector, giúp ta loại bỏ nhiễu (outlier) của dữ liệu trong hai vector đặc trưng

Loại bỏ ràng buộc điều kiện "neo điểm cuối"

Thông thường, điểm đầu và cuối đoạn truy vấn giai điệu sẽ không trùng khớp hoàn toàn với giai điệu mẫu được lưu trong cơ sở dữ liệu Vì vậy, điều kiện "neo điểm cuối" có thể bỏ qua Điều kiện "neo điểm đầu" cũng có thể bỏ qua; tuy nhiên, kết quả thực nghiệm cho thấy phưong pháp làm này hoàn toàn không hiệu quả cả với những đoạn truy vấn mẫu được hát từ đầu giai điệu

Vì vậy, với phương pháp DTW, chúng ta giả thiết người dùng hát từ đầu giai điệu Điểm khiếm khuyết này của DTW sẽ được giải quyết trong phần sau (xem phần 3.4) Để loại bỏ điều kiện "neo điểm cuối", khoảng cách DTW giữa hai vector r và t sẽ là giá trị nhỏ nhất trong các giá trị D[m, i n] Xem chi tiết tại [1] [24][5] [21] [8]

Ưu điểm của phương pháp DTW ở chỗ có thể sử dụng thẳng chuỗi cao

độ vào quá trình tìm kiếm mà không cần phải phân đoạn thành từng note Thường đây là một vấn đề rất khó giải quyết nếu áp dụng phương pháp String Alignment

2.3.3 Thuật toán Hidden Markov Model (HMM)

Trang 27

2.3.3.1 Tổng quan

Mô hình Markov (Hidden Markov Model –HMM) [1] ẩn được sử dụng trong việc thống kê mô hình tạo âm thanh Tính hiệu quả của mô hình được thể hiện trong việc mô tả tín hiệu âm thanh theo dạng toán học dễ dàng cho việc xử lý tín hiệu

Các trạng thái của HMM có được trước khi thực hiện việc xử lý các trạng thái Như thế đầu vào của HMM chính là chuỗi các thông số vector rời rạc theo thời gian

2.3.3.2 Định nghĩa mô hình Markov ẩn

Mô hình Markov ẩn là một tập các trạng thái hữu hạn, mà mỗi trạng thái có liên quan đến hàm phân phối xác xuất Việc chuyển tiếp giữa các trạng thái được định nghĩa bởi một tập xác suất được gọi là xác suất chuyển tiếp (transition probability) Trong một trạng thái cụ thể, kết quả có thể được tạo ra dựa trên hàm phân phối xác suất tương ứng Kết quả này không phải là một trạng thái có thể nhìn thấy được thông qua việc quan sát các trạng thái, cho nên được gọi là mô hình Markov ẩn [1][4]

Trong những nghiên cứu gần đây, hai phương pháp HMM rời rạc và HMM liên tục cũng đã được xem xét đến với những phương pháp này, mỗi bài bát (hay đoạn giai điệu) sẽ được mô hình thành một HMM Hình dưới minh họa biểu diễn giai điệu bằng Hidden Markov Model [1][4]

Hình 7: Mô hình Markov cho một đoạn giai điệu

Hiện nay, HMM chưa đem lại kết quả cao bằng những phương pháp thông thường như String Alignment hay DTW hay LSH vì nhiều lý do:

Trang 28

• Thiếu dữ liệu cho việc học máy

• Những mô hình và những đặc trưng chưa được nghiên cứu và phát triển

2.3.4 String Alignment [22]

Bài toán tìm kiếm cơ sở dữ liệu các đặc trưng pitch contour có thể đưa về bài toán tìm kiếm chuỗi đơn giản Đương nhiên, để có thể giải quyết những sai sót từ người dùng và trong quá trình rút trích đặc trưng, ta phải xem xét đến thuật toán tìm kiếm chuỗi gần đúng

Những ứng dụng đầu tiên trong lĩnh vực tìm kiếm chuỗi có chấp nhận sai sót (gần đúng) được sử dụng trong ngành tin sinh học (so sánh những chuỗi DNA) Nhà khoa học muốn biết hai chuỗi DNA giống nhau như thế nào, chúng có những điểm chung gì Chuỗi DNA được biểu diễn bởi một chuỗi ký tự dài nhưng lại giới hạn về loại ký tự (chỉ bao gồm 4 ký tự A, C, G, T) Tìm kiếm sự hiện diện của một chuỗi DNA ngắn, chấp nhận sai sót, cũng gần giống với việc truy vấn từ một cơ sở dữ liệu đường biên giai điệu

Pardo et al đã đề xuất hai phương pháp string alignment có thể áp dụng trong tìm kiếm melodic contour hay pitch interval: Global String Alignment and Local String Alignment

2.3.4.1 Global String Alignment

Thuật toán Global String Alignment, một dạng điển hình của tìm kiếm dựa trên chuỗi, là thuật toán quy hoạch động Đặt độ dài của chuỗi S là |S| Và ta có Q (Query)

là chuỗi mẫu cần truy vấn, và T (Target) là chuỗi trong cơ sở dữ liệu cần đem so sánh Giả thiết rằng Q và T chỉ chứa những ký tự trong cùng một bảng chữ cái Ta xây dựng một bảng AlignScore gồm |Q| + 1 dòng và |T| + 1 cột trong đó AlignScore (i, j) là điểm liên kết tốt nhất giữa hai chuỗi con q1 qi của Q và t1 tj của T

Quy trình này được bắt đầu bằng việc gán AlignScore (0, 0) = 0 Sau đó, những phần tử của mảng sẽ được tuần tự điền vào theo công thức (2-1) dưới

(2-1)

Trang 29

Hàm matchScore có ý nghĩa như một hàn lượng giác mức độ giống nhau của hai ký tự trong một chuỗi Hàm matchScore có thể được định nghĩa đơn giản như công thức (2-2)

(2-2) Tuỳ thuộc vào bản chất của đặc trang dữ liệu, matchScore có thể được thay đổi cho phù hợp và cho hiệu quả tốt nhất Hàm skipPenalty cũng được xây dựng dựa theo các điều kiện của matchScore (hay cũng có thể biến thành một trường hợp đặc biệt của matchScore) Với hàm matchScore tương ứng như trên, ta có thể xây dựng hai hàm skipPenalty như (2-3)

(2-3) Sau khi xây dựng xong mảng alignScore, giá trị liên kết tốt nhất giữa hai chuỗi

sẽ được đọc tại ô ở dòng cuối cùng, góc bên phải của bảng Từ đó, ta cũng có thể lần ngược lại đường đi để cho ra giá trị tốt nhất này

Hình 8: Ma trận alignScore

Trong trường hợp ma trận alignScore ở Hình 2-6, chuỗi tìm kiếm là “G

D A C B”, còn chuỗi đích trong cơ sở dữ liệu là “G A B B” Điểm liên kết giữa hai

Ngày đăng: 13/04/2013, 09:55

HÌNH ẢNH LIÊN QUAN

Hình 1: Mô hình hệ thống truy vấn thông tin âm nhạc bằng giọng hát hoặc giai điệu - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 1 Mô hình hệ thống truy vấn thông tin âm nhạc bằng giọng hát hoặc giai điệu (Trang 8)
Hình 2: Sơ đồ máy tìm kiếm QBH khác - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 2 Sơ đồ máy tìm kiếm QBH khác (Trang 9)
Hình 4: Minh họa phương pháp truy vấn KNN - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 4 Minh họa phương pháp truy vấn KNN (Trang 24)
Hình 6: Minh họa đường đi 27 – 45 – 63 [16] - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 6 Minh họa đường đi 27 – 45 – 63 [16] (Trang 26)
Hình 7: Mô hình Markov cho một đoạn giai điệu - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 7 Mô hình Markov cho một đoạn giai điệu (Trang 27)
Hình 8: Ma trận alignScore - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 8 Ma trận alignScore (Trang 29)
Hình 12: Nguyên tắc cơ bản của phương pháp pitch tracking - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 12 Nguyên tắc cơ bản của phương pháp pitch tracking (Trang 34)
Hình 13: Dạng đồ thị năng lượng của một sóng âm thanh - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 13 Dạng đồ thị năng lượng của một sóng âm thanh (Trang 35)
Hình 15 :  Một ví dụ về vector biểu diễn đặc trưng của giai điệu - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 15 Một ví dụ về vector biểu diễn đặc trưng của giai điệu (Trang 40)
Hình 16: Minh họa việc ghép nối giữa truy vấn và các đoạn giai điệu - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 16 Minh họa việc ghép nối giữa truy vấn và các đoạn giai điệu (Trang 43)
Bảng 1 Minh họa độ chính xác của từng bộ truy vấn - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Bảng 1 Minh họa độ chính xác của từng bộ truy vấn (Trang 50)
Hình 20 minh họa kết quả độ chính xác của kết quả tìm kiếm - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 20 minh họa kết quả độ chính xác của kết quả tìm kiếm (Trang 50)
Bảng 3 minh họa kết quả tìm kiếm trong top-3 theo từng bộ truy vấn - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Bảng 3 minh họa kết quả tìm kiếm trong top-3 theo từng bộ truy vấn (Trang 51)
Bảng minh họa kết quả tìm kiếm theo top -5 - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Bảng minh họa kết quả tìm kiếm theo top -5 (Trang 52)
Hình 22 Minh họa độ chính xác kết quả tìm kiếm theo top-3 - hệ thống tìm kiếm âm thanh QBH trong cơ sở dữ liệu đa phương tiện và ứng dụng
Hình 22 Minh họa độ chính xác kết quả tìm kiếm theo top-3 (Trang 52)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w