पेश है Eleven v4पेश है Eleven v4, हमारा अब तक का सबसे भावपूर्ण मॉडल।

कंटेंट पर जाएं

Scribe v2 Realtime कैसे काम करता है

लेखक
Tadas Petra
प्रकाशित
आखिरी बार अपडेट किया गया

सुनेंइस आर्टिकल को सुनें

Scribe v2 Realtime एक बेहद तेज़ स्पीच टू टेक्स्ट मॉडल है, जिसका इस्तेमाल लाइव ट्रांसक्रिप्शन के लिए किया जा सकता है। गति और गुणवत्ता का यह संयोजन ऐसे उपयोग मामलों को संभव बनाता है, जो पहले संभव नहीं थे।

उदाहरण के लिए, हम Scribe v2 Realtime और Chrome Translator API का इस्तेमाल करके यह रीयल-टाइम भाषा अनुवादक बना पाए।

Live transcription on the left and committed transcripts on the right in a list

अगर आप इस डेमो का चरण-दर-चरण ट्यूटोरियल चाहते हैं, तो वह आपको यहाँ मिल जाएगा। यह गाइड Scribe v2 Realtime और इसके काम करने के तरीके की उच्च-स्तरीय समझ पर केंद्रित है।

मॉडल

ElevenLabs ऑडियो ट्रांसक्राइब करने के लिए दो मॉडल देता है: Scribe v2 और Scribe v2 Realtime।

Optimized For
Scribe v2
Accuracy
Scribe v2 Realtime
Ultra low latency
Use Case
Scribe v2
Batch transcription, subtitling, and captioning at scale.
Scribe v2 Realtime
Voice agents, meeting notetakers, and other live applications.

Scribe v2 ऐसे ट्रांसक्रिप्शन के लिए बेहतरीन विकल्प है जो असिंक्रोनस हो सकते हैं, जबकि Scribe v2 Realtime तब इस्तेमाल होता है जब आपको लाइव ट्रांसक्रिप्शन चाहिए।

लाइव भाषा अनुवाद ऐप्लिकेशन के लिए Scribe v2 Realtime एक स्पष्ट विकल्प है।

API

इस मॉडल का इस्तेमाल करने के लिए, आपको स्पीच टू टेक्स्ट API का इस्तेमाल करना होगा। शुरू करने के लिए आपको ये दो चरण पूरे करने होंगे:

  1. Scribe इंस्टेंस इनिशियलाइज़ करें
  2. API से कनेक्ट करें

आप इस API को कहाँ से कॉल कर रहे हैं, इसके आधार पर आपको इसे अलग तरीके से इनिशियलाइज़ करना होगा। अगर आप इसे सर्वर-साइड से कॉल कर रहे हैं, तो API key के साथ सीधे इनिशियलाइज़ कर सकते हैं और फिर उस इंस्टेंस से Scribe v2 Realtime से कनेक्ट कर सकते हैं।

लेकिन, क्लाइंट को API key दिखाना एक बड़ा सुरक्षा जोखिम है। इसलिए, अगर आप क्लाइंट-साइड से स्ट्रीमिंग कर रहे हैं, तो आपको सिंगल-यूज़ टोकन से इनिशियलाइज़ करना होगा।

API key की सुरक्षा के लिए यह टोकन सर्वर-साइड पर जनरेट करना ज़रूरी है।

चूँकि हम एक React ऐप्लिकेशन बना रहे हैं, इसलिए हम टोकन वाला तरीका अपनाएँगे। यह टोकन कनेक्शन के दौरान भेजा जाता है, इसलिए Scribe इंस्टेंस बनाना आसान हो जाता है।

import { useScribe } from "@elevenlabs/react";

function MyComponent() {
  const scribe = useScribe({
    modelId: "scribe_v2_realtime",
  });
  
  //...
}

Scribe v2 Realtime से कनेक्ट करना

सही तरीके से इनिशियलाइज़ करने के बाद, आप Scribe v2 Realtime से कनेक्ट कर सकते हैं। React भाषा अनुवाद प्रोजेक्ट के लिए हमने क्लाइंट-साइड स्ट्रीमिंग का इस्तेमाल किया, इसलिए हमें बैकएंड से सिंगल-यूज़ टोकन चाहिए था। API से हर बार कनेक्ट करते समय यह टोकन जनरेट करके पास करना होगा।

const handleStart = async () => {
  const token = await fetchTokenFromServer();

  await scribe.connect({
    token,
    microphone: {
	  echoCancellation: true,
	  noiseSuppression: true,
    },
  });
};


कमिट रणनीति

Scribe v2 Realtime के साथ काम करते समय, ट्रांसक्रिप्ट दो प्रकार के होते हैं: आंशिक और कमिट किए गए।

