का उपयोग करके पिच डिटेक्शन मैं संगीत नोट्स के पिच का पता लगाने के लिए एएनएन का उपयोग करने की कोशिश कर रहा हूं। नेटवर्क एक साधारण दो-परत एमएलपी है, जिसका इनपुट मूल रूप से एक डीएफटी (औसत और लॉगरिदमिक रूप से वितरित) होता है, और 12 आउटपुट एक विशेष ऑक्टेट के 12 नोटों के अनुरूप होते हैं।तंत्रिका नेटवर्क
नेटवर्क को कुछ उपकरण (एक समय में एक नोट) और "चुप्पी" के कुछ नमूने द्वारा खेले गए 12 नोटों के कई नमूने के साथ प्रशिक्षित किया जाता है।
परिणाम वास्तव में अच्छे हैं। नेटवर्क विभिन्न उपकरणों द्वारा सटीक रूप से खेले गए उन नोटों का पता लगाने में सक्षम है, यह ध्वनि के लिए अपेक्षाकृत कमजोर है, और यहां तक कि एक गीत चलाते समय भी पूरी तरह से इसे साफ नहीं करता है।
लक्ष्य, पॉलीफोनिक ध्वनि का पता लगाने में सक्षम होना है। ताकि जब दो या दो से अधिक नोट एक साथ खेला जाए, तो दो संबंधित न्यूरॉन्स आग लग जाएंगे। आश्चर्य की बात यह है कि नेटवर्क वास्तव में कुछ हद तक पहले से ही करता है (केवल मोनोफोनिक नमूनों पर प्रशिक्षित किया जा रहा है), हालांकि मोनोफोनिक नोट्स के मुकाबले कम लगातार और कम सटीक है। मेरा सवाल यह है कि मैं पॉलीफोनिक ध्वनि को पहचानने की अपनी क्षमता को कैसे बढ़ा सकता हूं?
समस्या यह है कि मैं वास्तव में समझ में नहीं आता कि यह वास्तव में क्यों काम करता है। विभिन्न नोट्स (या उनके डीएफटी) मूल रूप से अंतरिक्ष में अलग-अलग बिंदु हैं जिनके लिए नेटवर्क को प्रशिक्षित किया जाता है। इसलिए मैं देखता हूं कि यह समान आवाज़ (आस-पास के बिंदु) को क्यों पहचानता है, लेकिन यह नोट्स के संयोजन के लिए आउटपुट "निष्कर्ष" कैसे नहीं करता है (जो प्रत्येक प्रशिक्षण उदाहरणों से दूर बिंदु बनाते हैं)। वैसे ही एक और नेटवर्क जिसे प्रशिक्षित किया जाता है (0,0) (0,1) (1,0) = (0), "निष्कर्ष निकालने" की अपेक्षा नहीं है (1,1) = (1)।
ब्रूट फोर्स एप्रोच इस नेटवर्क को जितना संभव हो उतने पॉलीफोनिक नमूने के साथ प्रशिक्षित करना है। हालांकि, चूंकि नेटवर्क किसी भी तरह से मोनोफोनिक नमूनों से विचार को समझता है, शायद यहां कुछ और अधिक फायदेमंद है।
कोई बात नहीं? (लंबाई के लिए खेद है, बीटीडब्ल्यू :)।
बस अधिकतम आवृत्ति लेने बहुत अविश्वसनीय है – finnw