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

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

Python स्पीच रिकग्निशन ट्यूटोरियल: ऑडियो फ़ाइल से ट्रांसक्रिप्ट तक

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

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

किसी Python ऐप में स्पीच रिकग्निशन क्षमताएं जोड़ना पहले मुश्किल था। Python डेवलपर्स को ट्रांसक्रिप्शन प्रक्रिया—जैसे ऑडियो प्रीप्रोसेसिंग, फीचर एक्सट्रैक्शन और मॉडल इंटीग्रेशन—के लिए खुद कोड लिखना पड़ता था। साथ ही, इंजीनियरिंग टीमों को लो-लेवल ऑडियो हैंडलिंग, कमज़ोर ट्रांसक्रिप्शन क्वालिटी और बोले गए शब्दों व लाइव कैप्शन के बीच देरी जैसी समस्याओं से जूझना पड़ता था। 

ऑडियो मॉडल और स्पीच रिकग्निशन SDKs में प्रगति ने यह बदल दिया है।

इस Python स्पीच रिकग्निशन ट्यूटोरियल में, आप ElevenLabs के स्पीच टू टेक्स्ट ऑडियो मॉडल को अपने Python प्रोजेक्ट में इंटीग्रेट करना सीखेंगे, ताकि कमर्शियल इस्तेमाल के लिए तैयार ट्रांसक्रिप्शन ऐप्स बना सकें। 

सारांश

  • कमर्शियल स्पीच टू टेक्स्ट मॉडल में स्पीकर डायरीकरण, शब्द-स्तर के टाइमस्टैम्प और कीटर्म प्रॉम्प्टिंग जैसी सुविधाएं होती हैं, जो बेसिक स्पीच रिकग्निशन मॉडल में नहीं होतीं। 
  • ElevenAPI, Scribe v2 और Scribe v2 Realtime के साथ आपके Python कोड में स्पीच रिकग्निशन क्षमताएं जोड़ता है। 
  • डेवलपर्स आधिकारिक API डॉक्यूमेंटेशन के आधार पर सटीक Python कोड जनरेट करने के लिए AI कोडिंग प्लेटफ़ॉर्म पर ElevenLabs स्किल्स इंस्टॉल कर सकते हैं। 
  • कमर्शियल डेवलपमेंट के लिए पेड प्लान लेने से पहले आप ElevenLabs API को मुफ़्त में आजमा सकते हैं। 
Five steps for Python speech recognition tutorial: setup, transcription, streaming, and enterprise features.

इस Python स्पीच रिकग्निशन ट्यूटोरियल में क्या शामिल है

इस ट्यूटोरियल में प्रीरिक्विज़िट्स, API इंटीग्रेशन और उन्नत ट्रांसक्रिप्शन सुविधाएं शामिल हैं, जो एंटरप्राइज़ उपयोग के मामलों के लिए स्पीच रिकग्निशन Python ऐप बनाने में मदद करती हैं।  

हाल के वर्षों में स्पीच रिकग्निशन काफी उन्नत हुआ है, खासकर क्योंकि लार्ज लैंग्वेज मॉडल और डीप लर्निंग न्यूरल नेटवर्क ने Python डेवलपर्स के ट्रांसक्रिप्शन SDKs इस्तेमाल करने का तरीका बदल दिया है। कई ट्यूटोरियल बेसिक ट्रांसक्रिप्शन ऐप बनाना दिखाते हैं, लेकिन कम ही ट्यूटोरियल कमर्शियल इस्तेमाल के लिए तैयार प्रोडक्ट की ज़रूरी सुविधाओं को कवर करते हैं।

हमने इस कमी को पूरा करने के लिए यह ट्यूटोरियल लिखा है। 

