Table of Contents

वॉयस कमांड: आईओएस ऐप इंटरेक्शन का भविष्य

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

आईओएस भाषण मान्यता एपीआई को समझना

आईओएस स्पीच रिकॉग्निशन एपीआई, का हिस्सा]Speech फ्रेमवर्क ], एप्लिकेशन को पाठ में लाइव या पूर्ववर्ती ऑडियो को परिवर्तित करने की अनुमति देता है। यह 60 भाषाओं और बोलियों का समर्थन करता है, जिसमें मान्यता इंजन या तो ऑन-डिवाइस (समर्थित भाषाओं के लिए) या एप्पल के सर्वर पर चल रहा है। ऑन-डिवाइस मान्यता गोपनीयता को प्राथमिकता देती है और ऑफ़लाइन काम करती है, जबकि सर्वर आधारित मान्यता अक्सर जटिल वाक्यों के लिए उच्च सटीकता प्रदान करती है। प्राथमिक वर्ग है SFSpeechRecognizer [FLT: 3]], जो मान्यता प्रक्रिया का प्रबंधन करता है, और [FLT5]

प्रमुख क्षमताओं में शामिल हैं:

  • रियल टाइम आंशिक परिणाम (प्रत्यक्ष कमांड डिटेक्शन के लिए उपयोगी)।
  • ]SFSpeechRecognizer's ] के माध्यम से कस्टम शब्दावली के लिए समर्थन।
  • ]AVAudioEngine के साथ ऑडियो कैप्चर और बफरिंग के लिए एकीकरण।

यह ध्यान रखना महत्वपूर्ण है कि एपीआई उपयोगकर्ता द्वारा शुरू किए गए आदेशों के लिए डिज़ाइन किया गया है और निरंतर, हमेशा-सूचीबद्ध परिदृश्यों के लिए नहीं (ऐप्पल एक एकल मान्यता कार्य पर एक मिनट की अधिकतम राशि)। यह सीमा जानबूझकर सगाई को प्रोत्साहित करती है और बैटरी जीवन को संरक्षित करती है। आगे पढ़ने के लिए, ] ऑफिशियल स्पीच फ्रेमवर्क प्रलेखन और WWWDC 2019 सत्र ऑन स्पीच रिकॉग्निशन [[FLT: 3]]]]] से परामर्श करें।

अपने ऐप में भाषण मान्यता सेट करना

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

1. अपनी परियोजना तैयार करें

  • ]]Speech अपनी परियोजना के हस्ताक्षर और क्षमताओं में क्षमता जोड़ें।
  • ]NSMicrophoneUsageDescription] (e.g., "इस एप्लिकेशन को प्रक्रिया आवाज कमांड के लिए माइक्रोफोन एक्सेस की आवश्यकता है") शामिल हैं।
  • ]NSSpeechRecognitionUsageDescription] key (e.g., "यह ऐप आपके भाषण को Apple के सर्वर को कमांड को पहचानने के लिए भेजता है")।

नोट: दोनों कुंजी की आवश्यकता है भले ही आप केवल ऑन-डिवाइस मान्यता का उपयोग करने की योजना बना रहे हों - एप्पल अभी भी उपयोगकर्ता की सहमति की जरूरत है।

2. अनुरोध प्राधिकरण

]SFSpeechRecognizer.requestAuthorization] जल्दी अपने ऐप प्रवाह में (जैसे, ]]). प्रत्येक प्राधिकरण की स्थिति को सुंदर ढंग से संभाल लें:

import Speech

SFSpeechRecognizer.requestAuthorization { authStatus in
 DispatchQueue.main.async {
 switch authStatus {
 case .authorized:
 // Enable voice command UI
 case .denied, .restricted:
 // Explain why speech recognition is unavailable
 case .notDetermined:
 // This should not occur after the request
 @unknown default:
 break
 }
 }
}

3. एक SFSpeechRecognizer Instance बनाएँ

तत्काल ]SFSpeechRecognizer एक स्थानीय व्यक्ति के साथ जो आपके लक्षित दर्शकों से मेल खाता है। डिफ़ॉल्ट डिवाइस भाषा के लिए, पास :

let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))

4. ऑडियो सत्र और इंजन को कॉन्फ़िगर करें

]AVAudioEngine] का उपयोग माइक्रोफोन इनपुट पर कब्जा करने के लिए .record श्रेणी और .measurement[]भाषा गुणवत्ता पर जोर देने के लिए मोड:

