2010-11-04 23 views
5

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

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

सामान्य तौर पर मैं तलाश कर रहा हूँ "मैं इस कार्यक्षमता कैसे मिलता है" लेकिन मैं अगर मैं इसे तोड़ने के तीन प्रश्न है कि क्या अगले के लिए खोज करने के लिए अपने अनुमान कर रहे हैं में नीचे यह मदद मिल सकती है पर शक:

  1. क्या ध्वनिक मॉडल या उच्चारण लेक्सिकॉन को बदलकर गैर-शब्द ध्वनियों को पहचानने के लिए मुख्य भाषण मान्यता इंजनों में से एक का उपयोग करने का कोई तरीका है?
  2. (या) क्या गैर-शब्द शोर पहचान करने के लिए पहले से मौजूद एक मौजूदा लाइब्रेरी है?
  3. (या) मुझे छुपे हुए मार्कोव मॉडल और कॉलेज से आवाज पहचान के अंतर्निहित तकनीक के साथ कुछ परिचितता है, लेकिन कोई अच्छा अनुमान नहीं है कि स्क्रैच से बहुत छोटा शोर/ध्वनि पहचानकर्ता बनाना कितना मुश्किल होगा (मान लीजिए < पहचानने के लिए 20 शोर)। यदि 1) और 2) असफल हो, तो कोई अनुमान है कि यह खुद को रोल करने में कितना समय लगेगा?

धन्यवाद

+1

[मेरा जवाब] (http://stackoverflow.com/q/8285673/22364) प्रश्न [गैर-भाषण की वास्तविक समय पहचान, निरंतर माइक्रोफ़ोन स्ट्रीम से गैर-संगीत ध्वनि] (http: // stackoverflow.com/q/8285673) प्रासंगिक हो सकता है। –

उत्तर

0

मैं किसी भी मौजूदा पुस्तकालयों आप उपयोग कर सकते हैं पता नहीं है, मुझे लगता है आप अपने खुद के रोल करना पड़ सकता है।

क्या यह पेपर ब्याज का होगा? इसमें कुछ तकनीकी विवरण हैं, वे क्लैप्स को पहचानने और सीटी से अलग करने में सक्षम होने लगते हैं।

0

हाँ, आप भाषण मान्यता सॉफ्टवेयर CMU स्फिंक्स की तरह गैर भाषण लगता है की मान्यता के लिए उपयोग कर सकते हैं। इसके लिए, आपको अपने स्वयं के ध्वनिक और भाषा मॉडल बनाने और अपने कार्य के लिए प्रतिबंधित लेक्सिकॉन को परिभाषित करने की आवश्यकता है। लेकिन संबंधित ध्वनिक मॉडल को प्रशिक्षित करने के लिए, आपके पास ब्याज की एनोटेटेड ध्वनियों के साथ पर्याप्त प्रशिक्षण डेटा होना चाहिए। ,

पहले प्रशिक्षण के लिए संसाधनों को तैयार:

संक्षेप में, कदम के अनुक्रम के बाद है शब्दकोश, शब्दकोश आदि प्रक्रिया यहाँ वर्णित है: http://cmusphinx.sourceforge.net/wiki/tutorialam। लेकिन आपके मामले में, आपको फोनेम सेट और लेक्सिकॉन को फिर से परिभाषित करने की आवश्यकता है। अर्थात्, आपको वास्तविक शब्दों के रूप में fillers मॉडल करना चाहिए (इसलिए, ++ आस-पास नहीं) और आपको पूर्ण फोनेम सेट को परिभाषित करने की आवश्यकता नहीं है। कई संभावनाएं हैं, लेकिन शायद सबसे सरल बात यह है कि सभी भाषण ध्वनियों के लिए एक मॉडल होना चाहिए। इस प्रकार, अपने शब्दकोश तरह दिखेगा:

CLAP CLAP 
BARK BARK 
WHISTLE WHISTLE 
FART FART 
SPEECH SPEECH 

दूसरा, लेबल के साथ प्रशिक्षण डेटा तैयार: कुछ VoxForge के समान है, लेकिन पाठ एनोटेशन आपके शब्दकोश से केवल लेबल होना चाहिए। बेशक, गैर भाषण ध्वनियों को भी सही ढंग से लेबल किया जाना चाहिए। यहां अच्छा सवाल यह है कि इस तरह के डेटा की पर्याप्त मात्रा में कहां मिलना है। लेकिन मुझे लगता है कि यह संभव होना चाहिए।

ऐसा करने के बाद, आप अपने मॉडल को प्रशिक्षित कर सकते हैं। कार्य भाषण मान्यता की तुलना में सरल है, उदाहरण के लिए, आपको ट्रोनफ़ोन, केवल मोनोफोन का उपयोग करने की आवश्यकता नहीं है।

#JSGF V1.0; 
/** 
* JSGF Grammar for Hello World example 
*/ 
grammar foo; 
public <foo> = (CLAP | BARK | WHISTLE | FART | SPEECH)+ ; 

यह आपके कार्य के लिए ASR टूलकिट का उपयोग करने के लिए बहुत ही बुनियादी दृष्टिकोण है:

किसी भी ध्वनि/भाषण के बराबर पूर्व संभावना मानते हुए, सरल भाषा मॉडल एक पाश की तरह व्याकरण (http://cmusphinx.sourceforge.net/wiki/tutoriallm) हो सकता है। सांख्यिकीय भाषा मॉडल का उपयोग करके और ठीक-ठीक फोनेम मॉडलिंग (उदाहरण के लिए सिंगल स्पीच मॉडल रखने के बजाए स्वरों और व्यंजनों को अलग करना) का उपयोग करके एचएमएम कॉन्फ़िगरेशन को ठीक-ठीक करने में सुधार किया जा सकता है। यह आपके प्रशिक्षण डेटा की प्रकृति पर निर्भर करता है)।

भाषण मान्यता के ढांचे के बाहर, आप एक साधारण स्थैतिक वर्गीकृत बना सकते हैं जो फ्रेम द्वारा इनपुट डेटा फ्रेम का विश्लेषण करेगा। परिवर्तनीय तंत्रिका नेटवर्क जो स्पेक्ट्रोग्राम पर काम करते हैं, इस कार्य के लिए काफी अच्छा प्रदर्शन करते हैं।