उदाहरण के लिए, कई एंटरप्राइज़ ट्रांसक्रिप्शन समाधानों में ये सुविधाएं चाहिए होती हैं:

  • स्पीकर डायरीकरण: ट्रांसक्रिप्ट में अलग-अलग स्पीकर्स की पहचान करने और उन्हें अलग करने की क्षमता।
  • टाइमस्टैम्प: हर शब्द को बोले जाने के सापेक्ष घंटे, मिनट और सेकंड के साथ सटीक रूप से टैग करना। 
  • बहुभाषी सपोर्ट: कम वर्ड एरर रेट के साथ एक ही रिकॉर्डिंग या लाइव स्ट्रीम में अलग-अलग भाषाओं के भाषण कैप्चर करता है। 
  • कीटर्म प्रॉम्प्टिंग: गलत वर्तनी वाले ट्रांसक्रिप्शन से बचने के लिए ब्रांड, प्रोडक्ट नाम और तकनीकी शब्दों जैसे खास शब्दों को मैप करना। 
  • लो-लेटेंसी ट्रांसक्रिप्शन: मिलीसेकंड में मिलने वाला स्पीच-टू-टेक्स्ट रिस्पॉन्स, जो रियल-टाइम ट्रांसक्रिप्शन ऐप्स को चलाता है। 

नोट: यह ट्यूटोरियल हॉबी या निजी प्रोजेक्ट के लिए साधारण पर्सनल स्क्रिप्ट बनाने से आगे जाता है। इसमें स्पीच टू टेक्स्ट API इंटीग्रेशन के ऊपर बनने वाला एप्लिकेशन लॉजिक शामिल नहीं है, क्योंकि यह हर बिज़नेस के लिए अलग होता है। 

Enterprise transcription needs: diarization, word timestamps, languages, keyterms, and low latency.

Python स्पीच रिकग्निशन इंटीग्रेशन के लिए प्रीरिक्विज़िट्स 

हमने इस ट्यूटोरियल को ElevenAPI के आधार पर तैयार किया है। यह ElevenLabs का प्रोडक्शन-ग्रेड API है, जो आपके कोड में वॉइस मॉडल के साथ इंटरैक्शन को आसान बनाता है। ElevenAPI के साथ आपको बैच और लाइव ट्रांसक्रिप्शन के लिए हमारे प्रमुख वॉइस मॉडल Scribe v2 और Scribe v2 Realtime मिलते हैं। 

ElevenLabs स्पीच टू टेक्स्ट मॉडल को सीधे एक्सेस करने के बजाय, आप API कॉल के ज़रिए ऑडियो रिकॉर्डिंग, लाइव स्ट्रीम और आर्ग्युमेंट्स भेजते हैं। फिर ऑडियो मॉडल ऑडियो डेटा को टेक्स्ट में बदलता है। काम पूरा होने पर आपको ट्रांसक्रिप्ट कोड में या वेबहुक के ज़रिए मिलते हैं। 

शुरू करने के लिए, ये तैयारी के चरण पूरे करें। 

  1. ElevenLabs के लिए साइन अप करें।
  2. अपनी API key बनाएं।
  3. एक बातचीत रिकॉर्ड करें और उसे पब्लिकली एक्सेस किए जा सकने वाले स्टोरेज में अपलोड करें। 

तैयार होने के बाद, अगले सेक्शन पर जाएं। 

अपना एनवायरनमेंट सेट अप करना 

ElevenLabs मॉडल के साथ इंटीग्रेट करने से पहले, अपनी ElevenLabs API key को सुरक्षित रखने के लिए Python एनवायरनमेंट सेट अप करें। अन्य सभी API keys की तरह, हम इसे .env फ़ाइल में एनवायरनमेंट वैरिएबल (मैनेज्ड सीक्रेट) के रूप में स्टोर करने की सलाह देते हैं। 

ELEVENLABS_API_KEY=<your_api_key_here>

API कॉल करते समय आप एनवायरनमेंट वैरिएबल पास करते हैं। इससे पब्लिक नेटवर्क के ज़रिए API रिक्वेस्ट करते समय API key गलती से एक्सपोज़ होने से बचती है। 

