इंटरनेट कटे हुए सुरक्षित PC में Whisper से मीटिंग मिनट्स टाइपिंग खत्म करने का तरीका
सिक्योरिटी कार्ड के बिना प्रवेश भी न मिलने वाले डेवलपमेंट रूम या वित्तीय संस्थान के डेटा सेंटर में मीटिंग मिनट्स (회의록) लिखने के चक्कर में हर दिन 1 घंटे का ओवरटाइम करना वाकई दर्दनाक है। पेड AI टूल के लिए आवेदन करने पर भी सूचना सुरक्षा टीम से अनुमति मिलने की कोई संभावना नहीं होती, और आखिरकार मैनुअल टाइपिंग ही एकमात्र विकल्प बचता है। ओपन-सोर्स लोकल वॉइस रिकग्निशन टूल Handy का उपयोग करके आप इस तकलीफ से छुटकारा पा सकते हैं। यह एक ऐसा ऑप्टिमाइज्ड सेटअप है जो आपके लैपटॉप के अंदर ही काम करता है और ऑडियो का 1 बाइट भी बाहरी सर्वर पर नहीं भेजता है।
OS फ़ायरवॉल से Handy ट्रैफ़िक को पूरी तरह से ब्लॉक करना
भले ही Handy लोकल रूप से चलने वाला प्रोग्राम हो, लेकिन सुरक्षा टीम के दृष्टिकोण से यह अभी भी संदिग्ध है। शुरुआती मॉडल डाउनलोड या अपडेट पैकेट बाहर जा सकते हैं, इसलिए OS स्तर पर नेटवर्क पैकेट को जबरन अस्वीकार (deny) कर देना ही सुरक्षित है।
यदि आप Windows वातावरण का उपयोग कर रहे हैं, तो एडमिनिस्ट्रेटर अधिकारों के साथ Command Prompt खोलें और आउटबाउंड नियम को सीधे इंजेक्ट करें।
- Shift कुंजी दबाकर रखें और माउस से राइट-क्लिक करके Command Prompt को एडमिनिस्ट्रेटर के रूप में खोलें।
netsh advfirewall firewall add rule name="Block Handy Outbound OUT" dir=out program="%LOCALAPPDATA%\Programs\handy\Handy.exe" action=block enable=yes सिंटैक्स को निष्पादित करें।
- ब्लॉक स्थिति को स्वयं सत्यापित करने के लिए
netsh advfirewall firewall show rule name="Block Handy Outbound OUT" दर्ज करें।
यदि आप macOS का उपयोग करते हैं, तो Little Snitch 6 में Connections to Any Server के आधार पर Handy पैकेट को Always Deny के रूप में ब्लॉक कर दें। इस एक पंक्ति से सुरक्षा नियमों के उल्लंघन वाले ट्रैफ़िक के उत्पन्न होने की संभावना शून्य हो जाती है।
शॉर्टकट की (Shortcut key) सेटिंग्स पर भी ध्यान देने की आवश्यकता है। Handy, Rust भाषा की rdev लाइब्रेरी के माध्यम से ग्लोबल इनपुट कीज़ का पता लगाता है, इसलिए यह अक्सर सिस्टम के डिफ़ॉल्ट शॉर्टकट के साथ टकराता है। macOS में Option + Space और Windows में Alt + Space संयोजन को Push-to-Talk कुंजी के रूप में असाइन करना अधिक सुविधाजनक है।
तकनीकी शब्दावली की पहचान दर बढ़ाकर टाइपिंग त्रुटियों को सुधारने का समय घटाना
OpenAI Whisper आर्किटेक्चर एक ऐसा ढांचा है जहां टेक्स्ट डिकोडर पिछले शब्दों के आधार पर अगले शब्द का अनुमान लगाता है। यदि आप इस डिकोडर के initial_prompt पैरामीटर में अक्सर उपयोग किए जाने वाले अलग-अलग शब्दों और प्रोजेक्ट नामों को 224 टोकन की सीमा के भीतर भर देते हैं, तो गलत पहचान में काफी कमी आती है। यही कारण है कि मॉडल को दोबारा प्रशिक्षित किए बिना भी वर्ड एरर रेट (WER) नीचे आ जाता है।
- Handy सेटिंग्स स्क्रीन में Settings -> Advanced -> Initial Prompt मेनू खोलें।
- केवल शब्दों की सूची न बनाएं, बल्कि बातचीत के संदर्भ को भी शामिल करें:
다음은 IT 개발 및 아키텍처 회의입니다. 주요 용어: Kubernetes, CI/CD, React Native, Rust, Obsidian, AutoHotkey, PostgreSQL, gRPC, Docker, PR, Issue, Sprint.
- डिकोडर बायस वैल्यू को लागू करने के लिए ऐप को पुनः प्रारंभ करें।
जब पृष्ठभूमि का शोर अधिक हो, तो कुछ शब्दों के बार-बार टाइप होने की मतिभ्रम (hallucination) घटना को भी नियंत्रित किया जाना चाहिए। टेक्स्ट कॉन्टेक्स्ट विंडो का आकार निर्धारित करने वाले n_max_text_ctx मान को घटाकर 128 करने और temperature मान को 0.0 पर तय करने से यादृच्छिक टेक्स्ट निर्माण बंद हो जाता है।
रिकॉर्डिंग बंद करते ही टेक्स्ट को सीधे Obsidian नोट्स में भेजना
Handy का डिफ़ॉल्ट व्यवहार परिवर्तित टेक्स्ट को क्लिपबोर्ड में रखना है। समस्या यह है कि पहले से कॉपी किया गया कोड ओवरराइट हो जाता है। क्लिपबोर्ड से गुज़रे बिना सीधे टाइमस्टैम्प के साथ Obsidian दैनिक नोट (.md) फ़ाइल में जोड़ना बहुत बेहतर है।
Windows वातावरण में, एक AutoHotkey स्क्रिप्ट चलाकर इसे हल किया जा सकता है।
- AutoHotkey v1.1 या उच्चतर इंस्टॉल करें और एक नई फ़ाइल (ObsidianLogger.ahk) बनाएं।
- सेव पाथ (
VaultPath := "C:\Users\" . A_UserName . "\ObsidianVault\DailyNotes\" . CurrentDate . ".md") और फ़ाइल टेक्स्ट जोड़ने का सिंटैक्स (FileAppend, %LogEntry%, %VaultPath%, UTF-8) लिखें।
- स्क्रिप्ट चलाएं और Handy में Alt + Space कुंजी दबाकर आवाज़ दर्ज करें।
इस ऑटोमेशन सेटअप को पूरा करने के बाद, हर दिन टाइपिंग और विंडो स्विच करने में बर्बाद होने वाला 40 मिनट से अधिक का समय घटकर लगभग 3 मिनट रह जाता है।
बोलते समय कुछ विशिष्ट नियंत्रण शब्दों (control words) का उपयोग करके मार्कडाउन फ़ॉर्मेटिंग को स्वचालित रूप से लागू भी किया जा सकता है। उदाहरण के लिए, "안건 입력" (एजेंडा दर्ज करें) कहने पर स्क्रिप्ट इसे पहचानकर ### 📌 안건 हेडर में बदल देती है, और "액션 아이템" (एक्शन आइटम) को #### ✅ 액션 아이템 चेकबॉक्स में बदल देती है।
मेमोरी में रहने वाली क्षमता को 400MB तक कम करने वाला कंप्रेस्ड मॉडल सेटअप
Handy whisper.cpp आधारित GGML/GGUF फ़ॉर्मेट का उपयोग करता है। FP16 मॉडल वेट (weights) को Q5_1 (5.5 बिट) या Q4_1 (4 बिट) के स्तर तक कम करने से उपलब्ध RAM की खपत घटकर एक-तिहाई रह जाती है।
यदि आपके पास M2 MacBook Air या इंटीग्रेटेड ग्राफिक्स वाला लैपटॉप है, तो Whisper Small (Q5_1) मॉडल उपयुक्त है। 250MB डिस्क स्थान और लगभग 350MB मेमोरी पदचिह्न (memory footprint) के साथ, यह चल रहे डेवलपमेंट वातावरण पर दबाव नहीं डालता है। यदि आपके पास पर्याप्त ग्राफिक्स कार्ड वाला डेस्कटॉप वातावरण है, तो आप पहचान दर बढ़ाने के लिए Whisper Large-v3 (Q5_1) मॉडल का उपयोग कर सकते हैं।
मेमोरी रेसिडेंट क्षमता को ऑप्टिमाइज करने की प्रक्रिया इस प्रकार है:
- डिफ़ॉल्ट ऑलवेज-ऑन मॉडल के रूप में Whisper Small (Q5_1) चुनें।
- Silero VAD (वॉइस डिटैक्शन) थ्रेशोल्ड मान को 0.5 या उससे अधिक तक बढ़ाएं ताकि कीबोर्ड टाइपिंग की आवाज़ के कारण अनुमान इंजन (inference engine) को लगातार चलने से रोका जा सके।
- ऐप डेटा पाथ (
C:\Users\{username}\AppData\Roaming\com.pais.handy\models\) पर जाएं और अप्रयुक्त GB-साइज की बड़ी मॉडल फ़ाइलों (.bin) को पूरी तरह से हटा दें।
लंबी बैठकों को ट्रांसक्राइब करते समय थ्रेड बाधा (thread bottleneck) के कारण रुकना भौतिक कोर संख्या (physical core count) की सेटिंग से जुड़ी समस्या है। हाइपर-थ्रेडिंग आधारित लॉजिकल कोर की संख्या से मिलाने के बजाय, आपको बिना किसी स्विचिंग ओवरहेड के सुचारू रूप से चलाने के लिए थ्रेड्स की संख्या (n_threads) को वास्तविक भौतिक कोर की संख्या के साथ 1:1 से मैच करना चाहिए।