2010-05-12 16 views
12

मुझे ध्वनि-से-पाठ सॉफ़्टवेयर नहीं चाहिए। - उनकी लंबाई से लेकरध्वनि नमूना पहचान पुस्तकालय/कोड

  • मैं कई रिकॉर्ड करेंगे (जैसे कि 50 +) ऑडियो धाराओं (रेडियो स्टेशनों की रिकॉर्डिंग)
  • से कि रिकॉर्डिंग, मैं दिलचस्प ऑडियो क्लिप में चिह्नित कर देंगे
  • : क्या मैं जरूरत है निम्नलिखित है 2 से 60 सेकंड - ऐसे हजारों ऑडियो क्लिप
  • लाइब्रेरी रिकॉर्ड की गई ध्वनि धाराओं से उसी ऑडियो क्लिप के अन्य उदाहरणों को ढूंढने में सक्षम होना चाहिए
  • आत्मविश्वास कारक का उपयोग किया जाना चाहिए और अतिरिक्त इनपुट प्रदान किया जाना चाहिए ताकि मान्यता अगली बार बेहतर प्रदर्शन कर सकते हैं

क्या आप ऐसी सॉफ्टवेयर लाइब्रेरी के बारे में जानते हैं? एलजीपीएल मेरे लिए सबसे मूल्यवान होगा, लेकिन मैं वाणिज्यिक लाइसेंस के लिए भी जा सकता हूं।

ऑडियो क्लिप में संगीत, टेक्स्ट, प्रभाव या उसके किसी भी संयोजन दोनों शामिल होंगे। तो, पाठ मान्यता प्रश्न से बाहर है।

आर्किटेक्चर: सी ++, सी # गोंद के लिए, सीयूडीए यदि संभव हो तो।

+1

क्या ऑडियो क्लिप में भाषण, ध्वनियां, संगीत, इनमें से सभी शामिल होंगे? – mdma

+2

क्या आपके पास एक विशिष्ट भाषा या प्रोसेसर आर्किटेक्चर दिमाग में है? –

+0

बीटीडब्ल्यू, मैंने 2 साल के विकास के बाद अपना खुद का कार्यान्वयन बनाया, और यह व्यावसायिक शोषण के लिए उपलब्ध है :) http://www.videophill.com/index.php?page=playkontrol –

उत्तर

9

मैं किसी भी पुस्तकालयों (अभी तक) नहीं मिला है, लेकिन दो दिलचस्प कागजात जो आप शब्दावली और पृष्ठभूमि को दे सकता है, अपनी खोजों को परिशोधित करें:

संपादित करें: "ऑडियो fingerprinti के लिए खोज एनजी "ओपन सोर्स और वाणिज्यिक दोनों कार्यान्वयन के एक पृष्ठ पर आया था।

  • http://wiki.musicbrainz.org/AudioFingerprint
  • Picard अच्छी तरह से स्थापित किया जा रहा है, और उपयोगी हो सकता है अगर आपके क्लिप संगीत होते हैं।

यहाँ क्या आप का वर्णन कर रहे हैं एक matched filter है और आपको केवल एक cross-correlation समारोह जो किसी भी उचित डीएसपी लाइब्रेरी का हिस्सा होना चाहिए एक introduction to Audio fingerprinting

+0

आपके पहले प्रस्ताव वादा करने लगते हैं, और मुझे पिकार्ड के बारे में पता है, लेकिन मुझे यकीन नहीं है कि 'स्ट्रीम से नमूना' पहचान के लिए उपयुक्त है। –

0

माइक्रोसॉफ्ट वाक् API (SAPI) पर एक नज़र डालें:
http://msdn.microsoft.com/en-us/library/ee125077%28VS.85%29.aspx

सभी अन्य आवश्यकताओं आप सूचीबद्ध मूल रूप से आप अपने दम पर लागू करने के लिए करना होगा कि कार्यान्वयन विवरण हैं। उदाहरण के लिए, जैसे सॉफ़्टवेयर ऑडियो स्ट्रीम का अर्थ देता है, यह उन्हें पूर्ण पाठ अनुक्रमणिका के साथ SQL सर्वर में संग्रहीत कर सकता है ... इससे आप समान/समान ऑडियो क्लिप खोजने के लिए खोज करते हैं।

कि लागू करने के लिए अन्य तरीकों से निश्चित रूप से कर रहे हैं, और यह है, लेकिन एक विचार :-)

+0

ठीक है, क्योंकि मेरे प्रश्न ने स्पष्ट रूप से कहा है कि मुझे ध्वनि-से-पाठ पहचान नहीं चाहिए, क्योंकि मैं जिंगल्स या किसी अन्य प्रकार की आवाज़ ढूंढने के लिए इसका कोई उपयोग नहीं है, मुझे आपको इस पर -1 छोड़ना होगा। –

