ক্লাউড স্পিচ-টু-টেক্সট API-এর সাথে স্পিচ টু টেক্সট ট্রান্সক্রিপশন

ক্লাউড স্পিচ API আপনাকে 80টিরও বেশি ভাষায় অডিও ফাইল থেকে টেক্সট ট্রান্সক্রিপশনে স্পিচ করতে দেয়।

এই ল্যাবে, আমরা একটি অডিও ফাইল রেকর্ড করব এবং ট্রান্সক্রিপশনের জন্য ক্লাউড স্পিচ এপিআই-এ পাঠাব।

আপনি কি শিখবেন

  • একটি স্পিচ API অনুরোধ তৈরি করা এবং কার্ল দিয়ে API কল করা
  • বিভিন্ন ভাষায় অডিও ফাইল সহ স্পিচ API কল করা

আপনি কি প্রয়োজন হবে

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

Google ক্লাউড প্ল্যাটফর্মের সাথে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবে?

নবজাতক মধ্যবর্তী দক্ষ

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে (Gmail বা Google Apps), তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে। Google ক্লাউড প্ল্যাটফর্ম কনসোলে সাইন-ইন করুন ( console.cloud.google.com ) এবং একটি নতুন প্রকল্প তৈরি করুন:

2016-02-10 12:45:26.png এর স্ক্রিনশট

প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID হিসাবে উল্লেখ করা হবে।

এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷

এই কোডল্যাবের মাধ্যমে চালানোর জন্য আপনার কয়েক ডলারের বেশি খরচ করা উচিত নয়, তবে আপনি যদি আরও সংস্থান ব্যবহার করার সিদ্ধান্ত নেন বা আপনি যদি সেগুলিকে চলমান রেখে দেন তবে এটি আরও বেশি হতে পারে (এই নথির শেষে "পরিষ্কার" বিভাগটি দেখুন)।

Google ক্লাউড প্ল্যাটফর্মের নতুন ব্যবহারকারীরা $300 বিনামূল্যের ট্রায়ালের জন্য যোগ্য৷

স্ক্রিনের উপরের বাম দিকে মেনু আইকনে ক্লিক করুন।

ড্রপ ডাউন থেকে APIs এবং পরিষেবা ড্যাশবোর্ড নির্বাচন করুন।

Enable APIs এবং Services- এ ক্লিক করুন।

তারপরে, অনুসন্ধান বাক্সে "বক্তৃতা" অনুসন্ধান করুন। Google Cloud Speech API- এ ক্লিক করুন:

ক্লাউড স্পিচ এপিআই সক্ষম করতে সক্ষম করুন ক্লিক করুন:

এটি সক্ষম করার জন্য কয়েক সেকেন্ডের জন্য অপেক্ষা করুন। এটি সক্রিয় হয়ে গেলে আপনি এটি দেখতে পাবেন:

Google ক্লাউড শেল ক্লাউডে চলমান একটি কমান্ড লাইন পরিবেশ । এই ডেবিয়ান-ভিত্তিক ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলের সাথে লোড করা হয়েছে ( gcloud , bq , git এবং অন্যান্য) এবং একটি স্থায়ী 5GB হোম ডিরেক্টরি অফার করে। আমরা স্পিচ এপিআইতে আমাদের অনুরোধ তৈরি করতে ক্লাউড শেল ব্যবহার করব।

ক্লাউড শেল দিয়ে শুরু করতে, "Google ক্লাউড শেল সক্রিয় করুন" এ ক্লিক করুন স্ক্রীন শট 2015-06-08 বিকাল 5.30.32 PM.png হেডার বারের উপরে ডানদিকের কোণায় আইকন

একটি ক্লাউড শেল সেশন কনসোলের নীচে একটি নতুন ফ্রেমের ভিতরে খোলে এবং একটি কমান্ড-লাইন প্রম্পট প্রদর্শন করে। user@project:~$ প্রম্পট প্রদর্শিত না হওয়া পর্যন্ত অপেক্ষা করুন

যেহেতু আমরা স্পিচ এপিআইতে একটি অনুরোধ পাঠাতে curl ব্যবহার করব, তাই আমাদের অনুরোধের URL পাস করার জন্য আমাদের একটি API কী তৈরি করতে হবে। একটি API কী তৈরি করতে, আপনার প্রকল্প ড্যাশবোর্ডের APIs এবং পরিষেবা > শংসাপত্র বিভাগে নেভিগেট করুন:

তারপর Create Credentials এ ক্লিক করুন:

ড্রপ ডাউন মেনুতে, API কী নির্বাচন করুন:

এরপরে, আপনি যে কীটি তৈরি করেছেন তা অনুলিপি করুন এবং বন্ধ নির্বাচন করুন (কীটিকে সীমাবদ্ধ করবেন না)।

এখন আপনার কাছে একটি API কী আছে, প্রতিটি অনুরোধে আপনার API কী-এর মান সন্নিবেশ করা এড়াতে এটিকে একটি পরিবেশ পরিবর্তনশীলে সংরক্ষণ করুন। আপনি Cloud Shell এ এটি করতে পারেন। আপনি এইমাত্র কপি করা কী দিয়ে <your_api_key> প্রতিস্থাপন করতে ভুলবেন না।

export API_KEY=<YOUR_API_KEY>

