1. वाणी मॉडलों का अवलोकन

1.1. ओपनएआई के TTS और STT मॉडल का परिचय

टेक्स्ट-टू-स्पीच (TTS) मॉडल

OpenAI का TTS मॉडल पाठ डेटा को ध्वनि उत्पादन में बदल सकता है। यह प्रक्रिया पाठ विश्लेषण, ध्वनि संश्लेषण एल्गोरिदम के लागू होने और ध्वनि गुणवत्ता को समायोजित करने की बात करती है। यह कंप्यूटर को किसी भी लिखित पाठ को पढ़ने की क्षमता प्रदान करता है, जिससे सामग्री समझने और पहुंचने आसान हो जाती है। TTS, दृष्टिहीन व्यक्तियों, ड्राइवर्स, या किसी को जो सुनकर सूचना प्राप्त करना पसंद करता है, के लिए एक महत्वपूर्ण प्रौद्योगिकी है।

स्पीच-टू-टेक्स्ट (STT) मॉडल

TTS के संगत, STT मॉडल ध्वनि सूचना को लिखित पाठ में बदल सकता है। मूल ऑडियो इनपुट को प्रसंस्करण करते समय, STT सिस्टम पहले ध्वनि पत्ता लगाता है, फिर विशेषता निकालना सुनिश्चित करता है। फिर यह ऑडियो सिग्नल को अकूस्टिक और भाषा मॉडल का उपयोग करके शब्दकोश से मैप करता है, अंततः पाठ आउटपुट उत्पन्न करता है। STT प्रौद्योगिकी मुख्य रूप से व्यावसायिक स्तर पर बोली जाने वाली भाषा, मीटिंग ट्रांसक्रिप्शन, और वास्तविक समय में कैप्शन जनरेशन स्थितियों में उपयोग की जाती है।

1.2. अनुप्रयोग स्थिति

  • ब्लॉग आउट लाउडिंग
  • बहुभाषी भाषण उत्पादन

3. टेक्स्ट-टू-स्पीच एपीआई

3.1. त्वरित प्रारंभ

इस अनुभाग में, हम दिखाएंगे कि curl कमांड और Python क्लाइंट का उपयोग करके जल्दी से पाठ को ध्वनि में कैसे बदला जा सकता है। चाहे आप डेवलपर हों या गैर-तकनीकी उपयोगकर्ता, आप API अनुरोध भेजकर आसानी से ध्वनि फ़ाइलें उत्पन्न कर सकते हैं।

Curl कमांड का उपयोग

कर्ल कमांड लाइन टूल का उपयोग करके ध्वनि उत्पन्न करने के लिए निम्नलिखित चरणों का पालन करें:

  1. सुनिश्चित करें कि आपके सिस्टम पर कर्ल स्थापित है और आपके पास एक वैध OpenAI API कुंजी है।
  2. निम्नलिखित कर्ल कमांड का प्रयोग करें पाठ को ध्वनि में बदलने के लिए:
curl https://api.openai.com/v1/audio/speech \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Today is a great day to build products people love!",
    "voice": "alloy"
  }' \
  --output speech.mp3

उपरोक्त कमांड में, $OPENAI_API_KEY आपकी API कुंजी को प्रतिनिधित करता है, input फ़ील्ड वह पाठ है जिसे आप बदलना चाहते हैं, model फ़ील्ड आवाज मॉडल का प्रयोग करने के लिए है, और voice मानक आवाज का चयन करता है। यहां, हम alloy को सिंथेटिक धातु आवाज चुनते हैं। अंतिम --output विकल्प निर्माण की नाम और प्रारूप को निर्दिष्ट करता है।

पाइथन क्लाइंट का प्रयोग

यदि आप पाइथन प्रोग्रामिंग भाषा का उपयोग करना पसंद करते हैं, तो आप निम्नलिखित कोड उदाहरण का उपयोग कर सकते हैं:

from openai import OpenAI

client = OpenAI()

response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="Today is a great day to build products people love!"
)

response.stream_to_file("output.mp3")

