Scipy - ऑडियो प्रोसेसिंग


14

मैं ऑडियो सिग्नल प्रोसेसिंग के लिए अच्छे टूल की तलाश कर रहा हूं। जैसे भाषण और संगीत विश्लेषण, स्वचालित भाषा की पहचान, आदि।

क्या Scipy पुस्तकालय ऑडियो प्रोसेसिंग के लिए कार्य प्रदान करता है? क्या यह ऑडियो सिग्नल प्रोसेसिंग के लिए एक अच्छा उपकरण है?

क्या आप इसके लिए कोई उपकरण सुझा सकते हैं?


1
हां, इस तरह की चीजों को करने के लिए scipy बुनियादी ढाँचा प्रदान करता है, लेकिन आपको इस बारे में थोड़ा और विशिष्ट होने की आवश्यकता है कि आपको अधिक उपयोगी उत्तर प्राप्त करने के लिए क्या करना है (विशेष रूप से उत्तर देने के लिए कि क्या "scipy] की तुलना में बेहतर उपकरण है" )।
AAA

1
रीयलटाइम या ऑफ़लाइन?
एंडोलिथ

ऑफ़लाइन। मैं भाषण / संगीत वर्गीकरण की तलाश में हूं।
user1147663

1
Scipy और Numpy साथ में डेटा के वास्तविक समय और ऑफ़लाइन प्रसंस्करण दोनों के लिए उत्कृष्ट उपकरण प्रदान करते हैं। Cython या Ctypes के साथ संयोजन में (मैं Cython दृष्टिकोण को प्राथमिकता देता हूं), C में लिखे गए निम्न स्तर के तेज संचालन के साथ संख्यात्मक सरणियों पर काम करना आसान है, अगर अन्य पुस्तकालयों को फिट करने के लिए राजी नहीं किया जा सकता है।
हेनरी गोमर्सल

1
MATLAB में एक चीज की कमी है, एक सरणी की उत्पत्ति को परिभाषित करने की क्षमता 1 के अलावा कुछ और है। इसलिए FFT के आउटपुट में DC मान बिन # 0 के बजाय बिन # 1 में है जैसा कि होना चाहिए। MATLAB (या ऑक्टेव) के बारे में कुछ अन्य नासमझ बातें हैं।
रॉबर्ट ब्रिस्टो-जॉनसन

जवाबों:


9

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

  1. विशाल, तेजी से विकासशील समुदाय पुस्तकालयों के टन प्रदान करते हैं। SciPy सिग्नल प्रोसेसिंग के लिए तरीकों की अधिकता प्रदान करता है (दी गई है, न कि कई और Matlab के रूप में परिपक्व)। मन हालांकि कि SciPy, हालांकि सबसे महत्वपूर्ण में से एक, केवल सैकड़ों में से एक है जो आपको अपने प्रयासों में मदद कर सकता है। मुझे संगीत विश्लेषण के लिए ऑबियो सबसे अच्छा लगा । भाषण और संगीत मान्यता के लिए सुनिश्चित करें कि आप बड़ी संख्या में ऑडियो सुविधाओं का आनंद लेंगे, याफे निकाल सकते हैं।
  2. यह निःशुल्क है! एक बार एकेडेमिया से बाहर निकलने के बाद, आपको जल्दी पता चलता है कि मतलूब महंगा है। और यहां तक ​​कि अगर आप इसे बर्दाश्त कर सकते हैं, तो आपके परिप्रेक्ष्य उपयोगकर्ता इस निर्भरता के बारे में खुश नहीं होंगे। उदाहरण के लिए, संरक्षण विभाग का उल्लेख स्वामित्व सॉफ्टवेयर स्वीकार नहीं करेगा।
  3. पहचान के लिए अक्सर मशीन सीखने की आवश्यकता होती है और पाइथन के पास इसके लिए महान टूलकिट है: स्केलेर। यह कला पुस्तकालय की स्थिति है - और उपयोग में आसान है। कग्गल प्रतियोगिताओं (मशीन लर्निंग) पर एक नज़र डालें और जांचें कि कितने शीर्ष प्रोग्रामर पायथन और स्केलेर का उपयोग कर रहे हैं।
  4. आप "बड़ा डेटा" प्रबंधित कर सकते हैं। यदि आप रिकॉर्डिंग के विशाल नेटवर्क डेटाबेस के खिलाफ विश्लेषण चलाना चाहते हैं, तो पायथन ने अच्छी तरह से उपकरणों का सेट स्थापित किया है। मुझे नहीं लगता कि उदाहरण के लिए Hadoop के साथ आसानी से Matlab / Octave इंटरफ़ेस, हालांकि कृपया मुझे सही करें अगर मैं गलत हूं। आर इस क्षेत्र को बेहतर करता है।
  5. इंटरफेसिंग की बात करें, तो आप आसानी से अपने प्रोग्राम को एक वेब साइट से जोड़ सकते हैं। यह वह तरीका है जो मैं ओरनिथोक्रेट्स (पक्षी मान्यता) का प्रबंधन करता हूं: यह कार्यक्रम अमेज़ॅन वेब सेवा क्लाउड कंप्यूटिंग सेवा पर चलता है। यदि आप अन्य लोगों को अपना सॉफ़्टवेयर प्रदान करना चाहते हैं, जो सभी आवश्यक पुस्तकालयों की स्थापना प्रक्रिया से गुजरना नहीं चाहते हैं तो बहुत अच्छा है।

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

पायथन में संगीत वर्गीकरण के उदाहरण:

पायथन के साथ बुक बिल्डिंग मशीन लर्निंग सिस्टम में संगीत वर्गीकरण पर एक अध्याय है

अन्य उपकरण (बिना किसी साधन के सूची पूर्ण): संगीत में पायथन


2

ऐसा लगता है कि पायथन इस बात के लिए एक लोकप्रिय भाषा है कि कुछ अच्छे टूलसेट इस तथ्य पर आधारित हैं कि अच्छी तरह से ... मैंने इसे कुछ संगीत तकनीक विभाग और कंपनियों में उपयोग में देखा है।

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


इसके लिए महान पुस्तकालय है github.com/worldveil/dejavu । पायथन, ओपन-सोर्स, एमआईटी लाइसेंस प्राप्त करता है और ऑडियो मान्यता और फिंगरप्रिंटिंग करता है।
लॉलेरकोस्टर 16

scipyपारिस्थितिकी तंत्र में MATLAB की बहुत अधिक कार्यक्षमता है।
डार्लिसन रोड्रिग्स

2

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

  • मौन हटाना
  • वक्ता का विचलन
  • एसवीएम, केएनएन, आदि का उपयोग करके खंड वर्गीकरण (और प्रशिक्षण)
  • संयुक्त विभाजन-वर्गीकरण (HMM का उपयोग करके)
  • ऑडियो थंबनेल
  • ऑडियो सामग्री दृश्य

0

आप Essentia ऑडियो विश्लेषण C ++ लाइब्रेरी का उपयोग कर सकते हैं , जिसमें अजगर बाइंडिंग शामिल हैं। आप अजगर / डरपोक वातावरण और बहुत सारे ऑडियो / संगीत विश्लेषण एल्गोरिदम का लाभ उठाएंगे जो कि एस्सेंटिया के साथ आते हैं।

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