मैंने SO पर कई प्रश्न पढ़े हैं, और स्पष्ट रूप से, उनमें से प्रत्येक इसके बारे में जाने के लिए किसी विशेष तरीके का वर्णन नहीं कर रहा है। कुछ लोग कहते हैं "FFT करो" और कुछ "जीरो क्रॉसिंग" आदि कहते हैं, लेकिन मैं केवल यह समझ रहा हूं कि डिजिटल ऑडियो इनपुट में एक विशेष आवृत्ति और अच्छी तरह से एम्पलीट्यूड के एक सरणी होते हैं .. वास्तव में बहुत ज्यादा नहीं जानते हैं इससे आगे।
अब मैं Nyquist प्रमेय, आवृत्ति, आयाम, फूरियर श्रृंखला आदि को जानता हूं, और यह 2-3 साल पहले से है जब मैंने कुछ सेमेस्टर में अपने विश्वविद्यालय के कार्यक्रम में ऐसा किया था। लेकिन फिर हमें वास्तव में फूरियर की वास्तविक दुनिया का उपयोग नहीं सिखाया गया था, और मैंने इस विषय पर अधिक खुदाई करने की जहमत नहीं उठाई। लेकिन अब मैं उस सभी सामान का उपयोग करने वाला हूं।
यहां उन ध्वनियों का स्नैपशॉट दिया गया है, जिनका मैं पता लगाने की कोशिश कर रहा हूं:
स्पष्ट रूप से ध्वनियों के अनोखे रेखांकन हैं। मैं केवल यह समझना चाहता हूं कि ग्राफ में उनकी विशिष्ट नुकीली रेखाओं के लिए उनकी विशिष्ट विशेषताओं को कैसे निकालना है। जैसे कि क्या आयाम, आवृत्ति, आदि और कितने समय के लिए - हालांकि यह मुझे लगता है कि तुच्छ है।
मैं एक सरल कदम से कदम चाहता हूँ, संयुक्त राष्ट्र अस्पष्ट निर्देश सूची - मैं शब्दावली को समझ सकता हूं जिसे मैं समझ नहीं पा रहा हूं।
शायद यह पसंद है? -
इनपुट ऑडियो डेटा प्राप्त करें
प्लॉट का चश्मा
एक शोर रहित वातावरण में आप जिस ध्वनि का पता लगाना चाहते हैं, उसके लिए वर्णक्रम ग्राफ प्राप्त करें
उस ग्राफ का अध्ययन करें - उस ध्वनि की अनूठी विशेषताओं को आकर्षित करें
कुछ प्रकार के फ़ंक्शन करें जो लाइव ऑडियो फ़ीड में उन विशिष्ट विशेषताओं का पता लगा सकते हैं, जिनमें पाए गए ध्वनि की विशेषताओं का उपयोग करके (4)
यदि एक मैच पाया जाता है, अच्छी तरह से - काम किया है।
एल्गोरिथ्म को झूठे नकारात्मक तरीके से बहाने के लिए पोलिश करें।
मैं कहां उलझन में हूं - मैं 3,4,5 कैसे जाता हूं। विशेष रूप से 3 और 4. क्योंकि मैं एक ऐसा सॉफ्टवेयर बना रहा हूं, जहां उपयोगकर्ता बाद में उपयोग किए जाने वाले जेस्चर इनपुट के रूप में किसी भी ध्वनि को रिकॉर्ड करने में सक्षम होगा, मैं चाहता हूं कि मेरा सिस्टम किसी भी ध्वनि को रिकॉर्ड करने और लाइव ऑडियो के खिलाफ मैच करने में सक्षम हो। उस ध्वनि इशारे का पता लगाने के लिए फ़ीड। जैसे कहना, खाँसना, या अंगुली फड़कना, या सीटी बजना, या ताली बजाना। या व्यंजन कह रहे हैं - या या या । बस किसी भी ध्वनि के बारे में।
मैं उपयोगकर्ता को उस आवाज़ को रिकॉर्ड करने के बारे में सोच रहा था जो वे काफी माहौल में एक इशारे के रूप में संग्रहीत करना चाहते हैं। और उपयोगकर्ता केवल शांत समय पैडिंग के बीच में आवाज करेगा ; रिकॉर्डिंग की शुरुआत में और अंत में 3 सेकंड।
तो कहते हैं, पहले 3 सेकंड के दौरान, मेरा सिस्टम स्थापित करेगा कि वर्तमान इनपुट सामान्य शांत पृष्ठभूमि ध्वनि है। और फिर ग्राफ में अचानक बदलाव से ध्वनि इनपुट शुरू हो जाएगा। और जब वह रुक जाता है, तो रिकॉर्डिंग एक और 3 सेकंड के लिए चली जाएगी, पीछे शांत समय पैडिंग । यह उपयोगकर्ता द्वारा मैन्युअल रूप से किया जाएगा। यह स्वचालित रूप से केवल उस हिस्से की विशेषताओं को संग्रहीत करेगा जिसके दौरान ग्राफ में अचानक परिवर्तन हुआ - कहीं पैडिंग समय के बीच।
और इस प्रकार उस हिस्से की विशेषताओं को उस ध्वनि के हावभाव डेटा के रूप में सहेजा जाएगा, जिसका उपयोग उस लाइव ऑडियो फीड में उस विशेष ध्वनि का पता लगाने के लिए किया जाएगा।
समस्या यह है, कि मैं यह सब सादे अंग्रेजी में सोच रहा हूँ। मुझे अपने कोड में कुशलतापूर्वक लागू करने में सक्षम होने के लिए, गणित और भौतिकी में सोचने की जरूरत है। मैं सिर्फ इतना लानत-मलामत कर रहा हूं कि मुझे क्या लिखना है और कहां से इसे अपने कोड में लिखना है - यहां तक कि मेरे निपटान में एसओ पर इतने सारे पुस्तकालयों और सवालों के साथ।
और क्षमा करें यदि यह लंबा था।