आकृतियों में क्लस्टर किए गए डेटा को पहचानना


9

मैं कुछ पक्षी गीत का पता लगाने और वर्गीकृत करने के लिए पायथन में एक परियोजना पर काम कर रहा हूं, और मैंने खुद को एक ऐसी स्थिति में पाया है जहां मुझे एक तरंग फ़ाइल को आवृत्ति बनाम समय डेटा में बदलने की आवश्यकता है। यह बहुत अधिक समस्या नहीं है, लेकिन विभिन्न सिलेबल्स को समूहों में वर्गीकृत करने में सक्षम होने के लिए, मुझे कुछ लिखने की ज़रूरत है जो यह पता लगाएंगे कि डेटा एक निश्चित आकार में कब बनता है। आपको यह पता लगाने के लिए कि डेटा कैसा दिखता है, यहां एक छवि दी गई है कि प्लॉट किए जाने पर डेटा कैसा दिखता है:

यहाँ छवि विवरण दर्ज करें

मुझे प्रत्येक व्यक्ति के शब्दांश (दोनों तरफ एक पृथक्करण के साथ प्रत्येक आकृति) प्राप्त करने के लिए किसी तरह की आवश्यकता है और उन्हें या तो एक चर या अपनी फाइलों में सहेजना चाहिए ताकि मैं साइपर का उपयोग करके उनके बीच पियर्सन सहसंबंध चला सकूं।

इसके अलावा, मैं पायथन को पसंद करता हूं, लेकिन अगर आप इसे करने का एक और तरीका रखते हैं, तो मैं अन्य भाषाओं में कोडिंग के लिए खुला हूं।

धन्यवाद!


मैं पूरी तरह से परिचित नहीं हूं कि मैं क्या सुझाव देने वाला हूं, लेकिन एक लहर के साथ कंटीन्यूअस वेवलेट ट्रांसफॉर्म की तरह दिखता है जिसमें आपके सिलेबल्स के गुण होते हैं, जो देखने लायक है।
हेल्टनबिकर 20

क्या आपको एक आकृति खोजने की ज़रूरत है या आप पक्षियों को वर्गीकृत करने की कोशिश कर रहे हैं? यदि ऐसा है तो छिपे हुए मार्कोव मॉडल की आवाज़ का उपयोग करना?
मिखाइल

जवाबों:


2

दो सवाल:

1/8 के पास, हम 100ms या तो के लिए एक स्थिर पिच का निरीक्षण कर सकते हैं, फिर 8.5s तक अचानक वृद्धि हो सकती है। क्या यह पूरा क्रम (to से ).५) एक एकल इकाई बनाते हैं, या क्या आप दो चरणों (स्थिर फिर कमी) को दो निकाय मानते हैं?

2 / क्या आप पर्यवेक्षण के साथ या बिना काम करना चाहते हैं। क्या आप पहले से "पैटर्न" देखने के लिए जानते हैं?

  • यदि आप पर्यवेक्षण के बिना काम करना चाहते हैं (कहते हैं कि आपने रिकॉर्डिंग एकत्र कर ली है और इसका एक "संरचित प्रतिनिधित्व" निकालने का लक्ष्य है), तो आपकी समस्या पहले चरण में है, गतिविधि का पता लगाने के लिए। बस सिग्नल की तीव्रता का उपयोग करें, हो सकता है कि एक "पिचनेस" मीट्रिक के साथ संयोजन में (एक सीमा से अधिक autocorrelation का अनुपात कहें, 1kHz - 5kHz यहां) उन खंडों का पता लगाने के लिए जहां एक सक्रिय मजबूत पिच टोन है। माध्यिका-परिणामी क्रम को इसे सुचारू बनाने के लिए फ़िल्टर करें, और फिर अलग-अलग खंडों को प्राप्त करने के लिए इसे थ्रेशोल्ड करें। एक बार जब आप सेगमेंट में अपना सिग्नल तोड़ देते हैं, तो आप उनके साथ दिलचस्प चीजें कर सकते हैं। उदाहरण के लिए, आप उनमें से प्रत्येक के लिए एक पिच प्रक्षेपवक्र (प्रत्येक एफएफटी फ्रेम के लिए सबसे मजबूत आवृत्ति शिखर के साथ एक अनुक्रम, या एक सच्चे पिच अनुमानक के साथ अधिक मजबूत निकाले गए कुछ) निकाल सकते हैं, प्रत्येक ब्लॉक के बीच जोड़ीदार दूरी के एक मैट्रिक्स की गणना करने के लिए DTW का उपयोग करें, और समान पिच पैटर्न (8: 8.5 और 10: 10.5 सेगमेंट) के समूहों की पहचान करने के लिए एक क्लस्टरिंग एल्गोरिथ्म (k- साधन, एग्लोमेरेटिव क्लस्टरिंग) का उपयोग करें। यह संभावना है कि एक अप्रयुक्त दृष्टिकोण ओवर-सेगमेंट होगा - उदाहरण के लिए 7.6: 8.5 और 9.6: 10.5 को दो समान ब्लॉकों की पुनरावृत्ति के रूप में मान्यता दी जाएगी, जबकि आपके लिए वे मौलिक रूप से एक एकल पैटर्न हो सकते हैं, लेकिन आप कुछ का उपयोग कर सकते हैंसीक्विटुर में संरचना का एक स्तर अधिक है।

  • यदि आपके पास "पैटर्न" का पूर्वनिर्धारित शब्दकोश है, तो आप अपने सिग्नल को लेबल करना चाहते हैं, आप भाषण पहचान के लिए जिस तरह के दृष्टिकोण का उपयोग करते हैं, बेहतर होगा कि केवल एक ही प्रमुख अंतर के साथ, भाषण की मान्यता आपके खाते में पिच न करें। केस पिच पर विचार किया जाना एकमात्र सूचना है! एक भाषण मान्यता प्रणाली एक एकल एफएसटी डिकोडिंग ऑपरेशन में विभाजन और मान्यता कार्यों दोनों से निपटती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.