ध्वनि पहचान के लिए स्पेक्ट्रोग्राम के साथ गहन शिक्षण


12

मैं स्पेक्ट्रोग्राम का उपयोग करके ध्वनि को वर्गीकृत करने की संभावना (उदाहरण के लिए जानवरों की आवाज़) को देख रहा था। यह विचार स्पेक्ट्रोग्राम और खंड एक (या कई) श्रेणी के लेबल में सेगमेंट को पहचानने के लिए एक गहरी संवेदी तंत्रिका नेटवर्क का उपयोग करना है। यह एक नया विचार नहीं है (उदाहरण के लिए व्हेल ध्वनि वर्गीकरण या संगीत शैली मान्यता )।

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

उदाहरण के लिए, शुरुआत में एक पक्षी ध्वनि और अंत में एक मेंढक ध्वनि (आउटपुट "बर्ड, फ्रॉग" होना चाहिए)। मेरा वर्तमान समाधान तंत्रिका नेटवर्क (एक आवर्तक तंत्रिका नेटवर्क का अधिक निर्माण) में एक अस्थायी घटक जोड़ना होगा, लेकिन मैं इसे अभी के लिए सरल रखना चाहूंगा। कोई विचार, लिंक, ट्यूटोरियल, ...?


1
सबसे सरल तरीका एक STFT (स्पेक्ट्रोग्राम) के बजाय एक निश्चित लंबाई के FFT का उपयोग करना है। जो आपकी वैरिएबल-लेंथ प्रॉब्लम को खत्म कर देगा। आप सिर्फ एक आवर्तक तंत्रिका नेटवर्क क्यों नहीं लागू करते हैं? क्या आपको बस काम किए गए उदाहरण की आवश्यकता है? यदि हां, तो क्या आप लचीले हैं कि किस सॉफ्टवेयर का उपयोग करें?
एमर

1
मुझे लगता है कि मैं एक निश्चित लंबाई वाले एफएफटी के साथ बहुत सारी जानकारी खो दूंगा। यदि मैं ऐसा करूंगा कि मुझे लगता है कि मुझे पहले एक विभाजन करना होगा, जहां मैं 'दिलचस्प' भागों की तलाश करूंगा। मैं ऐसा कर सकता हूं या पुनरावर्ती तंत्रिका नेटवर्क पर जा सकता हूं (एक उदाहरण अच्छा है लेकिन सुपर आवश्यक नहीं है, मैं लासगैन का उपयोग करना चाहता था)। मैंने इसे टालने का कारण यह बताया कि एक आवर्तक तंत्रिका नेटवर्क का उत्पादन (प्रत्येक समय कदम पर लेकिन मेरे पास केवल संपूर्ण फ़ाइल के लिए लेबल है) से निपटने के लिए अधिक कठिन है। इसलिए मैं सबसे सरल मॉडल के साथ शुरुआत करना चाहता था और धीरे-धीरे इसे और अधिक जटिल बनाता गया।
user667804

क्या आप कृपया बता सकते हैं कि आपने क्या उपयोग किया है और आपको सबसे अच्छा तरीका मिला? @ user667804
nia

एक समाधान के लिए इस पेपर को देखें: Ceur-ws.org/Vol-1609/16090547.pdf स्पेक्ट्रोग्राम की निश्चित आकार की मात्रा पर एक CNN का उपयोग करना और फिर एक अंतिम भविष्यवाणी उत्पन्न करने के लिए आउटपुट का औसतन करना (उदासीन आउटपुट का मतलब काम करना लगता है) श्रेष्ठ)।
user667804

जवाबों:


4

स्वचालित भाषण मान्यता (एएसआर) के लिए, फ़िल्टर बैंक की विशेषताएं स्पेक्ट्रोग्राम तालिका 1 पर सीएनएन के रूप में अच्छा प्रदर्शन करती हैं । आप जानवरों की आवाज़ को वर्गीकृत करने के लिए fbank पर DBN-DNN प्रणाली को प्रशिक्षित कर सकते हैं।

व्यवहार में लंबे भाषणों को छोटे उच्चारणों में विभाजित किया जाता है क्योंकि विटर्बी डिकोडिंग लंबे उच्चारणों के लिए अच्छी तरह से काम नहीं करता है। आप भी ऐसा ही कर सकते हैं।

आप लंबी कथनों को निश्चित लंबाई के छोटे उच्चारणों में विभाजित कर सकते हैं। छोटे में लंबे समय के बंटवारे को विभाजित करना आसान है। यह समस्या छोटी लंबाई को बढ़ाने में आती है ताकि निर्धारित लंबाई तक पहुंच सके।

आप छोटे शब्दों को बढ़ाने के लिए स्पेक्ट्रोग्राम की आवृत्ति अक्ष को ताना जा सकता है। यह डेटा वृद्धि ASR प्रदर्शन डेटा augumentation को बेहतर बनाने के लिए दिखाया गया है ।

इसमें कई ध्वनियों के साथ लंबे समय तक उच्चारण के लिए, आप संगीत विभाजन एल्गोरिदम का उपयोग करके इसे कई उक्तियों में विभाजित कर सकते हैं। इन उक्तियों को विभाजन या वृद्धि द्वारा निश्चित लंबाई से बनाया जा सकता है।


4

आरएनएन पर्याप्त अच्छे परिणाम नहीं दे रहे थे और प्रशिक्षण के लिए भी कठिन हैं इसलिए मैं सीएनएन के साथ गया।

चूँकि एक विशिष्ट पशु ध्वनि केवल कुछ सेकंड की होती है, हम स्पेक्ट्रोग्राम को विखंडू में विभाजित कर सकते हैं। मैंने 3 सेकंड की लंबाई का उपयोग किया। फिर हम प्रत्येक chunk पर वर्गीकरण करते हैं और आउटपुट को ऑडियो फ़ाइल के अनुसार एक ही पूर्वानुमान बनाने के लिए औसत करते हैं। यह वास्तव में अच्छी तरह से काम करता है और लागू करने के लिए सरल भी है।

अधिक गहराई से स्पष्टीकरण यहाँ पाया जा सकता है: http://ceur-ws.org/Vol-1609/16090547.pdf

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