7

है। प्रोसेसर आर्किटेक्चर और भाषा की अपनी पसंद के आधार पर आप एक वेक्टरिज्ड लाइब्रेरी भी ढूंढ पाएंगे जो इस ऑपरेशन को अधिक कुशलतापूर्वक कर सकता है।

यदि आपको वास्तव में प्रदर्शन की परवाह नहीं है तो आप पायथन का उपयोग कर सकते हैं ...

$ python 
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15) 
[GCC 4.4.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import scipy 
>>> interesting_clip = [ 5, 7, 2, 1] 
>>> full_stream = [ 1, 5, 7, 2, 1, 4, 3, 2, 4, 7, 1, 2, 2, 5, 1] 
>>> correlation = scipy.correlate (full_stream, interesting_clip) 
>>> print correlation 
[56 79 55 28 41 49 44 53 73 48 28 35] 
>>> for offset, value in enumerate(correlation) : 
...  if (value > 60) : 
...   print "match at position", offset, "with value of", value 
... 
match at position 1 with value of 79 
match at position 8 with value of 73 

ऊपर मेरी दहलीज मनमाने ढंग से है। आपको प्रयोगात्मक रूप से यह निर्धारित करना चाहिए कि आपके लिए क्या उचित है।

ध्यान रखें कि आपकी "रोचक क्लिप" जितनी अधिक होगी, उतना ही सहसंबंध की गणना करने में लगेगा। जबकि लंबे क्लिप वास्तविक मैचों में गैर-मैचों से बेहतर प्रदर्शन करने में मदद करेंगे, आपको शायद कुछ सेकंड से अधिक की आवश्यकता नहीं होगी।

+1

ठीक है, सहसंबंध पर्याप्त ठीक लगता है, लेकिन किस जगह में सुविधा ??? आप क्या प्रस्तावित करेंगे? –

4

AudioDB एक ओपन सोर्स सी ++ प्रोजेक्ट है जो ऑडियो के समान वर्गों की खोज करता है, और शोर धाराओं को संभालता है, और आपको समानता का एक उपाय दे सकता है। इसे क्लाइंट/सर्वर के रूप में चलाया जा सकता है, लेकिन मेरा मानना ​​है कि आप एक स्टैंडअलोन प्रोग्राम कर सकते हैं।
डीएसपी सहसंबंध के बारे में अन्य उत्तर सही प्रकार के हैं, लेकिन आम तौर पर इन डीएसपी एल्गोरिदम एक ही लंबाई की दो धाराओं की तुलना करना चाहते हैं, जिनके समान हिस्सों में ओवरलैपिंग होती है।
आपको जो चाहिए वह धारा के मनमानी खंडों पर काम करने की आवश्यकता है; यही ऑडियो डीबी के लिए बनाया गया था। (एक आवेदन छुपे हुए संदर्भ/नमूनाकरण या स्पष्ट कॉपीराइट दुरुपयोग को ढूंढना है।) मैंने इसे पीछे की ओर चलाए गए ध्वनियों को ढूंढने के लिए उपयोग किया है, और यह उस मामले को भी ढूंढता है जहां कुछ शोर या भाषण परिवर्तन पेश किए जाते हैं।
ध्यान दें कि यह अभी भी विकास में है, भले ही होम पेज की तिथियां बंद हो जाएं। मैं मेलिंग सूची की सदस्यता लेता हूं और पूछता हूं कि वर्तमान स्थिति क्या है और आप इसे शामिल करने के बारे में कैसे जा सकते हैं।

3

आप www.shazam.com के बारे में ली-चुन वांग द्वारा this paper पर देखना चाहेंगे।

यह एक एपीआई नहीं है लेकिन यह विवरण देता है कि उनके एल्गोरिदम कैसे विकसित किए गए थे।

0

मैं टिम क्रिगर के उत्तर के साथ कहीं भी जाऊंगा और सरल सांख्यिकीय सहसंबंध कार्यों का उपयोग करता हूं, क्योंकि आप सामग्री-अज्ञेयवादी रहना चाहते हैं।

सुविधाओं के लिए मैं निश्चित रूप से एमएफसीसी की कोशिश करता हूं क्योंकि इसका प्रयोग भाषण प्रसंस्करण और संगीत पहचान (शैलियों, गीत) दोनों में किया जाता है। आप एमएफसीसी और उत्कृष्ट ओपन सोर्स Vamp plugins (या इसके उच्च स्तरीय बंडल, Sonic Annotator नामक एक प्रोग्राम) या वैकल्पिक रूप से Marsyas ढांचे में उपलब्ध अन्य ऑडियो सुविधाओं की एक संपत्ति पा सकते हैं।

संबंधित मुद्दे