Cloud Speech-to-Text API की मदद से, बोली को लिखाई में बदलना

Cloud Speech API की मदद से, 80 से ज़्यादा भाषाओं में ऑडियो फ़ाइलों में बोले गए शब्दों को टेक्स्ट में बदला जा सकता है.

इस लैब में, हम एक ऑडियो फ़ाइल रिकॉर्ड करेंगे और उसे लेख में बदलने के लिए, Cloud Speech API को भेजेंगे.

आपको क्या सीखने को मिलेगा

  • Speech API का अनुरोध बनाना और curl की मदद से एपीआई को कॉल करना
  • अलग-अलग भाषाओं में ऑडियो फ़ाइलों के साथ Speech API को कॉल करना

आपको किन चीज़ों की ज़रूरत होगी

  • Google Cloud Platform प्रोजेक्ट
  • कोई ब्राउज़र, जैसे कि Chrome या Firefox

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

सिर्फ़ इसे पढ़ें इसे पढ़ें और एक्सरसाइज़ पूरी करें

Google Cloud Platform इस्तेमाल करने के अपने अनुभव को आप क्या रेटिंग देंगे?

शुरुआती स्तर सामान्य स्तर एडवांस लेवल

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

अगर आपके पास पहले से कोई Google खाता (Gmail या Google Apps) नहीं है, तो आपको एक खाता बनाना होगा. Google Cloud Platform Console (console.cloud.google.com) में साइन इन करें और एक नया प्रोजेक्ट बनाएं:

2016-02-10 12:45:26.png का स्क्रीनशॉट

प्रोजेक्ट आईडी याद रखें. यह सभी Google Cloud प्रोजेक्ट के लिए एक यूनीक नाम होता है. ऊपर दिया गया नाम पहले ही इस्तेमाल किया जा चुका है. इसलिए, यह आपके लिए काम नहीं करेगा. माफ़ करें! इस कोड लैब में इसे बाद में PROJECT_ID के तौर पर दिखाया जाएगा.

इसके बाद, Google Cloud संसाधनों का इस्तेमाल करने के लिए, आपको Cloud Console में बिलिंग चालू करनी होगी.

इस कोडलैब को पूरा करने में आपको कुछ डॉलर से ज़्यादा खर्च नहीं करने पड़ेंगे. हालांकि, अगर आपको ज़्यादा संसाधनों का इस्तेमाल करना है या उन्हें चालू रखना है, तो यह खर्च बढ़ सकता है. इस दस्तावेज़ के आखिर में "सफ़ाई" सेक्शन देखें.

Google Cloud Platform के नए उपयोगकर्ता, 300 डॉलर के क्रेडिट के साथ मुफ़्त में आज़माने की सुविधा पा सकते हैं.

स्क्रीन पर सबसे ऊपर बाईं ओर मौजूद, मेन्यू आइकॉन पर क्लिक करें.

ड्रॉप-डाउन से, एपीआई और सेवाएं डैशबोर्ड चुनें.

एपीआई और सेवाएं चालू करें पर क्लिक करें.

इसके बाद, खोज बॉक्स में "speech" खोजें. Google Cloud Speech API पर क्लिक करें:

Cloud Speech API को चालू करने के लिए, चालू करें पर क्लिक करें:

इसे चालू होने में कुछ सेकंड लगेंगे. इस सुविधा के चालू होने पर, आपको यह दिखेगा:

Google Cloud Shell, क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है. Debian पर आधारित इस वर्चुअल मशीन में, आपको ज़रूरी सभी डेवलपमेंट टूल (gcloud, bq, git वगैरह) मिलेंगे. साथ ही, इसमें 5 जीबी की होम डायरेक्ट्री भी मिलती है. हम Speech API को अनुरोध भेजने के लिए, Cloud Shell का इस्तेमाल करेंगे.

Cloud Shell का इस्तेमाल शुरू करने के लिए, हेडर बार में सबसे ऊपर दाएं कोने में मौजूद "Google Cloud Shell चालू करें" Screen Shot 2015-06-08 at 5.30.32 PM.png आइकॉन पर क्लिक करें

Cloud Shell सेशन, कंसोल में सबसे नीचे मौजूद नए फ़्रेम में खुलता है. इसमें कमांड-लाइन प्रॉम्प्ट दिखता है. जब तक user@project:~$ प्रॉम्प्ट न दिखे, तब तक इंतज़ार करें

हम Speech API को अनुरोध भेजने के लिए curl का इस्तेमाल करेंगे. इसलिए, हमें अपने अनुरोध यूआरएल में पास करने के लिए, एक एपीआई कुंजी जनरेट करनी होगी. एपीआई पासकोड बनाने के लिए, अपने प्रोजेक्ट के डैशबोर्ड में एपीआई और सेवाएं > क्रेडेंशियल सेक्शन पर जाएं:

इसके बाद, क्रेडेंशियल बनाएं पर क्लिक करें:

ड्रॉप-डाउन मेन्यू में, एपीआई पासकोड चुनें:

इसके बाद, अभी जनरेट की गई कुंजी को कॉपी करें और बंद करें को चुनें. कुंजी को प्रतिबंधित न करें.

अब आपके पास एपीआई पासकोड है. इसे एनवायरमेंट वैरिएबल में सेव करें, ताकि आपको हर अनुरोध में एपीआई पासकोड की वैल्यू न डालनी पड़े. यह काम Cloud Shell में किया जा सकता है. <your_api_key> की जगह, अभी कॉपी की गई कुंजी का इस्तेमाल करना न भूलें.

export API_KEY=<YOUR_API_KEY>

