पेश है Eleven v4पेश है Eleven v4, हमारा अब तक का सबसे भावपूर्ण मॉडल। 12 अक्टूबर तक Creator+ के साथ 3 गुना क्रेडिट शामिल हैं

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

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 को Voice Activity Detection (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 के लिए साइन अप करें और अपने ऐप्लिकेशन बनाना शुरू करें!

संबंधित लेख

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