इस कोड स्निपेट में, हम पहले openai पुस्तकालय को आयात करते हैं और OpenAI के क्लाइंट की एक उदाहरण बनाते हैं। फिर, हम audio.speech.create विधि का प्रयोग करके एक अनुरोध भेजते हैं, मॉडल, आवाज, और परिणाम आउटपुट के लिए पाठ निर्धारित करते हैं। अंत में, हम stream_to_file विधि का प्रयोग करके उत्पन्न ध्वनि स्ट्रीम को एक फ़ाइल में सहेजने का कार्य करते हैं।

3.2. ध्वनि गुणवत्ता और आवाज का चयन

अपने प्रोजेक्ट के लिए सही ध्वनि गुणवत्ता और आवाज का चयन करना सबसे महत्वपूर्ण चरण में से एक है ताकि उपयोगकर्ता अनुभव में सर्वश्रेष्ठता सुनिश्चित हो। हमारी API गुणवत्ता मॉडल्स के लिए दो विकल्प प्रदान करती है: tts-1 और tts-1-hd

  • tts-1: लो लेटेंसी प्रदान करता है, ताकि रियल-टाइम अनुप्रयोगों के लिए उपयुक्त हो, लेकिन उपयोगकर्ता अनुभव के साथ उपयुक्त ध्वनि गुणवत्ता के साथ।
  • tts-1-hd: उच्च गुणवत्ता ध्वनि उत्पादन की आवश्यकता पूरी करता है, गैर-रियल-टाइम उच्च गुणवत्ता ध्वनि उत्पादन आवश्यकताओं के लिए उपयुक्त है।

साथ ही, OpenAI के TTS API में विभिन्न आवाज विकल्प प्रदान किए जाते हैं:

  • एलॉय
  • इको
  • फेबल
  • ओनिक्स
  • नोवा
  • शिमर

प्रोजेक्ट आवश्यकताओं और लक्ष्य दर्शक के आधार पर, आप सार्वजनिक बोली भाषण नमूनों का परीक्षण करके सबसे उचित आवाज चुन सकते हैं। उच्चारण शैली, वाणी दर, और उच्चारण की स्वीकृति जैसे कारकों को ध्यान में रखकर एक ऐसी आवाज ढूंढें जो उपयुक्त भावनाओं और पेशेवरता को पहुंचाती हो।

3.3. समर्थित आउटपुट प्रारूप और भाषाएँ

OpenAI के TTS API डिफ़ॉल्ट रूप से MP3 आउटपुट प्रारूप को फॉलो करता है लेकिन विभिन्न अन्य ऑडियो प्रारूपों का समर्थन भी करता है:

  • Opus: इंटरनेट स्ट्रीमिंग और संचार के लिए उपयोगी, कम लेटेंसी के साथ।
  • AAC: डिजिटल ऑडियो संपीड़न के लिए उपयोग किया जाता है, YouTube, Android, और iOS जैसे प्लेटफॉर्म्स द्वारा पसंद किया जाता है।
  • FLAC: ऑडियो प्रेमियों के द्वारा आर्काइव के लिए उपयोग किया जाने वाला बिना कमी का ऑडियो संपीड़न प्रारूप।

भाषा समर्थन के मामले में, API मुख्य रूप से Whisper मॉडल का पालन करता है, जिसमें कई राष्ट्रीय भाषाओं का समर्थन करने के लिए विभिन्न भाषा विकल्प उपलब्ध हैं।

3.4. वास्तविक समय ऑडियो स्ट्रीमिंग कार्यक्षमता

वास्तविक समय अनुप्रयोगों की आवश्यकताओं को पूरा करने के लिए, हमारा API वास्तविक समय ऑडियो स्ट्रीमिंग का समर्थन प्रदान करता है। नीचे एक पायथन उदाहरण है जिससे वास्तविक समय में ऑडियो स्ट्रीमिंग को कैसे लागू किया जा सकता है:

from openai import OpenAI

client = OpenAI()

response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="नमस्ते दुनिया! यह एक स्ट्रीमिंग परीक्षण है।",
)

