Giá trị DTW của một giai điệu trong CSDL với giai điệu truy vấn đặc trưng cho sự sai khác của hai giai điệu đó và được sử dụng làm cơ sở để sắp xếp các giai điệu trong danh sách kết quả tìm kiếm
Hạn chế:
Thuật toán dựa trên giả thiết người dùng hát từ đầu bài hát. Để giải quyết ta chia một bài hát ra làm nhiều đoạn giai điệu chủđề nhỏ hơn. Việc chia bài hát ra làm nhiều giai điệu chủđềđược thực hiện lúc tạo cơ sở dữ liệu.
3.5 Sự trả về các giai điệu
Để thu được danh sách cuối cùng của các giai điệu truy xuất được, các giai điệu đã chọn được sắp xếp theo khoảng cách của chúng để toàn bộ truy vấn gồm chuỗi các note. Hàng thì được thực thi bởi việc kiểm tra tất cả phép nối được duy trì trong bước trước. Phần 3.3 [7]
Việc ghép nối là được biểu thị bởi <bq, mj, bc, s> với: • bq là vị trí của vecto cao độ của truy vấn • mj thì dùng kích thước cửa sổđể sửa đổi
• bc là sựđưa ra vị trí của các đoạn giai điệu trong cơ sở dữ liệu • s là bài hát.
Thêm vào đó, để t0 (q) và t1 (q) biểu thị thời gian bắt đầu của note truy vấn đầu tiên và thời gian kết thúc của note cuối cùng của truy vấn, theo một thứ tự tương ứng. Sau đó thời gian miền đáp ứng toàn bộ truy vấn trong giai điệu đã chọn được định nghĩa bởi (3-9):
t0(c) = bc-(bq-t0 (q))/mj và t1(c) =bc+ (t1 (q)-bq)/mj (3-10)
Toàn bộ truy vấn và phân đoạn được chuẩn hóa theo cao độ và thời gian cho việc tính toán khoảng cách. Một chuỗi các note n1:L được chuẩn hóa bởi việc thực thi các phương thức piÅ pi – p’, bi Å (bi-b1)/tdur và eiÅ(ei –b1)/tdur
với j=1,…,L
tdur= eL-b1 là khoảng thời gian của chuỗi .
Dưới đây, thuật ngữ đoạn giai điệu được chọn liên quan đến miền giai điệu được chọn. Bảng dưới trong hình 4 chỉ ra một ví dụ đoạn đã được chọn ra được xác định thế nào cho một so khớp. Hình phía dưới trong hình 4 chỉ ra sự chuẩn hóa truy vấn và chuẩn hóa đoạn giai điệu candidate
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
Khoảng cách giữa chuẩn hóa truy vấn và đoạn chuẩn hóa các đoạn thu được thì được đánh giá bởi việc dùng thuật toán đệ quy (Recursive Alignment) đề ra bởi Wu et al. Birefly, thuật toán đệ quy (RA) dùng thuật toán top-down để tiếp cận.
Thứ nhất, phương pháp chia đoạn tìm được trong hai nửa tại vị trí 0.5. Truy vấn thì cũng được chia thành hai nửa nhưng dùng nhiều điểm chia có thể, ví dụ: 0.45,
0.5, and 0.55. Cho mỗi điểm chia, hai nửa được so sánh với hai nửa trong đoạn candidate để đo khoảng cách. Điểm chia mà đưa ra khoảng cách nhỏ nhất đầu nối cho hai nửa được duy trì. Sau đó phương pháp áp dụng thủ tục ở trên cho việc chia đôi hai nửa một cách độc lập trong một phương thức đệ quy. Mặt khác RA tìm thuật toán phổ biến nhất cho lần đầu tiên và sau đó đệ quy tiếp tục để căn chỉnh các đoạn nhỏ hơn. Kết quả là RA trả về khoảng cách giữa căn chỉnh chuỗi các note.
Sự đánh giá khoảng cách trên được thực thi cho mỗi phép nối. Khoảng cách nhỏ nhất nối đoạn giai điệu đã chọn được duy trì, từđó có thể tồn tại nhiều đoạn được chọn trên một giai điệu. Cuối cùng, danh sách được chọn được sắp xếp theo khoảng cách tăng dần và trả về cho người dùng. Nếu các giai điệu được truy xuất từ audio, cũng các đoạn giai điệu đã chọn được trả về cho phép chơi lại các giai điệu truy xuất được trong các bản ghi nhạc bình thường. [7]
Chương 4. KẾT QUẢ VÀ THỰC NGHIỆM