मैं संगीत के विभिन्न शैलियों वाले पुस्तकालय में समान गीतों को मिलाने / खोजने का तरीका खोजने के लिए कुछ हफ्तों का प्रयोग कर रहा हूं।
मेरा पहला प्रयास टेम्पो जैसी विशेषताओं का पता लगाना था या समूह बनाने के लिए गानों में कितना बास है, लेकिन मैं इस दृष्टिकोण (वॉल्यूम में परिवर्तन के आधार पर बीट डिटेक्शन) से दूर नहीं हुआ क्योंकि लगभग 20% गानों को बीट काउंट करने की जरूरत नहीं है। हमेशा, कभी-कभी 1/2 या 1/3 और मैं उन्हें लागू नहीं कर सका।
कुछ हफ्तों की असफल कोशिश के बाद मुझे एक नया विचार मिला, जिसका वर्णन इस पोस्ट में किया गया है। सीधे शब्दों में कहें तो यह फाइल के स्पेक्ट्रम सैंपल लेकर, उनकी तुलना करने के लिए फाइलों के "औसत स्पेक्ट्रम" जैसा कुछ बनाता है। पीछे आइडिया यह था कि उदाहरण के लिए हार्डस्टाइल में रॉक म्यूजिक की तुलना में बहुत अधिक बास है, मैंने ऑड्रेसी में कुछ स्पेक्ट्रम को देखकर भी इसे सत्यापित किया।
- फ़ाइल 1: पूर्ण फ़ाइल FFT स्पेक्ट्रम (2048 नमूना आकार एटीएम, एम्पलीट्यूड लॉग। स्केल्ड) लें।
- सभी स्पेक्ट्रम एम्स को जोड़ो, प्रत्येक बिन का लाभ उठाएं
- कुछ अन्य फ़ाइलें समान करें, सभी परिणाम संग्रहीत करें
- फ़ाइल 1 और अन्य फ़ाइलों के बीच FFT मान अंतर की सूची बनाएँ
- फ़ाइल 1 और फ़ाइल X के बीच अंतर का औसत बनाएं
- इन एवरेज के आधार पर क्रमबद्ध करें
- सबसे कम "अंतर मूल्य" वाले गीतों को समान माना जाता है।
क्या आपमें से कुछ जिन्हें अच्छा ज्ञान है वे बता सकते हैं कि क्या यह मेरे आइडिया को लागू करने का सही / अच्छा तरीका होगा?