let audioEngine = AVAudioEngine()
let inputNode = audioEngine.inputNode

let recordingFormat = inputNode.outputFormat(forBus: 0)
inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer, _) in
 self.request.append(buffer)
}

audioEngine.prepare()
try? audioEngine.start()

हमेशा ऑडियो इंजन को एक ] में शुरू करने के लिए माइक्रोफोन को अनुपलब्धता को संभालने के लिए उत्पादन में ब्लॉक करें।

वॉयस कमांड को कार्यान्वित करना: भाषण से एक्शन तक

एक बार ऑडियो बहने के बाद आप एक मान्यता कार्य और कमांड के लिए पार्स परिणाम बनाते हैं। कुंजी आंशिक परिणाम पर प्रतिक्रिया करना है ताकि उपयोगकर्ता बोलने से पहले भी कमांड का पता लगाया जा सके।

बुनियादी मान्यता कार्य

let request = SFSpeechAudioBufferRecognitionRequest()
request.shouldReportPartialResults = true

let recognitionTask = recognizer?.recognitionTask(with: request) { result, error in
 guard let result = result else {
 // Handle error
 return
 }
 let transcript = result.bestTranscription.formattedString
 // Check for commands
 if transcript.lowercased().contains("next") {
 // Execute action
 }
}

उन्नत कमांड पार्सिंग

सरल छोटे शब्दावली के लिए काम करता है, लेकिन मजबूत कमांड सेट के लिए विचार करें:

  • ]NsLinguisticTagger का उपयोग करके कीवर्ड निकालने और शोर को बाहर निकालने के लिए।
  • एक कमांड शब्दावली बनाना समानार्थक शब्द (जैसे, "स्किप", "next", "forward") के साथ।
  • ]]]एक उच्च विश्वास सीमा के लिए प्रतीक्षा : ]]]] अभिनय से पहले की जाँच करें।
  • ]एक ही वाक्यांश से एकाधिक ट्रिगर्स को रोकने के लिए एक cooldown[ को लागू करना।
func processTranscript(_ transcript: String) {
 let lowercased = transcript.lowercased()
 let commands: [String: () -> Void] = [
 "next": { self.showNextItem() },
 "go back": { self.showPreviousItem() },
 "stop": { self.stopPlayback() }
 ]
 for (command, action) in commands {
 if lowercased.contains(command) {
 action()
 break
 }
 }
}

हैंडलिंग एंड-ऑफ-स्पेच और सिलेंस

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

उन्नत सुविधाएँ: ऑन-डिवाइस रिकॉग्निशन और कस्टम वोकैबुलरी

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

guard let recognizer = SFSpeechRecognizer() else { return }
if recognizer.supportsOnDeviceRecognition {
 request.requiresOnDeviceRecognition = true
}

नोट: ऑन-डिवाइस सटीकता सर्वर आधारित से थोड़ा कम हो सकती है, विशेष रूप से नामित संस्थाओं या असामान्य शब्दावली के लिए। कस्टम जार्गन (जैसे, चिकित्सा शर्तें, उत्पाद नाम) वाले ऐप्स के लिए, एक ] को जोड़ने पर विचार करें कस्टम शब्दावली सूची के माध्यम से SFSpeech[LT]:FLT][LT][LT]]][LT][LT]]]]]]]]]]]][FLT][LT][LT][LT][F:]]]]]]]]]FLT][LT][[[F:]][LT][F:]]]]][LT][LT][F:]][F:]]]]][LT][LT]][LT][LT][LT][LT][F[F[LT]][LT][F:][F]]]][LT][F:]]]]]]]][F:]]]]]]][LT][LT]

एक अन्य उन्नत तकनीक का उपयोग SFSpeechRecognizerDelegate का उपयोग उपलब्धता परिवर्तन की निगरानी के लिए किया जाता है (जैसे उपयोगकर्ता अनुमति, नेटवर्क स्थिति में बदलाव को रद्द कर देता है)। कार्यान्वयन:

class YourViewController: UIViewController, SFSpeechRecognizerDelegate {
 func speechRecognizer(_ speechRecognizer: SFSpeechRecognizer, availabilityDidChange available: Bool) {
 // Disable or enable voice command button based on availability
 }
}

