स्पीकर डायराइज़ेशन क्या है? यह कैसे काम करता है और इसके उपयोग
- लेखक
- Jack Limebear
- प्रकाशित
- आखिरी बार अपडेट किया गया
सुनेंइस आर्टिकल को सुनें
स्पीकर डायराइज़ेशन अज्ञात संख्या में वक्ताओं वाली ऑडियो स्ट्रीम लेता है और लेबल किए गए सेगमेंट की टाइमलाइन बनाता है: 0:00 से 0:42 तक स्पीकर A, 0:42 से 1:15 तक स्पीकर B, और 1:15 के बाद फिर से स्पीकर A। सिस्टम को नहीं पता कि वक्ता कौन हैं, लेकिन यह जानता है कि वे अलग-अलग लोग हैं और पूरी रिकॉर्डिंग में उनके लेबल एक जैसे रखता है।
यही प्रक्रिया कई वक्ताओं वाले ऑडियो को उपयोगी बनाती है। मीटिंग नोट्स, कॉल सेंटर एनालिटिक्स, इंटरव्यू ट्रांसक्रिप्शन, पॉडकास्ट एडिटिंग और कानूनी रिकॉर्ड—इन सभी के लिए सिर्फ़ यह जानना नहीं, बल्कि यह भी जानना ज़रूरी है कि किसने क्या कहा।
इस गाइड में बताया गया है कि डायराइज़ेशन कैसे काम करता है, यह सेगमेंटेशन और आइडेंटिफिकेशन जैसी संबंधित तकनीकों से कैसे अलग है, कौन-से ओपन सोर्स टूल इसे संभालते हैं, और कैसे मापें कि डायराइज़ेशन सिस्टम अच्छा प्रदर्शन कर रहा है या नहीं।
सारांश
- स्पीकर डायराइज़ेशन ऑडियो रिकॉर्डिंग को बोलने वाले व्यक्ति के आधार पर सेगमेंट में बांटता है और किसी को नाम से पहचाने बिना लेबल किए गए स्पीकर टर्न बनाता है।
- स्पीकर डायराइज़ेशन, स्पीकर सेगमेंटेशन से अलग है, जो पता लगाता है कि वक्ता कब बदलते हैं, और स्पीकर आइडेंटिफिकेशन से भी, जो आवाज़ों को असली नामों से मिलाता है।
- डायराइज़ेशन के प्रदर्शन को समग्र सटीकता के लिए डायराइज़ेशन एरर रेट (DER) और यह जांचने के लिए कि सटीकता हर वक्ता के लिए बनी रहती है या नहीं, जैकार्ड एरर रेट (JER) से मापा जाता है।
स्पीकर डायराइज़ेशन क्या है और यह कैसे काम करता है?
स्पीकर डायराइज़ेशन, बोलने वाले व्यक्ति के आधार पर ऑडियो स्ट्रीम को सेगमेंट में बांटने की प्रक्रिया है। स्पीकर डायराइज़ेशन वाला ट्रांसक्रिप्ट हर ऑडियो सेगमेंट को वक्ता की पहचान से लेबल करता है। सरल शब्दों में, यह सवाल का जवाब देता है: "किसने कब बोला?"
मीटिंग का रॉ ट्रांसक्रिप्ट आपको शब्द देता है, जबकि डायराइज़ किया गया ट्रांसक्रिप्ट बताता है कि स्पीकर 1 ने सवाल पूछा, स्पीकर 2 ने जवाब दिया और स्पीकर 3 ने बीच में टोका।
ज़्यादातर स्पीकर डायराइज़ेशन सिस्टम चार चरणों वाली पाइपलाइन का पालन करते हैं:

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

