Java Speech API
जावा स्पीच एपीआई (जे. एस. ए. पी. आई.) आदेश और नियंत्रण पहचानकर्ताओं, डिक्टेशन सिस्टम और स्पीच सिंथेसाइज़र के क्रॉस-प्लेटफ़ॉर्म समर्थन के लिए एक अनुप्रयोग प्रोग्रामिंग इंटरफेस है। हालाँकि जे. एस. ए. पी. आई. केवल एक इंटरफेस को परिभाषित करता है, लेकिन तीसरे पक्ष द्वारा बनाए गए कई कार्यान्वयन हैं, उदाहरण के लिए फ्रीटीटीएस। मुख्य प्रौद्योगिकियाँ जावा स्पीच एपीआई के माध्यम से दो मुख्य स्पीच प्रौद्योगिकियों का समर्थन करती हैंः स्पीच सिंथेसिस और स्पीच रिकग्निशन। भाषण संश्लेषण एक अनुप्रयोग, एक एप्लेट या एक उपयोगकर्ता द्वारा उत्पन्न पाठ से सिंथेटिक भाषण के उत्पादन की विपरीत प्रक्रिया प्रदान करता है। इसे अक्सर टेक्स्ट-टू-स्पीच तकनीक के रूप में जाना जाता है। पाठ से भाषण उत्पन्न करने के प्रमुख चरण इस प्रकार हैंः संरचना विश्लेषणः यह निर्धारित करने के लिए इनपुट पाठ को संसाधित करता है कि अनुच्छेद, वाक्य और अन्य संरचनाएं कहाँ से शुरू होती हैं और कहाँ समाप्त होती हैं। अधिकांश भाषाओं के लिए, इस चरण में विराम चिह्न और प्रारूपण डेटा का उपयोग किया जाता है। पाठ पूर्व-प्रसंस्करणः भाषा के विशेष निर्माण के लिए इनपुट पाठ का विश्लेषण करता है। अंग्रेजी में, संक्षिप्त नाम, संक्षिप्त नाम, तिथियाँ, समय, संख्याएँ, मुद्रा राशि, ई-मेल पते और कई अन्य रूपों के लिए विशेष उपचार की आवश्यकता होती है। अन्य भाषाओं को इन रूपों के लिए विशेष प्रसंस्करण की आवश्यकता होती है, और अधिकांश भाषाओं की अन्य विशेष आवश्यकताएँ होती हैं। इन पहले दो चरणों का परिणाम लिखित पाठ का एक मौखिक रूप है। लिखित और बोले गए पाठ के बीच अंतर के उदाहरण यहां दिए गए हैंः सेंट मैथ्यू अस्पताल मुख्य सड़क पर है-> "सेंट मैथ्यू अस्पताल मुख्य सड़क पर है" खाते में 55374 डॉलर जोड़ें। -> "पाँच पाँच, तीन सात चार खाते में बीस डॉलर जोड़ें।" शेष चरण बोले गए पाठ को भाषण में बदल देते हैंः पाठ-से-ध्वनि रूपांतरणः प्रत्येक शब्द को ध्वनि में परिवर्तित करता है। एक ध्वनि किसी भाषा में ध्वनि की एक मूल इकाई है। प्रोसोडी विश्लेषणः वाक्य के लिए उपयुक्त प्रोसोडी निर्धारित करने के लिए वाक्य संरचना, शब्दों और ध्वनियों को संसाधित करता है। वेवफॉर्म उत्पादनः प्रत्येक वाक्य के लिए ऑडियो वेवफॉर्म का उत्पादन करने के लिए ध्वनि और प्रोसोडी जानकारी का उपयोग करता है। भाषण संश्लेषक ऊपर वर्णित किसी भी प्रसंस्करण चरण में त्रुटियाँ कर सकते हैं। मानव कान इन त्रुटियों का पता लगाने के लिए अच्छी तरह से तैयार हैं, लेकिन डेवलपर्स द्वारा सावधानीपूर्वक काम करने से त्रुटियों को कम किया जा सकता है और बोलने की गुणवत्ता में सुधार हो सकता है। भाषण मान्यता कंप्यूटर को बोली जाने वाली भाषा सुनने और यह निर्धारित करने की क्षमता प्रदान करती है कि क्या कहा गया है। दूसरे शब्दों में, यह भाषण वाले ऑडियो इनपुट को पाठ में परिवर्तित करके संसाधित करता है। एक विशिष्ट भाषण पहचानने वाले के प्रमुख चरण इस प्रकार हैंः व्याकरण रचनाः उन शब्दों को परिभाषित करता है जो एक उपयोगकर्ता द्वारा बोले जा सकते हैं और जिन पैटर्न में उन्हें बोला जा सकता है। सिग्नल प्रोसेसिंगः आने वाले ऑडियो के स्पेक्ट्रम (यानी आवृत्ति) विशेषताओं का विश्लेषण करता है। फोनेम रिकग्निशनः स्पेक्ट्रम पैटर्न की तुलना पहचानी जा रही भाषा के फोनेम के पैटर्न से करता है। शब्द पहचानः सक्रिय व्याकरण द्वारा निर्दिष्ट शब्दों और शब्दों के पैटर्न के खिलाफ संभावित ध्वनियों के अनुक्रम की तुलना करता है। परिणाम सृजनः अनुप्रयोग को आने वाले ऑडियो में पहचानकर्ता द्वारा खोजे गए शब्दों के बारे में जानकारी प्रदान करता है। एक व्याकरण जावा स्पीच एपीआई में एक वस्तु है जो इंगित करता है कि एक उपयोगकर्ता से किन शब्दों को कहने की अपेक्षा की जाती है और वे शब्द किस पैटर्न में हो सकते हैं। व्याकरण भाषण पहचानने वालों के लिए महत्वपूर्ण हैं क्योंकि वे पहचान प्रक्रिया को बाधित करते हैं। ये बाधाएं पहचान को तेज और अधिक सटीक बनाती हैं क्योंकि पहचानकर्ता को विचित्र वाक्यों की जांच करने की आवश्यकता नहीं होती है। जावा स्पीच एपीआई 1 दो बुनियादी व्याकरण प्रकारों का समर्थन करता हैः नियम व्याकरण और डिक्टेशन व्याकरण। ये प्रकार विभिन्न तरीकों से भिन्न होते हैं, जिसमें अनुप्रयोग व्याकरण को कैसे स्थापित करते हैं; वे किस प्रकार के वाक्यों की अनुमति देते हैं; परिणाम कैसे प्रदान किए जाते हैं; आवश्यक कम्प्यूटेशनल संसाधनों की मात्रा; और अनुप्रयोग डिजाइन में उनका उपयोग कैसे किया जाता है। नियम व्याकरण को जे. एस. ए. पी. आई. 1 में जे. एस. जी. एफ., जावा स्पीच ग्रामर फॉर्मेट द्वारा परिभाषित किया गया है। जावा स्पीच एपीआई के वर्ग और इंटरफेस जावा स्पीच एपीआई बनाने वाले विभिन्न वर्गों और इंटरफेस को निम्नलिखित तीन पैकेजों में समूहीकृत किया गया हैः javax.speech: एक सामान्य स्पीच इंजन के लिए वर्ग और इंटरफेस शामिल हैं। javax.speech.synthesis: भाषण संश्लेषण के लिए वर्ग और इंटरफेस शामिल हैं। javax.speech.recognition: भाषण पहचानने के लिए वर्ग और इंटरफेस शामिल हैं। इंजन प्रबंधक वर्ग एक कारखाना वर्ग की तरह है जिसका उपयोग सभी जावा स्पीच एपीआई अनुप्रयोगों द्वारा किया जाता है। यह भाषण संश्लेषण और भाषण पहचान इंजनों तक पहुंच को सक्षम करने के लिए स्थिर तरीके प्रदान करता है। इंजन इंटरफेस सामान्य संचालन को समाहित करता है जो एक जावा स्पीच एपीआई-अनुरूप स्पीच इंजन को स्पीच अनुप्रयोगों के लिए प्रदान करना चाहिए। भाषण अनुप्रयोग मुख्य रूप से क्रियाओं को करने के लिए तरीकों का उपयोग कर सकते हैं जैसे कि भाषण इंजन के गुणों और स्थिति को पुनः प्राप्त करना और भाषण इंजन के लिए संसाधनों को आवंटित करना और अलग करना। इसके अलावा, इंजन इंटरफेस स्पीच इंजन द्वारा उत्पन्न या संसाधित ऑडियो स्ट्रीम को रोकने और फिर से शुरू करने के लिए तंत्र को उजागर करता है। ऑडियो मैनेजर धाराओं में हेरफेर कर सकता है। इंजन इंटरफेस को सिंथेसाइज़र और रिकग्निज़र इंटरफेस द्वारा उपवर्गीकृत किया गया है, जो अतिरिक्त भाषण संश्लेषण और भाषण पहचानने की कार्यक्षमता को परिभाषित करता है। सिंथेसाइज़र इंटरफेस भाषण अनुप्रयोगों के लिए जावा स्पीच एपीआई-अनुरूप भाषण संश्लेषण इंजन के संचालन को समाहित करता है। जावा स्पीच एपीआई इवेंट हैंडलिंग पर आधारित है। स्पीच इंजन द्वारा उत्पन्न घटनाओं को आवश्यकतानुसार पहचाना और संभाला जा सकता है। स्पीच इवेंट्स को इंजनलिस्टनर इंटरफेस के माध्यम से संभाला जा सकता है, विशेष रूप से रिकग्निज़रलिस्टनर और सिंथेसाइज़रलिस्टनर के माध्यम से। जावा स्पीच एपीआई जावा कम्युनिटी प्रोसेस (जेसीपी) से पहले लिखा गया था और जावा प्लेटफॉर्म, स्टैंडर्ड एडिशन (जावा एसई) को लक्षित किया गया था। इसके बाद, जे. सी. पी. के तहत जे. एस. आर. 113 के रूप में जावा स्पीच ए. पी. आई. 2 (जे. एस. ए. पी. आई. 2) बनाया गया। यह एपीआई जावा प्लेटफॉर्म, माइक्रो एडिशन (जावा एमई) को लक्षित करता है, लेकिन जावा एसई का भी अनुपालन करता है। संदर्भ जे. एस. ए. पी. आई. 1 ओपन सोर्स जे. एस. ए. पी. आई. 2 रैपर के लिए सन/ओरेकल द्वारा जावा स्पीच ए. पी. आई. एफ. ए. क्यू. इस तकनीक का उपयोग विभिन्न सुरक्षा उद्देश्यों के लिए किया जा रहा है।