Tôi đã thử nghiệm vài tuần để tìm cách khớp / tìm các bài hát tương tự trong Thư viện chứa các Thể loại Âm nhạc khác nhau.
Thử nghiệm đầu tiên của tôi là Phát hiện các Tính năng như Tempo hoặc có bao nhiêu Bass trong các Bài hát để tạo thành các nhóm, nhưng tôi đã không đi xa được với cách tiếp cận này (Phát hiện nhịp thay đổi dựa trên âm lượng) vì khoảng 20% các bài hát Beat không cần phải tính luôn luôn, đôi khi 1/2 hoặc 1/3 trong số họ và tôi không thể thực hiện điều đó.
Sau vài tuần thử thất bại, tôi đã có một ý tưởng mới được mô tả sau trong Bài viết này. Đơn giản chỉ cần đặt nó hoạt động bằng cách lấy Spectrum Samples of Files, tạo một cái gì đó giống như "Phổ trung bình" của Tệp để so sánh chúng. Ý tưởng đằng sau là ví dụ Hardstyle có nhiều Bass hơn so với Rock Music trung bình, tôi cũng đã xác minh điều này bằng cách xem xét một số Spectrum trong Audacity.
- Tệp 1: Lấy toàn bộ phổ FFT tệp (2048 Cỡ mẫu atm, Nhật ký biên độ. Thu nhỏ)
- Tính tổng tất cả các mảng phổ, lấy trung bình của mỗi thùng
- Thực hiện tương tự một số Tệp khác, lưu trữ tất cả Kết quả
- Lập danh sách các giá trị FFT khác biệt giữa tệp 1 và các tệp khác
- Tạo trung bình chênh lệch giữa tệp 1 và tệp X
- Sắp xếp tăng dần theo các mức trung bình này
- Các bài hát có "Giá trị khác biệt" thấp nhất được coi là Tương tự.
Một số bạn có kiến thức tốt có thể cho tôi biết nếu đây sẽ là cách đúng / tốt để thực hiện Ý tưởng của tôi không?