आउटपुट में टाइम रेंज से जुड़े स्पीकर लेबल होते हैं, जिन्हें आमतौर पर ट्रांसक्रिप्ट के साथ जोड़ा जाता है। उदाहरण के लिए, दो लोगों की कॉल का डायराइज़ किया गया ट्रांसक्रिप्ट ऐसा दिखता है:
- [speaker_0] कॉल करने के लिए धन्यवाद। मैं आपकी कैसे मदद कर सकता हूँ?
- [speaker_1] नमस्ते, मैं पिछले महीने के अपने इनवॉइस के बारे में कॉल कर रहा हूँ।
- [speaker_0] ज़रूर, मैं इसे खोलता हूँ।
लेबल गुमनाम होते हैं और अंदरूनी तौर पर एक जैसे रहते हैं। Speaker_0 हर बार दिखने पर वही आवाज़ होती है, लेकिन सिस्टम को नहीं पता कि speaker_0 का नाम Fergal है। असली पहचान जोड़ना एक अलग काम है, जिस पर हम नीचे चर्चा करेंगे।
स्पीकर सेगमेंटेशन और स्पीकर आइडेंटिफिकेशन के बीच मुख्य अंतर
स्पीकर सेगमेंटेशन और स्पीकर आइडेंटिफिकेशन, दोनों डायराइज़ेशन से काफ़ी मिलते-जुलते हैं, इसलिए अक्सर इन तीनों को एक-दूसरे के साथ मिला दिया जाता है।
हर एक थोड़ा अलग समस्या हल करता है, इसलिए टूलिंग का आकलन करते समय अंतर समझना ज़रूरी है।
जैसा कि हमने पहले बताया, स्पीकर सेगमेंटेशन डायराइज़ेशन का एक चरण है जो पाइपलाइन में शुरू में होता है। यह बिना लेबल दिए उन सीमाओं का पता लगाता है जहां वक्ता एक आवाज़ से दूसरी आवाज़ में बदलता है। सेगमेंटेशन आपको बताता है कि 0:42 पर बदलाव हुआ। डायराइज़ेशन आगे बढ़कर बने हुए सेगमेंट को ग्रुप करता है और पूरी तरह लेबल किया हुआ आउटपुट देता है, जिससे आपको पता चलता है कि 1:15 पर आने वाली आवाज़ रिकॉर्डिंग की शुरुआत में बोलने वाली वही आवाज़ है।
स्पीकर आइडेंटिफिकेशन, डायराइज़ेशन से अलग क्षमता है, लेकिन अक्सर इसके साथ जोड़ा जाता है। आइडेंटिफिकेशन तय करता है कि वे वक्ता वास्तव में कौन हैं। एक आइडेंटिफिकेशन सिस्टम पहचान लौटाने के लिए ज्ञात वक्ताओं के रेफरेंस का इस्तेमाल करते हुए आवाज़ों की तुलना पंजीकृत वॉइसप्रिंट से करता है। आइडेंटिफिकेशन के बाद speaker_0 और speaker_1, "Fergal" और "Eric" बन जाते हैं।
कई प्रोडक्ट ज़्यादा व्यापक अंतिम ट्रांसक्रिप्ट बनाने के लिए इन टूल को मिलाते हैं। कोई मीटिंग टूल यह अपने-आप कर सकता है (संभवतः Teams या Meet में किसी व्यक्ति के सेट किए नाम जैसे स्ट्रिंग भी लेकर), ताकि हर प्रतिभागी के योगदान को बिना मैन्युअल रिव्यू के नाम से जोड़ा जा सके।