इसके बाद, अपने Python एनवायरनमेंट में ElevenLabs SDK, elevenlabs, इंस्टॉल करने के लिए Bash कमांड चलाएं। SDK आपको कई वॉइस मॉडल एक्सेस करने देता है। यहां आप Scribe v2 और Scribe v2 Realtime में से चुनते हैं।

pip install elevenlabs
pip install python-dotenv

आपको python-dotenv भी इंस्टॉल करना होगा, जिससे आपका Python कोड .env फ़ाइल में स्टोर एनवायरनमेंट वैरिएबल एक्सेस कर सकता है। 

अपनी पहली ट्रांसक्रिप्शन स्क्रिप्ट लिखना 


Python एनवायरनमेंट सेट अप करने के बाद, आप ElevenLabs Scribe v2 का इस्तेमाल करके ऑडियो फ़ाइल ट्रांसक्राइब कर सकते हैं। 

ElevenLabs Scribe v2 इंडस्ट्री-लीडिंग स्पीच रिकग्निशन मॉडल है, जो आपको बड़े पैमाने पर ऑडियो फ़ाइलें ट्रांसक्राइब करने देता है। ऑडियो रिकॉर्डिंग में काफी बैकग्राउंड नॉइज़ होने पर भी यह फोनीम्स को सटीकता से पहचानता है। ऑडियो ट्रांसक्राइब करने के लिए आप ElevenLabs API के ज़रिए रिकॉर्डिंग मॉडल को भेजते हैं और पूरा ट्रांसक्रिप्ट प्राप्त करते हैं। 

नीचे एक Python कोड स्निपेट है, जो ऑडियो फ़ाइल को टाइमस्टैम्प और स्पीकर डायरीकरण वाले ट्रांसक्रिप्ट में बदलता है। 