उत्पादन में वॉयस कमांड के लिए सर्वश्रेष्ठ अभ्यास

वॉयस इंटरफेस टच से अलग-अलग व्यवहार करते हैं। इन दिशानिर्देशों का पालन करें ताकि एक पॉलिश उपयोगकर्ता अनुभव को वितरित किया जा सके।

1. स्पष्ट प्रतिक्रिया प्रदान करें

  • जब सुनने में एक तरंग या pulsing सूचक दिखाएं।
  • इसलिए उपयोगकर्ताओं को पता है कि सिस्टम काम कर रहा है, तो मान्यता प्राप्त पाठ (यहां तक कि आंशिक) प्रदर्शित करें।
  • haptic फीडबैक (for ]UIImpactFeedbackGenerator]) का प्रयोग कमान मान्यता पर करें।

2. संभाल त्रुटि

आम त्रुटियों में कोई माइक्रोफोन एक्सेस, मान्यता सेवा उपलब्ध नहीं है, या खराब ऑडियो गुणवत्ता शामिल है। उपयोगकर्ता को एक्शनेबल संदेश (जैसे, "कृपया जोर से बोलें" या "आपके इंटरनेट कनेक्शन की जाँच करें") के साथ अलर्ट करें।

3. विभिन्न एक्सेंट और पर्यावरण के लिए ऑप्टिमाइज़

वक्ताओं के एक विविध समूह के साथ परीक्षण करें। SFSpeechRecognizer 's [[FLT::21]]] का उपयोग करें, पृष्ठभूमि के धागे पर मान्यता चलाने के लिए संपत्ति। voice गतिविधि का पता लगाने (VAD) heuristics रिकॉर्डिंग मृत हवा से बचने के लिए।

4. गोपनीयता और पारदर्शिता

स्पष्ट रूप से समझाओ कि आपको माइक्रोफोन और भाषण की अनुमति क्यों चाहिए। उपयोगकर्ता के इरादे के बिना कभी रिकॉर्ड या प्रक्रिया भाषण नहीं - सिस्टम डिज़ाइन को आवाज कमांड शुरू करने के लिए एक स्पष्ट टैप की आवश्यकता होनी चाहिए। एप्पल के गोपनीयता दिशानिर्देशों पर अधिक जानकारी के लिए, देखें Requesting Authorization].

5. एक Fallback लागू करें

सभी उपयोगकर्ता आवाज का उपयोग नहीं कर सकते हैं। हमेशा वैकल्पिक स्पर्श या कीबोर्ड इनपुट प्रदान करते हैं। पहुंच के लिए, सुनिश्चित करें कि आवाज कमांड को स्विच कंट्रोल या वॉयसओवर के माध्यम से बुलाया जा सकता है।

रियल-विश्व उपयोग मामले और प्रेरणा

  • Navigation Apps: "मुझे घर ले लो" या "पास के गैस स्टेशन दिखाएं" मानचित्र SDKs का उपयोग कर।
  • ]उत्पादनशीलता & amp; नोट-टैकिंग: "एक नया नोट बनाएं" या "टास्क जोड़ें" कोर डेटा या क्लाउडकीट के साथ एकीकृत।
  • ]स्मार्ट होम कंट्रोलर: होमकिट का उपयोग करके "जीवन कक्ष रोशनी बंद करें"।
  • Fitness & कसरत: "शुरू 5 मिनट की कूलडाउन" या "लॉग 10 पुशअप"।
  • E-Learning: फ्लैशकार्ड या क्विज़ के लिए आवाज जवाब।

अधिक विचारों के लिए, SFSpeechRecognizer API संदर्भ] और SpeakToMe नमूना कोड ]]] Apple से पता चलता है।

निष्कर्ष: वॉयस के साथ अपने उपयोगकर्ताओं को सशक्त बनाएं

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

शुरू करें: अपने अगले अद्यतन में एक एकल कमांड ("Help" या "Go back") को एकीकृत करें, फिर उपयोगकर्ता प्रतिक्रिया के आधार पर विस्तार करें। जैसा कि ऑन-डिवाइस मान्यता बेहतर होती है और नई भाषाएं जुड़ जाती हैं, वॉयस-नियंत्रित आईओएस अनुभवों की क्षमता केवल बढ़ जाएगी। ऐप इंटरेक्शन का भविष्य बोला जाता है - सुनिश्चित करें कि आपका ऐप एक आवाज है।