Python स्पीच रिकग्निशन ट्यूटोरियल: ऑडियो फ़ाइल से ट्रांसक्रिप्ट तक
- लेखक
- Jack Limebear
- प्रकाशित
- आखिरी बार अपडेट किया गया
सुनेंइस आर्टिकल को सुनें
Python ऐप में स्पीच रिकग्निशन क्षमताएं जोड़ना पहले मुश्किल था। Python डेवलपर्स को ट्रांसक्रिप्शन प्रक्रिया के लिए खुद कोड लिखना पड़ता था, जिसमें ऑडियो प्रीप्रोसेसिंग, फीचर एक्सट्रैक्शन और मॉडल इंटीग्रेशन शामिल थे। साथ ही, इंजीनियरिंग टीम्स को लो-लेवल ऑडियो हैंडलिंग, कमज़ोर ट्रांसक्रिप्शन क्वालिटी और बोले गए शब्दों व लाइव कैप्शन के बीच देरी जैसी चुनौतियों का सामना करना पड़ता था।
ऑडियो मॉडल और स्पीच रिकग्निशन SDKs में प्रगति ने यह बदल दिया है।
इस Python स्पीच रिकग्निशन ट्यूटोरियल में, आप ElevenLabs के स्पीच टू टेक्स्ट ऑडियो मॉडल को अपने Python प्रोजेक्ट में इंटीग्रेट करके कमर्शियल उपयोग के लिए तैयार ट्रांसक्रिप्शन ऐप्स बनाना सीखेंगे।
सारांश
- कमर्शियल स्पीच टू टेक्स्ट मॉडल में स्पीकर डायराइज़ेशन, शब्द-स्तर के टाइमस्टैम्प और कीटर्म प्रॉम्प्टिंग जैसे फीचर्स होते हैं, जो बुनियादी स्पीच रिकग्निशन मॉडल में नहीं होते।
- ElevenAPI, Scribe v2 और Scribe v2 Realtime के साथ आपके Python कोड में स्पीच रिकग्निशन क्षमताएं जोड़ता है।
- डेवलपर्स आधिकारिक API डॉक्यूमेंटेशन के आधार पर सटीक Python कोड जनरेट करने के लिए AI कोडिंग प्लेटफ़ॉर्म पर ElevenLabs skills इंस्टॉल कर सकते हैं।
- कमर्शियल डेवलपमेंट के लिए पेड प्लान लेने से पहले आप ElevenLabs API को मुफ़्त में आजमा सकते हैं।

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