response.stream_to_file("output.mp3")

4. वाणी से पाठ API

4.1. तेजी से प्रारंभ करें

इस खंड में, हम मुख्य रूप से OpenAI की वाणी से पाठ API की कार्यक्षमता का परिचय देंगे।

सबसे पहले, आपके पास एक वैध OpenAI API कुंजी होनी चाहिए और एक ऑडियो फ़ाइल की तैयारी करनी होगी।

आप curl कमांड का उपयोग करके ऑडियो फ़ाइल को समाप्त करने वाला POST अनुरोध भेज सकते हैं। OPENAI_API_KEY को अपनी API कुंजी से बदलें और सही फ़ाइल पथ को सेट करें।

curl --request POST \
  --url https://api.openai.com/v1/audio/transcriptions \
  --header 'Authorization: Bearer OPENAI_API_KEY' \
  --header 'Content-Type: multipart/form-data' \
  --form file=@/पथ/से/आपकी/ऑडियो/फ़ाइल.mp3 \
  --form model=whisper-1

उपरोक्त कमांड को निष्पादित करने के बाद, आपको एक JSON प्रारूपित प्रतिक्रिया प्राप्त होगी जिसमें पाठीकरण की गई पाठिकरण सूचना होगी।

उदाहरण के लिए:

{
  "text": "कल्पना करें कि आपके पास कभी सबसे विचित्र विचार हो और आपको यह जानने की इच्छा हो कि यह किसी 100, 1,000 गुना बड़े कुछ की श्रृंखला तक कैसे स्केल कर सकता है। ..."
}

4.2. समर्थित फ़ाइल प्रारूप और आकार

यह API विभिन्न सामान्य ऑडियो फ़ाइल प्रारूपों का समर्थन करता है ताकि विभिन्न परिदृश्यों में विभिन्न आवश्यकताओं को पूरा किया जा सके। समर्थित फ़ाइल प्रारूपों में mp3, mp4, mpeg, mpga, m4a, wav, webm शामिल हैं। यह उपयोगकर्ताओं को आसानी से विभिन्न स्रोतों से ऑडियो फ़ाइलों को प्रसंस्कृत करने की सुविधा प्रदान करता है।

फ़ाइल का आकार के लिए, वर्तमान API की 25MB से अधिक नहीं होने की सीमा है। यह यह दर्शाता है कि यदि आपकी ऑडियो फ़ाइल 25MB से अधिक है, तो आपको इसे 25MB से छोटे कई सेगमेंटों में विभाजित करना होगा, या एक अधिक दक्ष प्रेसन स्वरूप का उपयोग करना होगा। उदाहरण के लिए, mp3 और opus प्रारूपों में सामान्यत: पारदर्शी प्रेसन, फाइल का आकार कम करने के साथ साउंड की गुणवत्ता को बहुत नुकसान नहीं होता है।

यदि आप 25MB से अधिक फ़ाइल से सामना करते हैं, तो आपको अपनी ऑडियो को सिरफिरा सामने लाने के लिए पायथन में PyDub पुस्तकालय का उपयोग करने की विचार कर सकते हैं:

from pydub import AudioSegment

audio_file = AudioSegment.from_file("आपकी_बड़ी_ऑडियो_फ़ाइल.mp3")

अंतराल = 10 * 60 * 1000  # 10 मिनट

chunks = make_chunks(audio_file, अंतराल)

for i, chunk in enumerate(chunks):
    chunk_name = f"audio_chunk{i}.mp3"
    chunk.export(chunk_name, format="mp3")

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

कृपया ध्यान दें कि जबकि PyDub हमें ऑडियो फ़ाइलों को संभालने का आसान तरीका प्रदान करता है, तो उसका उपयोग करते समय किसी भी तृतीय-पक्ष सॉफ्टवेयर की सुरक्षा और स्थायिता पर अतिरिक्त ध्यान देना अगला है। OpenAI किसी भी तृतीय-पक्ष सॉफ्टवेयर के लिए कोई गारंटी नहीं प्रदान करता है।