আপনি একটি request.json ফাইলে স্পিচ API এ আপনার অনুরোধ তৈরি করতে পারেন। এই ফাইলটি তৈরি এবং সম্পাদনা করতে, আপনি আপনার পছন্দের কমান্ড লাইন সম্পাদক (ন্যানো, ভিম, ইম্যাক্স) ব্যবহার করতে পারেন বা ক্লাউড শেলের অন্তর্নির্মিত ওয়েব সম্পাদক ব্যবহার করতে পারেন:

আপনার হোম ডিরেক্টরীতে ফাইলটি তৈরি করুন যাতে সহজেই এটিকে উল্লেখ করতে এবং আপনার request.json ফাইলে নিম্নলিখিতগুলি যোগ করতে সক্ষম হন:

request.json

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

অনুরোধের বডিতে একটি config এবং audio অবজেক্ট আছে। config , আমরা স্পিচ এপিআইকে বলি কিভাবে অনুরোধটি প্রক্রিয়া করতে হয়। encoding প্যারামিটার API-কে বলে যে আপনি API-এ যে অডিও ফাইলটি পাঠাচ্ছেন তার জন্য আপনি কোন ধরনের অডিও এনকোডিং ব্যবহার করছেন। FLAC হল .raw ফাইলের এনকোডিং টাইপ (আরো বিশদ বিবরণের জন্য এনকোডিং টাইপের ডকুমেন্টেশন দেখুন)। আপনার config অবজেক্টে আপনি যোগ করতে পারেন এমন অন্যান্য পরামিতি রয়েছে, তবে encoding একমাত্র প্রয়োজনীয়। অনুরোধের বাইরে থাকলে ভাষাকোড languageCode ডিফল্ট হবে।

audio অবজেক্টে, আপনি ক্লাউড স্টোরেজে আমাদের অডিও ফাইলের ইউরি অথবা একটি স্ট্রিং হিসাবে বেস64 এনকোড করা অডিও এপিআই পাস করতে পারেন। এখানে ক্লাউড স্টোরেজ ইউআরএল ব্যবহার করা হয়েছে। পরবর্তী ধাপে স্পিচ এপিআই কল করা হচ্ছে!

আপনি এখন আপনার রিকোয়েস্ট বডি, 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 মান আপনার অডিও ফাইলের স্পিচ এপিআই-এর টেক্সট ট্রান্সক্রিপশন ফিরিয়ে দেবে এবং confidence মান নির্দেশ করে যে API কতটা নিশ্চিত যে এটি আপনার অডিও সঠিকভাবে প্রতিলিপি করেছে।

আপনি লক্ষ্য করবেন যে আমরা উপরে আমাদের অনুরোধে recognize পদ্ধতি বলেছি। স্পিচ এপিআই টেক্সট ট্রান্সক্রিপশনে সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস স্পিচ উভয়কেই সমর্থন করে। এই উদাহরণে আমরা এটিকে একটি সম্পূর্ণ অডিও ফাইল পাঠিয়েছি, কিন্তু ব্যবহারকারী যখন কথা বলছে তখনও আপনি টেক্সট ট্রান্সক্রিপশনে স্ট্রিমিং স্পিচ সঞ্চালনের জন্য longrunningrecognize পদ্ধতি ব্যবহার করতে পারেন।

আপনি বহুভাষিক? স্পিচ API 100 টিরও বেশি ভাষায় স্পিচ টু টেক্সট ট্রান্সক্রিপশন সমর্থন করে! আপনি request.jsonlanguageCode কোড প্যারামিটার পরিবর্তন করতে পারেন। আপনি এখানে সমর্থিত ভাষার একটি তালিকা পেতে পারেন।

আসুন একটি ফরাসি অডিও ফাইল চেষ্টা করি (যদি আপনি একটি পূর্বরূপ দেখতে চান তবে এটি এখানে শুনুন)। নিম্নলিখিত আপনার 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
        }
      ]
    }
  ]
}

এটি একটি জনপ্রিয় ফরাসি শিশুদের গল্পের একটি বাক্য। আপনি যদি অন্য ভাষায় অডিও ফাইল পেয়ে থাকেন, তাহলে আপনি সেগুলিকে ক্লাউড স্টোরেজে যোগ করার চেষ্টা করতে পারেন এবং আপনার অনুরোধে languageCode প্যারামিটার পরিবর্তন করে দেখতে পারেন।

আপনি স্পিচ এপিআই-এর সাথে টেক্সট ট্রান্সক্রিপশনে স্পিচ করার পদ্ধতি শিখেছেন। এই উদাহরণে আপনি আপনার অডিও ফাইলের Google ক্লাউড স্টোরেজ URI API পাস করেছেন। বিকল্পভাবে, আপনি আপনার অডিও সামগ্রীর একটি base64 এনকোডেড স্ট্রিং পাস করতে পারেন৷

আমরা কভার করেছি কি

  • একটি অডিও ফাইলের একটি Google ক্লাউড স্টোরেজ URI স্পিচ API পাস করা
  • একটি স্পিচ API অনুরোধ তৈরি করা এবং কার্ল দিয়ে API কল করা
  • বিভিন্ন ভাষায় অডিও ফাইল সহ স্পিচ API কল করা

পরবর্তী পদক্ষেপ