Python स्पीच रिकग्निशन इंटीग्रेशन के लिए आवश्यक तैयारी
हमने यह ट्यूटोरियल ElevenAPI के आधार पर तैयार किया है। यह ElevenLabs की प्रोडक्शन-ग्रेड API है, जो आपके कोड में वॉइस मॉडल के साथ इंटरैक्शन को आसान बनाती है। ElevenAPI से आपको बैच और लाइव ट्रांसक्रिप्शन के लिए हमारे प्रमुख वॉइस मॉडल, Scribe v2 और Scribe v2 Realtime, का एक्सेस मिलता है।
ElevenLabs स्पीच टू टेक्स्ट मॉडल को सीधे एक्सेस करने के बजाय, आप API calls के ज़रिए ऑडियो रिकॉर्डिंग, लाइव स्ट्रीम और आर्ग्युमेंट्स भेजते हैं। फिर ऑडियो मॉडल ऑडियो डेटा को टेक्स्ट में बदल देता है। पूरा होने पर आपको कोड में या webhook के ज़रिए ट्रांसक्रिप्ट मिलते हैं।
शुरू करने के लिए, ये तैयारी के चरण पूरे करें।
- ElevenLabs के लिए साइन अप करें।
- अपनी API key बनाएं।
- एक बातचीत रिकॉर्ड करें और उसे सार्वजनिक रूप से एक्सेस किए जा सकने वाले स्टोरेज में अपलोड करें।
तैयार होने पर अगले सेक्शन पर जाएं।
अपना एनवायरनमेंट सेट अप करना
ElevenLabs मॉडल के साथ इंटीग्रेट करने से पहले, अपनी ElevenLabs API key सुरक्षित रखने के लिए Python एनवायरनमेंट सेट अप करें। सभी API keys की तरह, हम इसे .env फ़ाइल में एनवायरनमेंट वेरिएबल (मैनेज्ड सीक्रेट) के रूप में स्टोर करने की सलाह देते हैं।
API call करते समय आप एनवायरनमेंट वेरिएबल पास करते हैं। इससे पब्लिक नेटवर्क के ज़रिए API requests करते समय API key के गलती से एक्सपोज़ होने से बचाव होता है।
इसके बाद, अपने Python एनवायरनमेंट में ElevenLabs SDK, elevenlabs, इंस्टॉल करने के लिए Bash कमांड चलाएं। SDK आपको कई वॉइस मॉडल एक्सेस करने देता है। इस मामले में, आप Scribe v2 और Scribe v2 Realtime में से चुनते हैं।
आपको python-dotenv भी इंस्टॉल करना होगा, जिससे आपका Python कोड .env फ़ाइल में स्टोर एनवायरनमेंट वेरिएबल्स एक्सेस कर सके।
अपनी पहली ट्रांसक्रिप्शन स्क्रिप्ट लिखना
Python एनवायरनमेंट सेट अप करने के बाद, आप ElevenLabs Scribe v2 का इस्तेमाल करके ऑडियो फ़ाइल ट्रांसक्राइब कर सकते हैं।
ElevenLabs Scribe v2 इंडस्ट्री-लीडिंग स्पीच रिकग्निशन मॉडल है, जो आपको बड़े पैमाने पर ऑडियो फ़ाइलें ट्रांसक्राइब करने देता है। ऑडियो रिकॉर्डिंग में ज़्यादा बैकग्राउंड नॉइज़ होने पर भी यह फोनीम्स को उच्च सटीकता से पहचानता है। ऑडियो ट्रांसक्राइब करने के लिए, रिकॉर्डिंग को ElevenLabs API के ज़रिए मॉडल पर भेजें और पूरा ट्रांसक्रिप्ट पाएं।
नीचे एक Python कोड स्निपेट है, जो ऑडियो फ़ाइल को टाइमस्टैम्प और डायराइज़ेशन वाले ट्रांसक्रिप्ट में बदलता है।
कोड ज़रूरी लाइब्रेरीज़ लोड करता है, जो कोड को चाहिए फ़ंक्शंस देती हैं। यह आपके घोषित किए एनवायरनमेंट वेरिएबल्स को भी प्रोग्राम के एनवायरनमेंट में लोड करता है।
फिर, यह एनवायरनमेंट वेरिएबल में स्टोर API key का इस्तेमाल करके ElevenLabs client बनाता है। इसके बाद यह ऑडियो फ़ाइल डाउनलोड करके उसे बाइनरी डेटा में बदलता है।
रॉ ऑडियो डेटा मिलने के बाद, आप इसे कई पैरामीटर्स के साथ ElevenLabs API को भेजते हैं।
- model_id उस स्पीच-टू-टेक्स्ट मॉडल को बताता है जिसका आप इस्तेमाल करना चाहते हैं। चूंकि आप एक ऑडियो फ़ाइल भेज रहे हैं, Scribe v2 सबसे अच्छा विकल्प है।
- tag_audio_events आपको हंसी, कदमों की आवाज़ और अन्य बैकग्राउंड नॉइज़ जैसे गैर-वाक् सेगमेंट्स हाइलाइट करने देता है।
- language_code रिकॉर्डिंग फ़ाइल में बातचीत की भाषा बताता है। इसे None पर सेट करने पर मॉडल अपने-आप भाषा पहचान लेगा।
- diarize बताता है कि आप मॉडल से वॉइस फ़ुटप्रिंट्स के आधार पर अलग-अलग वक्ताओं की प्रोफ़ाइलिंग और उन्हें अलग करवाना चाहते हैं या नहीं।
अंत में, कोड चलाएं और आपको टर्मिनल में ट्रांसक्राइब किया गया ऑडियो दिखेगा।

Python में स्ट्रीमिंग स्पीच रिकग्निशन
ऊपर दिया उदाहरण बैच ट्रांसक्रिप्शन कवर करता है, जो पहले से रिकॉर्ड की गई फ़ाइलों के लिए उपयुक्त है। लेकिन ElevenLabs ऐसी APIs भी देता है जिनसे आप स्ट्रीमिंग स्पीच रिकग्निशन बना सकते हैं। बैच प्रोसेसिंग से अलग, यह मोड बातचीत के दौरान रीयल टाइम में स्पीच रिकग्निशन चलाकर ट्रांसक्रिप्ट जनरेट करता है।
ऐसा करने के लिए, आप WebSocket API से अपने Python कोड को Scribe v2 Realtime मॉडल से कनेक्ट करते हैं।
Scribe v2 Realtime में 150ms से कम ट्रांसक्रिप्शन लेटेंसी वाली स्ट्रीमिंग-फर्स्ट आर्किटेक्चर है। आप Scribe v2 Realtime का इस्तेमाल मीटिंग एजेंट्स, एक्सेसिबिलिटी टूल्स और वॉइस-एक्टिवेटेड ऑटोमेशन जैसे ऐप्लिकेशन बनाने के लिए करते हैं। ऑडियो स्ट्रीम प्रोसेस करते समय मॉडल आंशिक ट्रांसक्रिप्ट लौटाता है। अंतिम ट्रांसक्रिप्ट वह सिर्फ़ तब लौटाता है, जब कोड अपने-आप या मैन्युअल रूप से कोई ऑडियो सेगमेंट कमिट करता है।
आपके ऑडियो सोर्स और ऐप्लिकेशन के प्रकार के आधार पर, आप सर्वर साइड या क्लाइंट साइड पर ElevenLabs API के साथ स्पीच रिकग्निशन इंटीग्रेट करते हैं।
- क्लाइंट-साइड स्ट्रीमिंग आपको सीधे माइक्रोफ़ोन से या मैन्युअली चंक की गई ऑडियो स्ट्रीम्स से स्ट्रीम करने देती है।
- सर्वर-साइड स्ट्रीमिंग URL या ऑडियो सोर्स से ऑडियो डेटा को वॉइस मॉडल तक भेजती है।
क्लाइंट-साइड और सर्वर-साइड, दोनों स्ट्रीमिंग आपको असिंक्रोनस workflow इस्तेमाल करने देती हैं। API को लगातार पोल करने के बजाय, नतीजे हैंडल करने के लिए WebSockets इस्तेमाल करें। अपने कोड में आपको ऐसे हैंडलर्स बनाने होंगे जो आंशिक और अंतिम ट्रांसक्रिप्ट प्राप्त करें।