आंशिक ट्रांसक्रिप्ट ही “लाइव ट्रांसक्रिप्ट” होते हैं। यह ट्रांसक्रिप्शन websocket के ज़रिए होता है और आपके बोलने के साथ आपको वापस मिलता है। इसलिए अगर आप कहते हैं “बिल्ली है ...”, तो ये शब्द आपको रीयल-टाइम में स्ट्रीम होते दिखेंगे।

दूसरा प्रकार कमिट किया गया ट्रांसक्रिप्ट है। ट्रांसक्रिप्शन सेगमेंट में काम करता है। आप ट्रांसक्रिप्शन को कब और कैसे कमिट करते हैं, इससे तय होता है कि ट्रांसक्रिप्ट कैसे सेगमेंट में बँटेगा। इसके लिए आपको कमिट रणनीति तय करनी होगी।

कमिट रणनीतियों के दो विकल्प हैं। पहला विकल्प मैन्युअल है, जिसमें ट्रांसक्रिप्ट कब कमिट होंगे, यह तय करने का पूरा नियंत्रण आपके पास होता है। इसके लिए सबसे अच्छा तरीका है कि इसे खामोशी के दौरान या अन्य तार्किक बिंदुओं पर किया जाए, जैसे टर्न मॉडल।

दूसरा विकल्प यह है कि आप Scribe v2 Realtime को वॉइस ऐक्टिविटी डिटेक्शन (VAD) का इस्तेमाल करके खुद ही बेहतर सेगमेंट तय करने दें। यह तरीका बोलने और खामोशी वाले सेगमेंट को अपने-आप पहचानता है। खामोशी की सीमा पूरी होने पर ट्रांसक्रिप्शन इंजन ट्रांसक्रिप्ट सेगमेंट को अपने-आप कमिट कर देगा।

आपको कमिट रणनीति की ज़रूरत ही क्यों है?

आपके बोलते समय Scribe v2 Realtime हर शब्द को ट्रांसक्राइब करता है। इसलिए अगर आप कहते हैं “मैं चीखता हूँ...”, तो इसे “आइसक्रीम...” के रूप में पहचाना जा सकता है। लेकिन जब पूरे सेगमेंट का संदर्भ मिलता है, जैसे “मैं बाथरूम में मकड़ी देखकर हर बार चीखता हूँ,” तो आउटपुट ज़्यादा सटीक होता है।

इसलिए आंशिक ट्रांसक्रिप्ट रीयल-टाइम में दिखाए जा सकते हैं, जबकि कमिट किए गए ट्रांसक्रिप्ट बातचीत के इतिहास का ज़्यादा सटीक ट्रांसक्रिप्शन दे सकते हैं।

ट्रांसक्रिप्शन दिखाएँ

Scribe v2 Realtime से कनेक्ट होने के बाद ट्रांसक्रिप्शन शुरू हो जाता है। आप partialTranscript और committedTranscripts प्रॉपर्टीज़ से ट्रांसक्रिप्ट ऐक्सेस कर सकते हैं।

<div>
  <button onClick={handleStart} disabled={scribe.isConnected}>
	Start Recording
  </button>
  <button onClick={scribe.disconnect} disabled={!scribe.isConnected}>
	Stop
  </button>

  {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>}

  <div>
	{scribe.committedTranscripts.map((t) => (
	  <p key={t.id}>{t.text}</p>
	))}
  </div>
</div>

partialTranscript उस मौजूदा सेगमेंट का रीयल-टाइम ट्रांसक्रिप्ट है, जिसे ट्रांसक्राइब किया जा रहा है। committedTranscript बातचीत का इतिहास है और यह उन सेगमेंट की सूची है, जिन्हें Scribe v2 Realtime से कनेक्ट रहते हुए कमिट किया गया है।

AI के साथ अनुवाद करें

अपनी बातचीत के रीयल-टाइम ट्रांसक्रिप्ट पाने के लिए आपको बस इतना ही करना है। अब आप इस ऐप में अच्छा UI जोड़ सकते हैं या लाइव भाषा अनुवाद जैसी और सुविधाएँ भी शामिल कर सकते हैं।

डेमो वाला रीयल-टाइम भाषा अनुवादक बनाने के लिए, आप ट्रांसक्रिप्ट को Chrome AI Translator API को भेजते हैं और आउटपुट रीयल-टाइम में दिखाते हैं।

बनाना शुरू करें

पढ़ने के लिए धन्यवाद! ElevenLabs के लिए साइन अप करें और अपने ऐप्लिकेशन बनाना शुरू करें!

लेखक

Tadas Petra एक डेवलपर रिलेशंस इंजीनियर हैं, जो डेवलपर्स को ElevenLabs के प्रोडक्ट्स के साथ काम करने में मदद करते हैं। वह Hungrimind के फाउंडर भी हैं, जो एक डेवलपर एजुकेशन प्लेटफॉर्म है। इससे पहले, वह Agora में लीड डेवलपर एडवोकेट और Zero To Mastery में इंस्ट्रक्टर थे।

संबंधित लेख

उच्चतम गुणवत्ता वाले AI ऑडियो के साथ बनाएं