डॉक्युमेंटेशन कंटेंट पर जाएँ
Keebye Docs

क्लीनअप और डिक्शनरी

speech-to-text और इन्सर्शन के बीच आपके ट्रांसक्रिप्ट के साथ क्या होता है: डिक्शनरी, rule-based क्लीनअप, per-app ओवरराइड, और opt-in लोकल-LLM polish।

हर डिक्टेशन आपके Mac पर एक ही छोटी pipeline से गुज़रता है। इसमें कुछ भी नेटवर्क का इस्तेमाल नहीं करता।

pipeline

  1. चुने हुए इंजन से speech-to-text।

  2. कस्टम डिक्शनरी के replacements, हमेशा लागू।

  3. क्लीनअप — rule-based, या लोकल LLM अगर आपने opt-in किया है — सिर्फ़ तब जब सामने वाले ऐप के लिए enhancement चालू हो।

  4. paste या typing से इन्सर्शन।

Rule-based क्लीनअप

यही पूरा नियम-सेट है। क्लीनअप न तो false starts हटाता है और न ही शब्द "like"।

  • अकेले खड़े "um", "uh", "erm" और दो-शब्दों वाले "you know" को हटाता है, सिर्फ़ पूरे टोकन मैच करते हुए।
  • तुरंत दोहराए गए शब्दों को एक कर देता है, तो "the the" बन जाता है "the"।
  • whitespace को समेट देता है।
  • पहला अक्षर बड़ा कर देता है।
  • अगर टेक्स्ट किसी अक्षर या अंक पर खत्म होता है तो अंत में पूर्ण विराम जोड़ देता है।

Per-app ओवरराइड

Settings › Enhancement › "Clean up transcripts by default" ऑन है। ओवरराइड ऐप की bundle id से keyed होते हैं। "Add current app…" आपके इस्तेमाल किए गए आख़िरी non-Keebye ऐप को जोड़ता है, डिफ़ॉल्ट के उलट सेटिंग के साथ। हर एंट्री में एक चेकबॉक्स और एक "Remove" बटन होता है।

कस्टम डिक्शनरी

Settings › Dictionary: "Replace spoken words with fixed spellings." जो Keebye सुनता है वह "heard as…" में लिखें और जो स्पेलिंग आप चाहते हैं वह "write as…" में, फिर Add दबाएँ (Enter भी चलता है)। Remove किसी एंट्री को हटा देता है। खाली स्थिति में लिखा होता है "No replacements yet."

  • सिर्फ़ पूरे शब्द मैच करता है, किसी बड़े शब्द के भीतर कभी नहीं।
  • मैचिंग case-insensitive है; replacement में वही casing रहती है जो आपने टाइप की।
  • keys कई शब्दों की हो सकती हैं। सबसे लंबा मैच जीतता है।
  • हर डिक्टेशन पर लागू होता है, चाहे उस ऐप के लिए क्लीनअप चालू हो या नहीं।

लोकल-LLM polish (opt-in)

Keebye rule-based क्लीनअप की जगह ट्रांसक्रिप्ट को एक लोकल लैंग्वेज मॉडल को सौंप सकता है। मॉडल Qwen3-1.7B है (Q4_K_M GGUF, लगभग 1.28 GB), जो llama.cpp पर Metal के साथ चलता है। यह greedy sampling इस्तेमाल करता है, thinking बंद रहती है, 64-token की सीमा और 2-सेकंड की deadline होती है। कोई भी नाकामी rule-based क्लीनअप पर लौटा देती है।

इस्तेमाल से पहले एक fidelity guard LLM आउटपुट जाँचता है: उसमें इनपुट के कम से कम आधे शब्द-अवसर बचे रहने चाहिए, इनपुट शब्द-संख्या के दोगुने से चार ज़्यादा तक की सीमा पार नहीं होनी चाहिए, कोई वाक्य या चार-शब्दों का वाक्यांश तीन या उससे ज़्यादा बार दोहराया नहीं होना चाहिए, और आउटपुट खाली नहीं होना चाहिए। वरना LLM आउटपुट फेंक दिया जाता है।