लोकप्रिय ओपन सोर्स स्पीकर डायराइज़ेशन टूल और लाइब्रेरी
जब आपको नियंत्रण, लचीलापन या लोकल डिप्लॉयमेंट चाहिए, तो ओपन सोर्स स्पीकर डायराइज़ेशन टूल पर विचार करना उपयोगी है। सबसे अच्छा विकल्प आपके ऑडियो के प्रकार (फ़ोन कॉल, मीटिंग, पॉडकास्ट, ब्रॉडकास्ट), लेटेंसी की ज़रूरतों और आपके पास उपलब्ध इंजीनियरिंग समय पर निर्भर करता है।
यहां कुछ सबसे लोकप्रिय विकल्प दिए गए हैं।
Pyannote.audio
Pyannote.audio एक PyTorch-आधारित टूलकिट है, जिसे विशेष रूप से स्पीकर डायराइज़ेशन के लिए बनाया गया है और यह सबसे आम इस्तेमाल होने वाले ओपन सोर्स विकल्पों में से एक है। यह VAD, सेगमेंटेशन, एम्बेडिंग और क्लस्टरिंग समेत पूरी डायराइज़ेशन स्टैक कवर करने वाली प्रीट्रेन्ड पाइपलाइन, साथ ही अपने डेटा पर मॉडल को ट्रेन या फाइनट्यून करने के बिल्डिंग ब्लॉक उपलब्ध कराता है।
इसके प्रीट्रेन्ड मॉडल Hugging Face के ज़रिए वितरित किए जाते हैं और बड़े ट्रांसक्रिप्शन प्रोजेक्ट में आमतौर पर डायराइज़ेशन लेयर के रूप में इस्तेमाल होते हैं।
WhisperX
WhisperX OpenAI के Whisper ASR को डायराइज़ेशन और फ़ोर्स्ड अलाइनमेंट के साथ जोड़ता है। Whisper अपने आप में अच्छे ट्रांसक्रिप्ट बनाता है, लेकिन स्पीकर लेबल असाइन नहीं करता और इसके टाइमस्टैम्प सिर्फ़ अनुमानित होते हैं। WhisperX शब्द-स्तर का टाइमस्टैम्प अलाइनमेंट जोड़ता है और pyannote-आधारित डायराइज़ेशन इंटीग्रेट करता है, जिससे ऐसे ट्रांसक्रिप्ट बनते हैं जहां हर शब्द के साथ सटीक टाइमस्टैम्प और स्पीकर लेबल दोनों होते हैं।
NVIDIA NeMo
NVIDIA NeMo अपने व्यापक कन्वर्सेशनल AI फ्रेमवर्क के हिस्से के रूप में डायराइज़ेशन शामिल करता है। यह ट्रेन किए जा सकने वाले डायराइज़ेशन मॉडल देता है, जिनमें ओवरलैपिंग स्पीच संभालने वाले एंड-टू-एंड तरीके शामिल हैं। इसे GPU इन्फ्रास्ट्रक्चर पर बड़े स्तर पर कस्टम स्पीच सिस्टम बनाने वाली टीमों के लिए डिज़ाइन किया गया है।
इनमें से हर टूल में आपको मॉडल डिप्लॉयमेंट, स्केलिंग, मॉनिटरिंग और अपडेट समेत डायराइज़ेशन इन्फ्रास्ट्रक्चर मैनेज करना पड़ता है। जिन टीमों को यह ऑपरेशनल ओवरहेड नहीं चाहिए, उनके लिए मैनेज्ड स्पीच डायराइज़ेशन API एक आसान विकल्प देते हैं। ये मौजूदा वर्कफ़्लो के साथ इंटीग्रेट हो सकते हैं या पूरी डायराइज़ेशन पाइपलाइन संभाल सकते हैं, इसलिए कस्टमर सपोर्ट एनालिटिक्स, मीटिंग ट्रांसक्रिप्शन और पॉडकास्ट प्रोसेसिंग जैसे प्रोडक्शन उपयोग मामलों के लिए उपयुक्त हैं।
रियल-टाइम डायराइज़ेशन: चुनौतियां और उपयोग के मामले
पूरी हो चुकी रिकॉर्डिंग पर डायराइज़ेशन की तुलना में रियल-टाइम डायराइज़ेशन काफ़ी कठिन है, क्योंकि सिस्टम को अधूरे संदर्भ में फैसले लेने पड़ते हैं।
ऑफ़लाइन सिस्टम किसी भी निर्णय से पहले पूरी रिकॉर्डिंग देखता है। वह दूसरे मिनट की आवाज़ की तुलना 40वें मिनट की आवाज़ से कर सकता है और भरोसे से तय कर सकता है कि वे एक ही वक्ता हैं, क्योंकि उसके पास दोनों क्षण एक साथ उपलब्ध होते हैं। रियल-टाइम सिस्टम को यह सुविधा कभी नहीं मिलती, क्योंकि उसे बोलचाल आते ही उसी क्षण लेबल करना होता है; उसे आगे क्या कहा जाएगा, इसकी जानकारी नहीं होती और एक बार फैसला हो जाने पर उसे बदलने का मौका बहुत कम या बिल्कुल नहीं मिलता।
भविष्य के इस गायब संदर्भ के कारण तीन खास समस्याओं को रियल टाइम में हल करना बहुत कठिन हो जाता है:
- लेटेंसी बनाम सटीकता: पूरी बातचीत में आगे-पीछे देखने की क्षमता के बिना, कम रिस्पॉन्स टाइम की ज़रूरत पूरी करने की कीमत सीधे सटीकता से चुकानी पड़ती है।
- ओवरलैपिंग स्पीच: जब लोग एक-दूसरे के ऊपर बोलते हैं, तो ऑडियो को दोबारा प्रोसेस कर सकने वाला सिस्टम इसे अलग कर सकता है। रियल-टाइम सिस्टम को इसे एक ही लेबल में डालना पड़ता है या तुरंत विशेष ओवरलैप-अवेयर मॉडल का सहारा लेना पड़ता है।
- छोटे कथन: तुरंत कहा गया "हां" या "बोलिए" सिस्टम को काम करने के लिए मुश्किल से पर्याप्त आवाज़ देता है और आसपास के संदर्भ का सहारा न होने पर भी उसे तुरंत लेबल तय करना पड़ता है।
मुश्किल होने के बावजूद, कुछ एप्लिकेशन रिकॉर्डिंग खत्म होने का इंतज़ार नहीं कर सकते। लाइव कैप्शनिंग को मीटिंग और ब्रॉडकास्ट में लोगों के बोलते ही स्पीकर लेबल चाहिए। कॉन्टैक्ट सेंटर सॉफ़्टवेयर जो एजेंट्स को कॉल के दौरान मार्गदर्शन देता है, उसे रियल टाइम में यह जानना होता है कि ग्राहक कौन-से शब्द इस्तेमाल कर रहा है। वॉइस एजेंट्स जो कई प्रतिभागियों वाली कॉल संभालते हैं, उन्हें बिना देरी के ट्रैक करना होता है कि कौन क्या पूछ रहा है। हर मामले में, थोड़ा कम सटीक लेकिन तुरंत परिणाम देने वाला सिस्टम, ज़्यादा सटीक लेकिन देरी से परिणाम देने वाले सिस्टम से बेहतर है।
ऐसे वर्कलोड जिनमें वास्तव में रियल-टाइम लेबल की ज़रूरत नहीं होती, जैसे एनालिटिक्स, कंप्लायंस रिव्यू और ट्रांसक्रिप्ट जनरेशन, के लिए बैच डायराइज़ेशन बेहतर विकल्प है क्योंकि यह काफ़ी अधिक सटीक होता है।
स्पीकर डायराइज़ेशन के प्रदर्शन का मूल्यांकन कैसे करें
डायराइज़ेशन की सटीकता मापते समय दो मेट्रिक सबसे अहम हैं: डायराइज़ेशन एरर रेट (DER), जो समग्र सटीकता मापता है, और जैकार्ड एरर रेट (JER), जो जांचता है कि यह सटीकता हर वक्ता के लिए बनी रहती है या नहीं।
DER कुल स्पीच समय के उस हिस्से की गणना करता है जिसे गलत तरीके से एट्रिब्यूट किया गया है। इसमें तीन प्रकार की त्रुटियां शामिल होती हैं:
- फ़ॉल्स अलार्म स्पीच: जब कोई नहीं बोल रहा था, तब सिस्टम ने किसी सेगमेंट को स्पीच लेबल किया।
- मिस्ड स्पीच: कोई बोल रहा था, लेकिन सिस्टम ने उसे खामोशी लेबल किया।
- स्पीकर कन्फ्यूज़न: स्पीच का पता चला, लेकिन उसे गलत वक्ता से जोड़ा गया।
DER = (फ़ॉल्स अलार्म + मिस्ड स्पीच + स्पीकर कन्फ्यूज़न) / कुल स्पीच अवधि
10% DER का मतलब है कि इन तीनों प्रकारों में गलतियां कुल स्पीच समय के दसवें हिस्से के बराबर हैं। कम स्कोर बेहतर है और स्कोर की तुलना केवल तभी की जा सकती है जब उन्हें एक ही परिस्थितियों में एक ही डेटा पर मापा गया हो। DER ऑडियो क्वालिटी, वक्ताओं की संख्या और रिकॉर्डिंग में ओवरलैप की मात्रा के अनुसार बहुत बदलता है।
जैकार्ड एरर रेट (JER) हर वक्ता के लिए डायराइज़ेशन की सटीकता अलग-अलग मापता है, फिर सभी वक्ताओं का औसत निकालता है। हर रेफरेंस वक्ता के लिए, मूल्यांकनकर्ता सिस्टम के सबसे करीबी स्पीकर लेबल का मिलान करता है और उनके सही ओवरलैप समय की तुलना किसी भी वक्ता को असाइन किए कुल समय से करता है।
उदाहरण के लिए, 60 मिनट की ऐसी मीटिंग सोचें जिसमें स्पीकर A 50 मिनट और स्पीकर B 10 मिनट बोलता है। डायराइज़ेशन सिस्टम, स्पीकर A के 50 में से 48 मिनट को सही लेबल करता है, लेकिन स्पीकर B के 10 में से सिर्फ़ 4 मिनट को सही लेबल करता है। समग्र DER फिर भी अपेक्षाकृत अच्छा दिख सकता है, क्योंकि मीटिंग का अधिकांश हिस्सा स्पीकर A का है। JER स्पीकर B के खराब नतीजे को समान महत्व देता है, क्योंकि स्कोर का औसत लेने से पहले वह स्पीकर A और B का स्वतंत्र रूप से मूल्यांकन करता है।
JER_speaker = 1 - (correct_overlap / (ref_time + sys_time - correct_overlap))
अंतिम JER उन प्रति-वक्ता एरर रेट का औसत होता है:
JER = (1 / N) * Σ[JER_speaker_i] जहां i = 1..N
DER और JER, दोनों को ट्रैक करने से डायराइज़ेशन की सटीकता की पूरी तस्वीर मिलती है: समग्र सटीकता के लिए DER और यह जानने के लिए JER कि यह सटीकता हर प्रतिभागी के लिए बनी रहती है या नहीं, जिनमें कम बोलने वाले लोग भी शामिल हैं।
प्रोडक्शन-जैसे ऑडियो पर टेस्टिंग
स्पीकर डायराइज़ेशन सिस्टम का मूल्यांकन करते समय, DER और JER दोनों की गणना ऐसे ऑडियो पर करें जो आपकी वास्तविक डिप्लॉयमेंट परिस्थितियों से मेल खाता हो: सामान्य स्पीकर संख्या, ऑडियो क्वालिटी और क्रॉसटॉक की मात्रा।
प्रकाशित बेंचमार्क स्कोर साफ़, नियंत्रित डेटासेट पर मापे गए हो सकते हैं, जैसे स्टूडियो रिकॉर्डिंग, जो शायद ही वास्तविक कॉल रिकॉर्डिंग या लाइव मीटिंग जैसी सुनाई देती हैं। बेंचमार्क पर अच्छा स्कोर करने वाला सिस्टम भी शोरयुक्त, ओवरलैपिंग, वास्तविक दुनिया के ऑडियो पर काफी खराब प्रदर्शन कर सकता है। डायराइज़ेशन प्रोडक्ट चुनने से पहले अपने डेटा पर टेस्ट करें।
स्पीकर डायराइज़ेशन के लिए ElevenAPI के साथ शुरुआत करें
अगर आप कई वक्ताओं के सपोर्ट वाला ट्रांसक्रिप्शन फीचर बनाने के लिए तैयार हैं, Scribe v2 को ElevenLabs ने स्पीकर डायराइज़ेशन एक ही स्पीच टू टेक्स्ट API के ज़रिए उपलब्ध कराया है। diarize=true के साथ एंडपॉइंट पर ऑडियो भेजें, और JSON रिस्पॉन्स 32 तक वक्ताओं, 90+ भाषाओं और 10 घंटे तक लंबी फ़ाइलों में हर शब्द को स्पीकर ID से लेबल करता है।
दो विकल्प स्टैंडर्ड डायराइज़ेशन आउटपुट को बढ़ाते हैं। कॉल रिकॉर्डिंग के लिए, detect_speaker_roles=true गुमनाम नंबरों के बजाय वक्ताओं को एजेंट और ग्राहक के रूप में लेबल करता है। अगर आपके वर्कस्पेस में रजिस्टर्ड स्पीकर प्रोफ़ाइल हैं, तो use_speaker_library=true डिटेक्ट किए गए वक्ताओं को पंजीकृत आवाज़ों से मिला सकता है, जिससे डायराइज़ेशन और आइडेंटिफिकेशन एक ही रिक्वेस्ट में साथ आ जाते हैं।
एक डायराइज़ेशन थ्रेशोल्ड पैरामीटर आपको वक्ताओं को ज़रूरत से ज़्यादा अलग करने और मर्ज करने के बीच का संतुलन सेट करने देता है। और जब आपके वक्ता पहले से अलग ऑडियो चैनल पर आइसोलेट हों, जैसे स्टीरियो कॉल रिकॉर्डिंग में, मल्टीचैनल ट्रांसक्रिप्शन चैनल के आधार पर वक्ताओं को असाइन करता है और डायराइज़ेशन को पूरी तरह छोड़ देता है।
यह स्पीच टू टेक्स्ट क्विकस्टार्ट पहले इंटीग्रेशन को चरण-दर-चरण समझाता है। रेगुलेटेड डिप्लॉयमेंट के लिए, प्लेटफ़ॉर्म SOC 2, ISO 27001, PCI DSS L1 और HIPAA के अनुरूप है। EU डेटा रेज़िडेंसी और ज़ीरो रिटेंशन मोड भी उपलब्ध हैं।
अपने सिस्टम में स्पीकर डायराइज़ेशन बनाने के लिए तैयार हैं? शुरुआत करें अपनी API key पाकर या अधिक जानने के लिए ElevenLabs Docs देखें।
अक्सर पूछे जाने वाले सवाल
Jack Limebear हमारी ग्रोथ टीम में हैं और ब्लॉग व इनसाइट्स पेज के लिए कंटेंट राइटर और स्ट्रैटेजिस्ट के तौर पर काम करते हैं। ElevenLabs से पहले, उन्होंने दस साल से ज़्यादा समय तक तेज़ी से बढ़ती SaaS स्टार्टअप्स से लेकर Fortune 500 कंपनियों तक के लिए कंटेंट स्ट्रैटेजी लीड की है। उनके पास यूनिवर्सिटी ऑफ़ कैम्ब्रिज से इंग्लिश लिटरेचर में मास्टर डिग्री है।



