Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

वॉइस वेक & पुश-टू-टॉक

मोड्स

  • वेक-वर्ड मोड (डिफ़ॉल्ट): हमेशा सक्रिय स्पीच रिकग्नाइज़र ट्रिगर टोकन (swabbleTriggerWords) का इंतज़ार करता है। मिलान होने पर यह कैप्चर शुरू करता है, आंशिक टेक्स्ट के साथ ओवरले दिखाता है, और साइलेंस के बाद स्वतः भेज देता है।
  • पुश-टू-टॉक (Right Option होल्ड): तुरंत कैप्चर करने के लिए Right Option कुंजी दबाकर रखें—किसी ट्रिगर की आवश्यकता नहीं। दबाए रखने के दौरान ओवरले दिखाई देता है; छोड़ने पर यह अंतिम रूप देता है और थोड़ी देरी के बाद फ़ॉरवर्ड करता है ताकि आप टेक्स्ट में बदलाव कर सकें।

रनटाइम व्यवहार (wake-word)

  • Speech recognizer VoiceWakeRuntime में रहता है।
  • ट्रिगर केवल तब सक्रिय होता है जब वेक वर्ड और अगले शब्द के बीच सार्थक विराम हो (~0.55s का अंतर)। कमांड शुरू होने से पहले भी ओवरले/चाइम इस विराम पर शुरू हो सकता है।
  • मौन विंडो: जब भाषण चल रहा हो तो 2.0s, और यदि केवल ट्रिगर सुना गया हो तो 5.0s।
  • हार्ड स्टॉप: अनियंत्रित सत्रों को रोकने के लिए 120s।
  • सत्रों के बीच डिबाउंस: 350ms।
  • ओवरले VoiceWakeOverlayController के माध्यम से कमिटेड/वोलेटाइल रंगों के साथ संचालित होता है।
  • भेजने के बाद, अगला ट्रिगर सुनने के लिए recognizer साफ़-सुथरे ढंग से पुनः शुरू होता है।

लाइफ़साइकल इनवेरिएंट्स

  • यदि Voice Wake सक्षम है और अनुमतियाँ दी गई हैं, तो wake-word recognizer को सुनते रहना चाहिए (स्पष्ट push-to-talk कैप्चर के दौरान को छोड़कर)।
  • ओवरले की दृश्यता (X बटन से मैनुअल डिसमिस सहित) कभी भी recognizer के पुनः शुरू होने में बाधा नहीं बननी चाहिए।

स्टिकी ओवरले विफलता मोड (पिछला)

पहले, यदि ओवरले दिखाई देते हुए अटक जाता था और आप उसे मैन्युअल रूप से बंद करते थे, तो Voice Wake “मरा हुआ” प्रतीत हो सकता था क्योंकि रनटाइम का रीस्टार्ट प्रयास ओवरले की दृश्यता से अवरुद्ध हो सकता था और कोई बाद का रीस्टार्ट शेड्यूल नहीं होता था।

हार्डनिंग:

  • Wake रनटाइम रीस्टार्ट अब ओवरले की दृश्यता से अवरुद्ध नहीं होता।
  • ओवरले डिसमिस पूर्ण होने पर VoiceSessionCoordinator के माध्यम से VoiceWakeRuntime.refresh(...) ट्रिगर होता है, इसलिए मैनुअल X-डिसमिस हमेशा सुनना पुनः शुरू करता है।

Push-to-talk विवरण

  • हॉटकी डिटेक्शन right Option (keyCode 61 + .option) के लिए एक ग्लोबल .flagsChanged मॉनिटर का उपयोग करता है। हम केवल इवेंट्स को ऑब्ज़र्व करते हैं (कोई स्वॉलोइंग नहीं)।
  • कैप्चर पाइपलाइन VoicePushToTalk में रहती है: Speech तुरंत शुरू होती है, आंशिक परिणाम ओवरले में स्ट्रीम होते हैं, और रिलीज़ पर VoiceWakeForwarder कॉल होता है।
  • जब push-to-talk शुरू होता है, तो दोहरे ऑडियो टैप से बचने के लिए हम wake-word रनटाइम को पॉज़ करते हैं; रिलीज़ के बाद यह स्वतः पुनः शुरू हो जाता है।
  • अनुमतियाँ: Microphone + Speech आवश्यक; इवेंट्स देखने के लिए Accessibility/Input Monitoring की स्वीकृति चाहिए।
  • बाहरी कीबोर्ड: कुछ में right Option अपेक्षित रूप से उपलब्ध नहीं होता—यदि उपयोगकर्ता मिस की रिपोर्ट करें तो एक फ़ॉलबैक शॉर्टकट प्रदान करें।

उपयोगकर्ता-समक्ष सेटिंग्स

  • Voice Wake टॉगल: wake-word रनटाइम सक्षम करता है।
  • बात करने के लिए Cmd+Fn दबाकर रखें: पुश-टू-टॉक मॉनिटर को सक्षम करता है। macOS < 26 पर अक्षम।
  • भाषा और माइक पिकर, लाइव लेवल मीटर, ट्रिगर-वर्ड तालिका, टेस्टर (केवल स्थानीय; फ़ॉरवर्ड नहीं करता)।
  • माइक पिकर डिवाइस डिस्कनेक्ट होने पर अंतिम चयन को सुरक्षित रखता है, डिस्कनेक्टेड संकेत दिखाता है, और लौटने तक अस्थायी रूप से सिस्टम डिफ़ॉल्ट पर फ़ॉलबैक करता है।
  • साउंड्स: ट्रिगर डिटेक्ट होने पर और भेजते समय चाइम बजती है; डिफ़ॉल्ट रूप से macOS का “Glass” सिस्टम साउंड। आप प्रत्येक इवेंट के लिए कोई भी NSSound-लोडेबल फ़ाइल (जैसे MP3/WAV/AIFF) चुन सकते हैं या No Sound चुन सकते हैं।

फ़ॉरवर्डिंग व्यवहार

  • जब Voice Wake सक्षम होता है, तो ट्रांसक्रिप्ट्स सक्रिय gateway/agent को फ़ॉरवर्ड किए जाते हैं (mac ऐप के शेष भाग में उपयोग किए जाने वाले समान लोकल बनाम रिमोट मोड के साथ)।
  • जवाब अंतिम-उपयोग किए गए मुख्य प्रोवाइडर (WhatsApp/Telegram/Discord/WebChat) को भेजे जाते हैं। यदि डिलीवरी विफल होती है, तो त्रुटि लॉग की जाती है और रन अभी भी WebChat/सेशन लॉग्स के माध्यम से दिखाई देता है।

फ़ॉरवर्डिंग पेलोड

  • VoiceWakeForwarder.prefixedTranscript(_:) prepends the machine hint before sending. Shared between wake-word and push-to-talk paths.

त्वरित सत्यापन

  • push-to-talk चालू करें, Cmd+Fn दबाए रखें, बोलें, छोड़ें: ओवरले को आंशिक परिणाम दिखाने चाहिए और फिर भेजना चाहिए।
  • दबाए रखने के दौरान, मेन्यू-बार के कान बड़े बने रहने चाहिए (triggerVoiceEars(ttl:nil) का उपयोग करता है); रिलीज़ के बाद वे घट जाते हैं।