2012-04-16 11 views
19

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

इस अंत में, SpeechRecognizer तत्काल के बाद, मुझे इसकी startListening विधि कॉल करनी चाहिए: क्या मैं भाषण पहचानकर्ता को अनिश्चित काल तक सुन सकता हूं?

+2

लगता है जैसे आप एंड्रॉइड वायरटैप बना रहे हैं - मुझे पसंद है !! – Kristian

+1

उद्देश्य आवाज का उपयोग कर एक या एक से अधिक अनुप्रयोगों को नियंत्रित करने में सक्षम होना है। – enzom83

+3

विलिंगो नामक ऐप को देखें। वे पृष्ठभूमि में चल रहे एप्लिकेशन को रखकर इसे पूरा करते हैं "हे विलिंगो ..." यह ऐसा लगता है जो आप खोज रहे हैं। पृष्ठभूमि में चल रही सेवा को रखने के बारे में मैं यहां कई प्रश्नों के माध्यम से प्रयास और प्रयास करता हूं। यह आपके लिए शुरू करने के लिए एक अच्छी जगह की तरह लगता है। – gobernador

उत्तर

13

Android Speech recognizer इरादे अतिरिक्त डेटा के माध्यम से अनुकूलित किया जा सकता है। the android documentation देखें।

सार्वजनिक स्थिर अंतिम स्ट्रिंग EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS

समय है कि यह हम के भाषण सुनने बंद होने के बाद लेना चाहिए की राशि इनपुट पूरा विचार करें। [...]

सार्वजनिक स्थिर अंतिम स्ट्रिंग EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS के बाद से: एपीआई स्तर 8

एक कथन की न्यूनतम लंबाई। हम इस समय की से पहले रिकॉर्डिंग बंद नहीं करेंगे। [...]

सार्वजनिक स्थिर अंतिम स्ट्रिंग EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS

समय है कि यह हम के भाषण सुनने को रोकने के इनपुट संभवतः पूरा करने पर विचार के बाद लेना चाहिए की राशि। [...]

EXTRA_LANGUAGE_MODEL को केवल प्रासंगिक शब्दों को पकड़ने के लिए वेबसेर्च पर EXTRA_LANGUAGE_MODEL सेट करें।

+0

पहचानकर्ता कार्यान्वयन पर _Depending, इन मानों का कोई प्रभाव नहीं हो सकता है, इसलिए हम मान सकते हैं कि इन मानों को बदला नहीं जा सकता है। इस मामले में, जब भाषण पहचानकर्ता स्वचालित रूप से बंद हो जाता है क्योंकि उसे उपयोगकर्ता द्वारा कोई आवाज नहीं मिली है, तो मुझे 'स्टार्टलिस्टिंग' विधि को कॉल करके इसे फिर से शुरू करना चाहिए: हालांकि, यह एक समय अंतराल बनाएगा जिसके दौरान भाषण पहचानकर्ता नहीं सुन रहा है , क्योंकि सुनने की पुनरारंभ तात्कालिक नहीं हो सकती है। इस बाधा को दूर करने के लिए कैसे? – enzom83

+0

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

+2

मैंने देखा कि 'EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS' का डिफ़ॉल्ट मान लगभग 10 सेकंड है, क्योंकि यदि मैं बात नहीं करता, तो भाषण पहचानकर्ता स्वचालित रूप से लगभग 10 सेकंड के बाद सुनना बंद कर देता है। इसलिए मैंने 'EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS' को 100000 मिलीसेकंड पर सेट किया: इस तरह भाषण पहचानकर्ता को इस समय (100 सेकंड) से पहले रिकॉर्डिंग को रोकना नहीं चाहिए, लेकिन यह हमेशा लगभग 10 सेकंड के बाद बंद हो जाता है। – enzom83

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

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