# example.py
import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio_url = (
    "https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)

transcription = elevenlabs.speech_to_text.convert(
    file=audio_data,
    model_id="scribe_v2", # Model to use
    tag_audio_events=True, # Tag audio events like laughter, applause, etc.
    language_code="eng", # Language of the audio file. If set to None, the model will detect the language automatically.
    diarize=True, # Whether to annotate who is speaking
)

print(transcription)

कोड ज़रूरी लाइब्रेरी लोड करता है, जो कोड के लिए आवश्यक फ़ंक्शन उपलब्ध कराती हैं। यह आपके बताए गए एनवायरनमेंट वैरिएबल भी प्रोग्राम के एनवायरनमेंट में लोड करता है। 

फिर यह एनवायरनमेंट वैरिएबल में स्टोर API key का उपयोग करके एक ElevenLabs क्लाइंट बनाता है। इसके बाद यह ऑडियो फ़ाइल डाउनलोड करके उसे बाइनरी डेटा में बदलता है। 

रॉ ऑडियो डेटा मिलने के बाद, आप उसे कई पैरामीटर्स के साथ ElevenLabs API पर भेजते हैं।

  • model_id उस स्पीच-टू-टेक्स्ट मॉडल को बताता है, जिसका आप इस्तेमाल करना चाहते हैं। चूंकि आप एक ऑडियो फ़ाइल भेज रहे हैं, इसलिए Scribe v2 सबसे अच्छा विकल्प है।
  • tag_audio_events आपको हंसी, कदमों की आवाज़ और दूसरे बैकग्राउंड नॉइज़ जैसे गैर-वाक् सेगमेंट को हाइलाइट करने देता है।
  • language_code रिकॉर्डिंग फ़ाइल में बातचीत की भाषा को दर्शाता है। इसे None पर सेट करने पर मॉडल भाषा को अपने-आप पहचान लेगा। 
  • diarize दर्शाता है कि क्या आप चाहते हैं कि मॉडल वॉइस फ़ुटप्रिंट के आधार पर अलग-अलग स्पीकर्स की प्रोफ़ाइल बनाए और उन्हें अलग करे।

आखिर में, कोड चलाएं और आपको टर्मिनल में ट्रांसक्राइब किया गया ऑडियो दिखेगा। 

Speech-to-text API parameters: model, audio events, language, and speaker diarization.

Python में स्ट्रीमिंग स्पीच रिकग्निशन

ऊपर दिया गया उदाहरण बैच ट्रांसक्रिप्शन को कवर करता है, जो पहले से रिकॉर्ड की गई फ़ाइलों के लिए उपयुक्त है। हालांकि, ElevenLabs ऐसे API भी देता है जिनसे आप स्ट्रीमिंग स्पीच रिकग्निशन बना सकते हैं। बैच प्रोसेसिंग के विपरीत, यह मोड बातचीत के दौरान रियल टाइम में स्पीच रिकग्निशन चलाकर ट्रांसक्रिप्ट जनरेट करता है। 

ऐसा करने के लिए, आप WebSocket API का उपयोग करके अपने Python कोड को Scribe v2 Realtime मॉडल से कनेक्ट करते हैं। 

Scribe v2 Realtime में स्ट्रीमिंग-फर्स्ट आर्किटेक्चर है और इसकी ट्रांसक्रिप्शन लेटेंसी 150ms से कम है। आप Scribe v2 Realtime का इस्तेमाल मीटिंग एजेंट्स, एक्सेसिबिलिटी टूल्स और वॉइस-एक्टिवेटेड ऑटोमेशन जैसे ऐप्स बनाने के लिए करते हैं। मॉडल ऑडियो स्ट्रीम प्रोसेस करते समय आंशिक ट्रांसक्रिप्ट लौटाता है। यह अंतिम ट्रांसक्रिप्ट तभी लौटाता है जब कोड किसी ऑडियो सेगमेंट को अपने-आप या मैन्युअली कमिट करता है। 

अपने ऑडियो सोर्स और एप्लिकेशन टाइप के आधार पर, आप स्पीच रिकग्निशन को ElevenLabs API के साथ सर्वर साइड या क्लाइंट साइड पर इंटीग्रेट करते हैं। 

क्लाइंट-साइड और सर्वर-साइड, दोनों तरह की स्ट्रीमिंग में आप असिंक्रोनस वर्कफ़्लो इस्तेमाल कर सकते हैं। API को लगातार पोल करने के बजाय, नतीजे संभालने के लिए WebSockets का उपयोग करें। अपने कोड में आपको ऐसे हैंडलर्स बनाने होंगे, जो आंशिक और अंतिम ट्रांसक्रिप्ट पाएं। 

Scribe v2 transcribes prerecorded files; Realtime streams live audio with under-150 ms latency.

आगे बढ़ें: डायरीकरण, टाइमस्टैम्प और कस्टम शब्दावली 

ऑटोमैटिक स्पीच रिकग्निशन के अलावा, ElevenLabs स्पीच टू टेक्स्ट मॉडल डायरीकरण, टाइमस्टैम्प और कस्टम शब्दावली को सपोर्ट करते हैं। 

  • डायरीकरण: केवल बैच ट्रांसक्रिप्शन स्पीकर डायरीकरण को सपोर्ट करता है। आप diarize आर्ग्युमेंट सेट करके डायरीकरण चालू करते हैं। हालांकि, बैच ट्रांसक्रिप्शन के एक मोड मल्टी-चैनल ट्रांसक्रिप्शन में डायरीकरण सपोर्ट नहीं होता।
  • टाइमस्टैम्प: बैच ट्रांसक्रिप्शन करते समय आप शब्द या कैरेक्टर-लेवल टाइमस्टैम्प में से चुन सकते हैं। इसके लिए convert मेथड इस्तेमाल करते समय timestamps_granularity पैरामीटर सेट करें।  
  • कस्टम शब्दावली: रियल-टाइम और बैच ट्रांसक्रिप्शन दोनों कीटर्म प्रॉम्प्टिंग को सपोर्ट करते हैं। यह सुविधा मॉडल को सूची में शामिल खास कीटर्म ट्रांसक्राइब करने की दिशा में प्रेरित करती है। Scribe v2 Realtime अधिकतम 50 कीटर्म सपोर्ट करता है, जबकि Scribe v2 1,000 कीटर्म सपोर्ट करता है। 

AI कोडिंग असिस्टेंट में ElevenLabs स्किल का उपयोग

AI कोडिंग असिस्टेंट डेवलपमेंट को तेज़ करते हैं। अगर आप Claude Code, Cursor, Codex या ऐसे ही AI कोडिंग टूल्स इस्तेमाल करते हैं, तो कोडिंग एनवायरनमेंट में ElevenLabs स्किल्स जोड़ सकते हैं। 

आपको बस अपने प्लेटफ़ॉर्म के टर्मिनल में यह कमांड चलानी है:

 npx skills add elevenlabs/skills --skill speech-to-text 

AI कोडिंग एजेंट ElevenLabs के GitHub रेपो से स्पीच-टू-टेक्स्ट स्किल डाउनलोड करके लोकल स्किल डायरेक्टरी में इंस्टॉल करेगा। इससे आप पूरी API इंटीग्रेशन शुरुआत से लिखने के बजाय ElevenLabs के आधिकारिक डॉक्यूमेंटेशन के आधार पर स्पीच रिकग्निशन के लिए Python कोड अपने-आप जनरेट कर सकते हैं। 

इंस्टॉल होने के बाद, आप बातचीत की भाषा में यह बताकर कि कोड को क्या करना है, स्पीच रिकग्निशन Python कोड जनरेट कर सकते हैं। आपके विवरण के आधार पर, कोडिंग असिस्टेंट सही मॉडल और पैरामीटर्स के साथ स्पीच-टू-टेक्स्ट स्किल का इस्तेमाल कर अपने-आप कोड जनरेट करता है।

उदाहरण के लिए, अगर आप Codex में “डायरीकरण और शब्द-स्तर के टाइमस्टैम्प के साथ ट्रांसक्राइब करने वाला Python स्पीच रिकग्निशन स्निपेट बनाएं” टाइप करते हैं, तो आपको नीचे दिए गए जैसा स्निपेट मिलेगा। 

Chat showing Python code for ElevenLabs speech transcription with speaker diarization and word timestamps.

स्पीच रिकग्निशन के लिए ElevenAPI के साथ शुरू करें

ElevenAPI आपको Python में स्पीच रिकग्निशन ऐप्स बनाने के लिए उन्नत स्पीच टू टेक्स्ट मॉडल एक्सेस करने देता है।

ElevenAPI का उपयोग करके आप शुरुआत से इंटीग्रेशन कोड लिखने से बचते हैं, जिससे प्रोडक्ट इनोवेशन में देरी होती है। इसके बजाय, आप ऐसे SDKs का उपयोग करते हैं जो कीटर्म प्रॉम्प्टिंग, डायरीकरण और टाइमस्टैम्प जैसी कमर्शियल-ग्रेड ज़रूरतें पूरी करने वाली स्पीच टू टेक्स्ट सेवाएं उपलब्ध कराते हैं। 

अपनी ElevenLabs API key अभी पाएं और API कैसे काम करता है, यह जानने के लिए हमारा आधिकारिक डॉक्यूमेंटेशन देखें। 

अक्सर पूछे जाने वाले सवाल

लेखक

Jack Limebear हमारी ग्रोथ टीम में हैं और ब्लॉग व इनसाइट्स पेज के लिए कंटेंट राइटर और स्ट्रैटेजिस्ट के तौर पर काम करते हैं। ElevenLabs से पहले, उन्होंने दस साल से ज़्यादा समय तक तेज़ी से बढ़ती SaaS स्टार्टअप्स से लेकर Fortune 500 कंपनियों तक के लिए कंटेंट स्ट्रैटेजी लीड की है। उनके पास यूनिवर्सिटी ऑफ़ कैम्ब्रिज से इंग्लिश लिटरेचर में मास्टर डिग्री है।

संबंधित लेख

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