आगे बढ़ें: डायराइज़ेशन, टाइमस्टैम्प और कस्टम वोकैब्युलरी
ऑटोमैटिक स्पीच रिकग्निशन के अलावा, ElevenLabs स्पीच टू टेक्स्ट मॉडल डायराइज़ेशन, टाइमस्टैम्प और कस्टम वोकैब्युलरी सपोर्ट करते हैं।
- डायराइज़ेशन: सिर्फ़ बैच ट्रांसक्रिप्शन स्पीकर डायराइज़ेशन सपोर्ट करता है। आप diarize आर्ग्युमेंट सेट करके डायराइज़ेशन सक्षम करते हैं। हालांकि, बैच ट्रांसक्रिप्शन के भीतर का एक मोड, मल्टी-चैनल ट्रांसक्रिप्शन, डायराइज़ेशन सपोर्ट नहीं करता।
- टाइमस्टैम्प: बैच ट्रांसक्रिप्शन करते समय आप शब्द या कैरेक्टर-लेवल टाइमस्टैम्प में से चुन सकते हैं। इसके लिए convert मेथड इस्तेमाल करते समय timestamps_granularity पैरामीटर सेट करें।
- कस्टम वोकैब्युलरी: दोनों रीयल-टाइम और बैच ट्रांसक्रिप्शन कीटर्म प्रॉम्प्टिंग सपोर्ट करते हैं। यह फीचर मॉडल को आपकी सूची में शामिल खास कीटर्म्स ट्रांसक्राइब करने की ओर झुकाता है। Scribe v2 Realtime अधिकतम 50 कीटर्म्स सपोर्ट करता है, जबकि Scribe v2 1,000 कीटर्म्स सपोर्ट करता है।
AI कोडिंग असिस्टेंट्स में ElevenLabs skill का इस्तेमाल
AI कोडिंग असिस्टेंट्स डेवलपमेंट तेज़ करते हैं। अगर आप Claude Code, Cursor, Codex या ऐसे ही AI कोडिंग टूल्स इस्तेमाल करते हैं, तो आप कोडिंग एनवायरनमेंट में ElevenLabs skills जोड़ सकते हैं।
आपको बस अपने प्लेटफ़ॉर्म के टर्मिनल में यह कमांड चलानी है:
AI कोडिंग एजेंट ElevenLabs के GitHub repo से स्पीच-टू-टेक्स्ट skill डाउनलोड करके उसे लोकल skill डायरेक्टरी में इंस्टॉल कर देगा। इससे आप पूरा API इंटीग्रेशन शुरू से लिखने के बजाय ElevenLabs के आधिकारिक डॉक्यूमेंटेशन के आधार पर स्पीच रिकग्निशन के लिए Python कोड अपने-आप जनरेट कर सकते हैं।
इंस्टॉल होने के बाद, आप बातचीत के अंदाज़ में यह बताकर कि कोड क्या करे, स्पीच रिकग्निशन Python कोड जनरेट कर सकते हैं। विवरण के आधार पर, कोडिंग असिस्टेंट सही मॉडल और पैरामीटर्स के साथ स्पीच-टू-टेक्स्ट skill का उपयोग करके अपने-आप कोड जनरेट करता है।
उदाहरण के लिए, अगर आप Codex में “डायराइज़ेशन और शब्द-स्तर के टाइमस्टैम्प के साथ ट्रांसक्राइब करने वाला Python स्पीच रिकग्निशन स्निपेट बनाएं” टाइप करते हैं, तो आपको नीचे दिए स्निपेट जैसा कुछ मिलेगा।

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