request.json फ़ाइल में, Speech API के लिए अनुरोध बनाया जा सकता है. इस फ़ाइल को बनाने और इसमें बदलाव करने के लिए, अपने पसंदीदा कमांड लाइन एडिटर (nano, vim, emacs) का इस्तेमाल किया जा सकता है. इसके अलावा, Cloud Shell में मौजूद वेब एडिटर का इस्तेमाल भी किया जा सकता है:

अपनी होम डायरेक्ट्री में फ़ाइल बनाएं, ताकि इसे आसानी से रेफ़र किया जा सके. इसके बाद, अपनी request.json फ़ाइल में यह कॉन्टेंट जोड़ें :

request.json

{
  "config": {
      "encoding":"FLAC",
      "languageCode": "en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
  }
}

अनुरोध के मुख्य हिस्से में config और audio ऑब्जेक्ट मौजूद हैं. config में, हम Speech API को बताते हैं कि अनुरोध को कैसे प्रोसेस करना है. encoding पैरामीटर से एपीआई को पता चलता है कि एपीआई को भेजी जा रही ऑडियो फ़ाइल के लिए, किस तरह की ऑडियो एन्कोडिंग का इस्तेमाल किया जा रहा है. FLAC, .raw फ़ाइलों के लिए एन्कोडिंग का टाइप है. एन्कोडिंग के टाइप के बारे में ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. अपने config ऑब्जेक्ट में अन्य पैरामीटर भी जोड़े जा सकते हैं. हालांकि, encoding पैरामीटर जोड़ना ज़रूरी है. अगर अनुरोध में languageCode शामिल नहीं किया जाता है, तो इसे डिफ़ॉल्ट रूप से अंग्रेज़ी पर सेट कर दिया जाएगा.

audio ऑब्जेक्ट में, एपीआई को Cloud Storage में मौजूद हमारी ऑडियो फ़ाइल का यूआरआई या base64 एन्कोड किए गए ऑडियो को स्ट्रिंग के तौर पर पास किया जा सकता है. यहां Cloud Storage के यूआरएल का इस्तेमाल किया जा रहा है. अगला चरण, Speech API को कॉल करना है!

अब आपके पास, अनुरोध के मुख्य हिस्से को Speech API में भेजने का विकल्प है. इसके लिए, आपको पहले से सेव की गई एपीआई कुंजी के एनवायरमेंट वैरिएबल के साथ-साथ, यहां दी गई curl कमांड का इस्तेमाल करना होगा. यह सब एक ही कमांड लाइन में किया जा सकता है:

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

curl कमांड से मिला जवाब कुछ ऐसा दिखना चाहिए:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

transcript वैल्यू, आपकी ऑडियो फ़ाइल के टेक्स्ट ट्रांसक्रिप्शन को Speech API से वापस लाएगी. साथ ही, confidence वैल्यू से यह पता चलेगा कि API को कितना भरोसा है कि उसने आपके ऑडियो को सटीक तरीके से ट्रांसक्राइब किया है.

आपको दिखेगा कि हमने ऊपर दिए गए अनुरोध में recognize तरीके का इस्तेमाल किया है. Speech API, ऑडियो को टेक्स्ट में बदलने की सुविधा के लिए सिंक्रोनस और असिंक्रोनस, दोनों तरह के अनुरोधों को स्वीकार करता है. इस उदाहरण में, हमने इसे पूरी ऑडियो फ़ाइल भेजी है. हालांकि, longrunningrecognize तरीके का इस्तेमाल करके, उपयोगकर्ता के बोलते समय भी स्पीच को टेक्स्ट में ट्रांसक्रिप्ट किया जा सकता है.

क्या आपको एक से ज़्यादा भाषाएं आती हैं? Speech API, 100 से ज़्यादा भाषाओं में ऑडियो को टेक्स्ट में बदलने की सुविधा देता है! request.json में जाकर, languageCode पैरामीटर बदला जा सकता है. इस सुविधा के साथ काम करने वाली भाषाओं की सूची यहां दी गई है.

आइए, फ़्रेंच भाषा की कोई ऑडियो फ़ाइल आज़माएं. अगर आपको इसकी झलक देखनी है, तो यहां सुनें. request.json फ़ाइल में यह बदलाव करें:

request.json

 {
  "config": {
      "encoding":"FLAC",
      "languageCode": "fr"
  },
  "audio": {
      "uri":"gs://speech-language-samples/fr-sample.flac"
  }
}

आपको यह जवाब दिखेगा:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
          "confidence": 0.9710122
        }
      ]
    }
  ]
}

यह फ़्रेंच भाषा में बच्चों के लिए लिखी गई एक लोकप्रिय कहानी का वाक्य है. अगर आपके पास किसी दूसरी भाषा में ऑडियो फ़ाइलें हैं, तो उन्हें Cloud Storage में जोड़ा जा सकता है. इसके बाद, अपने अनुरोध में languageCode पैरामीटर को बदला जा सकता है.

आपने Speech API की मदद से, बोली को टेक्स्ट में बदलने का तरीका जान लिया है. इस उदाहरण में, आपने एपीआई को अपनी ऑडियो फ़ाइल का Google Cloud Storage यूआरआई दिया है. इसके अलावा, अपने ऑडियो कॉन्टेंट की base64 कोड में बदली गई स्ट्रिंग पास की जा सकती है.

हमने क्या-क्या बताया

  • Speech API को ऑडियो फ़ाइल का Google Cloud Storage यूआरआई पास करना
  • Speech API का अनुरोध बनाना और curl की मदद से एपीआई को कॉल करना
  • अलग-अलग भाषाओं में ऑडियो फ़ाइलों के साथ Speech API को कॉल करना

अगले चरण