ट्रांसक्रिप्ट बताता है कि क्या कहा गया। इंटरव्यू, मीटिंग और पॉडकास्ट में यह जानना भी उतना ही ज़रूरी है कि किसने कहा—स्पीच रिसर्च में इसे स्पीकर डायरीज़ेशन (speaker diarization) कहते हैं। iPhone 1.8.5, Mac App Store 1.3.2 और सीधे डाउनलोड होने वाले Mac बिल्ड 1.5.1 से Whisper Notes यह पूरा काम डिवाइस पर करता है।
इस लेख में हम इसका तरीका, क्लाउड से बने ग्राउंड ट्रुथ के सामने benchmark नतीजे, और वह एक मुश्किल स्थिति बताते हैं जिसे इंजीनियरिंग से पूरी तरह दूर नहीं किया जा सका—साथ ही यह भी कि हमने उसके बदले क्या बनाया।
यह क्या करता है
कोई नोट खोलें—रिकॉर्डिंग, इंपोर्ट की हुई ऑडियो या वीडियो फ़ाइल, या मीटिंग रिकॉर्डिंग—और वक्ता वाला बटन दबाएँ। कुछ सेकंड बाद हर पैराग्राफ पर वक्ता का लेबल और टाइमस्टैम्प होगा।
Mac और iPhone पर वक्ता लेबल। किसी वाक्य पर टैप करने से ऑडियो उसी पल पर पहुँच जाता है।
लेबल पहले वक्ता 1 और वक्ता 2 होते हैं। एक नाम बदलने पर पूरा ट्रांसक्रिप्ट अपडेट हो जाता है। किसी भी वाक्य पर टैप करके ऑडियो के ठीक उसी हिस्से पर जाएँ—मूल आवाज़ से उद्धरण मिलाना आसान हो जाता है।
वक्ता का नाम बदलने पर नोट का हर पैराग्राफ अपडेट हो जाता है।
कॉल खत्म होने के बाद मीटिंग रिकॉर्डिंग अपने आप वक्ता पहचान चलाती है (इसे सेटिंग्स में बंद किया जा सकता है)। एक्सपोर्ट में भी लेबल रहते हैं: वक्ताओं सहित ट्रांसक्रिप्ट कॉपी करें उन्हें क्लिपबोर्ड में रखता है और SRT व VTT फ़ाइलें उन्हें सबटाइटल में बनाए रखती हैं।
डायरीज़ेशन शब्दों के बजाय आवाज़ों पर काम करता है, इसलिए ऐप जिन 100+ भाषाओं को ट्रांसक्राइब करता है, उन सभी में इसका व्यवहार एक जैसा रहता है।
Neural Engine पर 19 MB का मॉडल
डायरीज़ेशन तीन चरणों में “किसने कब कहा” का उत्तर देता है। ऑडियो को बोलने वाले हिस्सों में बाँटें। हर हिस्से को वॉइसप्रिंट में बदलें—एक छोटा वेक्टर जो शब्द नहीं, आवाज़ को बताता है। फिर वॉइसप्रिंट के क्लस्टर बनाएँ; एक क्लस्टर वाले हिस्सों को एक ही लेबल मिलता है।
Whisper Notes pyannote की community-1 pipeline को Core ML में बदलकर दोनों चरण Neural Engine पर चलाता है। मॉडल केवल एक बार 19 MB डाउनलोड होता है। M-series Mac पर 5.7 मिनट की बातचीत में 2–4 सेकंड लगते हैं।
ऑडियो → बोले गए हिस्से → वॉइसप्रिंट → क्लस्टर → लेबल
हर चरण डिवाइस पर चलता है।
यह बात ट्रांसक्रिप्शन से भी ज़्यादा डायरीज़ेशन में मायने रखती है। वॉइसप्रिंट बायोमेट्रिक डेटा है—वह उँगली के निशान की तरह किसी व्यक्ति की पहचान करता है। लोकल pipeline में आपकी, सहकर्मियों और इंटरव्यू देने वालों की वॉइसप्रिंट डिवाइस पर बनती, क्लस्टर होती और मिट जाती है। कहीं भेजी नहीं जाती।
हमने क्या मापा
हम डायरीज़ेशन के लिए दो तय फ़ाइलों का benchmark रखते हैं। ग्राउंड ट्रुथ क्लाउड ASR और डायरीज़ेशन सेवा ElevenLabs से बनता है और हाथ से जाँचा जाता है। स्कोरिंग हर 10 ms की आवाज़ एक वक्ता को देती है और आउटपुट तथा संदर्भ के बीच सबसे अच्छा मिलान चुनती है। दो फ़ाइलें छोटा नमूना हैं, इसलिए ये आँकड़े संकेत हैं, अंतिम निष्कर्ष नहीं।
पहली फ़ाइल सामान्य स्थिति है: पाँच मिनट का अंग्रेज़ी पॉडकास्ट, दो साफ़ तौर पर अलग आवाज़ें। अधिकांश इंटरव्यू, पॉडकास्ट और आमने-सामने की मीटिंग ऐसी ही होती हैं।
| दो वक्ताओं वाला अंग्रेज़ी पॉडकास्ट (5 मिनट) | नतीजा |
|---|---|
| फ़्रेम-स्तर पर वक्ता पहचान (10 ms रिज़ॉल्यूशन) | 96.7% |
| वाक्य-स्तर सटीकता (जो आप पढ़ते हैं) | 99.1% |
| प्रोसेसिंग समय, M-series Neural Engine | 2–4 सेकंड |
बाकी 0.9% तीन सीमा बदलाव हैं, कुल 3.4 सेकंड—लगभग संदर्भ की अपनी रिज़ॉल्यूशन जितने। ऐसी सामग्री में ऑन-डिवाइस नतीजा उस क्लाउड सेवा के बराबर है जिसने हमारा ग्राउंड ट्रुथ बनाया।
मुश्किल स्थिति
दूसरी फ़ाइल जानबूझकर कठिन रखी गई: गूँज वाले कमरे में दो मिलती-जुलती पुरुष आवाज़ें, और एक होस्ट जो 19 बार बीच में बोलता है—हर बार औसतन 2.3 सेकंड। मेहमान 272 सेकंड बोलता है; होस्ट 43 सेकंड। यही ध्वनिक पैटर्न किसी भी भाषा में स्पीकर डायरीज़ेशन को तोड़ता है: मिलती-जुलती आवाज़ें छोटी-छोटी बारी में बोलती हैं।
ऑटोमैटिक क्लस्टरिंग यहाँ टूट जाती है। दोनों वॉइसप्रिंट इतने पास हैं कि एल्गोरिदम उन्हें मिला देता है और लगभग पूरी बातचीत एक ही लेबल को देता है। यह रिकॉर्डिंग संयोग से एक चीनी इंटरव्यू है, जिससे हम स्पष्ट अनुमान परख सके—भाषा के लिए खास मॉडल बेहतर होगा। हमने चीनी आवाज़ पर खास तौर से प्रशिक्षित दो स्पीकर मॉडल CPU pipeline में चलाए:
| मॉडल | अंग्रेज़ी पॉडकास्ट | मुश्किल फ़ाइल* | समय (5.7 मिनट ऑडियो) |
|---|---|---|---|
| pyannote community-1 (हमारा, Neural Engine) | 96.7% | 81–82% | 2–4 सेकंड |
| CAM++ (चीनी पर प्रशिक्षित, CPU) | 93.9% | 81.2% | 36–103 सेकंड |
| ERes2NetV2 (चीनी पर प्रशिक्षित, CPU) | — | 80.5% | 220–290 सेकंड |
* मुश्किल फ़ाइल पर वक्ताओं की संख्या बताने के बाद फ़्रेम-स्तर की पहचान। संख्या न बताने पर हर मॉडल एक ही वक्ता की ओर सिमटता है।
दोनों 10 से 100 गुना कम्प्यूट लेकर भी उसी तरह असफल रहे। कठिनाई ध्वनिक है, भाषाई नहीं—सीमा यह है कि मौजूदा वॉइस embedding किसी भी भाषा में क्या अलग कर सकता है।
इससे सबसे सीधा सुधार खारिज हो गया और दूसरा रास्ता मिला: pipeline को वह तथ्य दें जो वह अनुमान नहीं लगा सकता—कमरे में कितने लोग हैं। संख्या चुनने पर (मेन्यू में 2 से 6), कठिन फ़ाइल असफल होने से वाक्य स्तर पर 89% तक पहुँचती है। सामान्य सामग्री में सही होने के कारण ऑटो-डिटेक्ट डिफ़ॉल्ट रहता है।
वक्ताओं की ठीक संख्या देकर पहचान फिर चलाएँ। यही मेन्यू वक्ता लेबल सहित SRT और VTT एक्सपोर्ट करता है।
छोटी टिप्पणियों को सुधारना
संख्या तय होने के बाद लगभग आधी बची गलतियाँ तीन सेकंड से छोटी टिप्पणियों में थीं। दो सेकंड की क्लिप embedding मॉडल को बहुत कम संकेत देती है, और तेज़ बातचीत में वॉइसप्रिंट पास वाले वक्ता की आवाज़ भी ले लेती है।
इसलिए क्लस्टरिंग के बाद pipeline 3.5 सेकंड से छोटे हर वाक्य को दोबारा जाँचती है: केवल उसी वाक्य के फ़्रेम पर mask लगाकर वॉइसप्रिंट फिर बनाती है, हर वक्ता के anchor—उनकी सबसे लंबी बातों का औसत—से मिलाती है और साफ़ अंतर होने पर ही लेबल बदलती है। मौजूदा मॉडल ही दोबारा इस्तेमाल होता है; अतिरिक्त डाउनलोड नहीं है।
| पूरे सिस्टम की वाक्य सटीकता | सुधार से पहले | बाद में |
|---|---|---|
| मुश्किल फ़ाइल (वक्ता संख्या दी गई) | 89.0% | 94.8% |
| अंग्रेज़ी पॉडकास्ट (ऑटो) | 98.5% | 99.1% |
बदलाव की सीमा जानबूझकर कड़ी है: सुधारक ने दोनों फ़ाइलों में 21 लेबल बदले और कोई नई गलती नहीं जोड़ी।
सीमाएँ
• लेबल रिकॉर्डिंग खत्म होने के बाद आते हैं, कॉल के दौरान नहीं। मीटिंग चलते समय वक्ता के नाम सहित लाइव कैप्शन चाहिए, तो Otter या Notta जैसी क्लाउड सेवा बेहतर है।
• एक साथ बोलने पर हर वाक्य को एक ही लेबल मिलता है।
• मिलती-जुलती आवाज़ें अब भी कठिन हैं। कठिन फ़ाइल पर 94.8% वक्ता संख्या बताने के बाद की मौजूदा सीमा है, हल हो चुकी समस्या नहीं।
उपलब्धता
वक्ता पहचान $6.99 की एक बार की खरीद में शामिल है। साथ में ऐप के तीन ट्रांसक्रिप्शन इंजन—Parakeet V3, Whisper Large V3 Turbo और SenseVoice—तथा लोकल AI एडिटिंग मिलते हैं। अलग प्लान या अकाउंट नहीं है।
• iPhone: App Store, संस्करण 1.8.5 या नया।
• Mac App Store: संस्करण 1.3.2 या नया।
• Mac सीधा डाउनलोड (DMG): संस्करण 1.5.1 या नया, whispernotes.app से मुफ़्त ट्रायल सहित।
मीटिंग रिकॉर्डिंग कैसे काम करती है, इसके लिए ऑफ़लाइन मीटिंग ट्रांसक्रिप्शन पर हमारा लेख पढ़ें।