GenAI স্পিচ ট্রান্সলেশন API

ML Kit GenAI স্পিচ ট্রান্সলেশন API-এর সাহায্যে বিভিন্ন ভাষায় স্পোকেন অডিওর রিয়েল-টাইম, অন-ডিভাইস অনুবাদ করা যায়। Google-এর জেনারেটিভ AI স্পিচ মডেল ব্যবহার করে, স্পিচ ট্রান্সলেশন API ক্লাউড-ভিত্তিক অডিও প্রসেসিং ছাড়াই কম-লেটেন্সি, খুব ভালো কোয়ালিটি এবং গোপনীয়তা-কেন্দ্রিক স্পিচ-টু-টেক্সট ট্রান্সলেশন প্রদান করে।

মূল ক্ষমতা

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

ফলাফলের উদাহরণ

ইনপুট অডিও উৎস ভাষা টার্গেট করা ভাষা আউটপুট টেক্সট
স্পোকেন অডিও: "হ্যালো, আজ কেমন আছেন?" English (en-US) স্প্যানিশ (es-ES) "Hola, ¿cómo estás hoy?"
স্পোকেন অডিও: "こんにちは、はじめまして" জাপানি (ja-JP) English (en-US) "হ্যালো, আপনার সাথে দেখা করে ভালো লাগল"

পূর্বশর্ত

স্পিচ ট্রান্সলেশন API ব্যবহার করতে, আপনাকে অবশ্যই এইসব প্রয়োজনীয়তা পূরণ করতে হবে:

  • আপনার কাছে কাজ করে এমন ডিভাইস থাকতে হবে।
  • আপনার ডিভাইসে Google-এর Speech Recognition and Synthesis অ্যাপ (com.google.android.tts)-এর লেটেস্ট বিটা ভার্সন (versionCode 210665810 বা তার পরবর্তী) থাকতে হবে।
  • Gemini Nano V4 ডাউনলোড করতে আপনার ডিভাইসে অন্তত ৪.০ জিবি ফ্রি স্টোরেজ থাকতে হবে।

শুরু করুন

শুরু করতে, আপনার মডিউল-লেভেল build.gradle.kts (বা build.gradle) ফাইলে ML Kit স্পিচ ট্রান্সলেশন ডিপেন্ডেন্সি যোগ করুন:

Kotlin

dependencies {
    // ML Kit Base Infrastructure
    implementation("com.google.mlkit:common:18.10.0")
    // ML Kit GenAI Speech Translation SDK
    implementation("com.google.mlkit:genai-speech-translation:1.0.0-alpha1")
}

Groovy

dependencies {
    // ML Kit Base Infrastructure
    implementation 'com.google.mlkit:common:18.10.0'
    // ML Kit GenAI Speech Translation SDK
    implementation 'com.google.mlkit:genai-speech-translation:1.0.0-alpha1'
}

স্পিচ ট্রান্সলেশন API ইন্টিগ্রেট করা

আপনার অ্যাপে Speech Translation SDK ইন্টিগ্রেট করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. SpeechTranslatorOptions কনফিগারেশন অবজেক্ট তৈরি করে SpeechTranslator ক্লায়েন্ট শুরু করুন।
  2. ফিচারের উপলভ্যতা যাচাই করতে এবং মডেল ডাউনলোড ম্যানেজ করতে Kotlin Flow API ব্যবহার করুন।
  3. TranslationAudio ডেটা প্যাকেট স্ট্রিম করতে এবং রিয়েল-টাইম অনুবাদ ফলাফল দেখতে একটি SpeechTranslatorRequest অবজেক্ট তৈরি করুন। ইনপুট অডিও অবশ্যই PCM ১৬-বিট, ১৬kHz, মোনো ফর্ম্যাটে হতে হবে।
// Initialize the client.
val options = SpeechTranslatorOptions.Builder(Locale.US, Locale.CHINESE).build()
val client = SpeechTranslation.getClient(options)

// Check and download the on-device model.
if (client.checkStatus() == FeatureStatus.DOWNLOADABLE) {
    client.download().collect { status ->
        println("Download progress: $status")
    }
}

// Construct a streaming request with raw audio (PCM 16-bit, 16kHz, mono).
val audioFlow = flow {
    emit(TranslationAudio(Locale.US, rawAudioBytes))
}
val request = SpeechTranslatorRequest.Builder(audioFlow).build()

// Start a session and collect translated responses.
client.startTranslation(request).collect { response ->
    when (response) {
        is SpeechTranslatorResponse.Text -> {
            println("Translation (${response.locale}): ${response.translatedText}")
        }
        is SpeechTranslatorResponse.ErrorResponse -> {
            println("Translation failed: ${response.e.message}")
        }
        is SpeechTranslatorResponse.CompletedResponse -> {
            println("Session closed.")
        }
    }
}

// Close the client when done.
client.close()

যেসব ডিভাইসে এটি দেখা যাবে

স্পিচ ট্রান্সলেশন API ব্যবহার করতে, আপনার ডিভাইসের চিপসেটে অবশ্যই একটি উচ্চ-পারফরম্যান্স নিউরাল অ্যাক্সিলারেটর (TPU/NPU) ইন্টিগ্রেট করা থাকতে হবে। নিচের সারণীতে কিছু প্রধান ফোন মডেলের তালিকা দেওয়া হয়েছে যেগুলিতে এই ফিচার কাজ করে, তবে মনে রাখবেন যে এই ফিচার কাজ করে কিনা তা যাচাই করতে আপনার ডিভাইসের চিপসেট চেক করতে হবে।

চিপসেট ফ্যামিলি চিপসেট আইডি উদাহরণ হিসেবে ডিভাইস OS-এর ন্যূনতম ভার্সন
Google Tensor Google Tensor G5, G6+
  • Google Pixel 10, 11
Android 14
Qualcomm Snapdragon SM8650, SM8750, SM8850, SM8845, SM8975, SM8950, SM8735
  • Samsung Galaxy S25, S25+, S25 Ultra
  • Samsung Galaxy S26, S26+, S26 Ultra
  • Samsung Galaxy Z Fold7
  • Xiaomi 15
  • OnePlus 13
  • Motorola Razr 60 Ultra
Android 15
MediaTek Dimensity 9300, 9400+
  • OPPO Find X10, X10 Pro
  • Samsung Galaxy Tab S12
Android 15

সেট-আপ সংক্রান্ত সাধারণ সমস্যা

ML Kit GenAI API, Gemini Nano অ্যাক্সেস করার জন্য Android AICore অ্যাপের উপর নির্ভর করে। কোনও ডিভাইস সেট-আপ (রিসেট সহ) বা AICore অ্যাপ রিসেট (যেমন, ডেটা মুছে ফেলা, আনইনস্টল করে আবার ইনস্টল করা) করার ঠিক পরেই, AICore অ্যাপের কাছে ইনিশিয়ালাইজেশন (সার্ভার থেকে লেটেস্ট কনফিগারেশন ডাউনলোড করা সহ) সম্পূর্ণ করার জন্য পর্যাপ্ত সময় নাও থাকতে পারে। এর ফলে, ML Kit GenAI API প্রত্যাশা অনুযায়ী কাজ নাও করতে পারে। সেট-আপ করার সময় আপনি যেসব সাধারণ সমস্যার মেসেজ দেখতে পেতে পারেন এবং সেগুলি কীভাবে সমাধান করবেন তা এখানে দেওয়া হল:

সমস্যার মেসেজের উদাহরণ কীভাবে সামলাবেন
AICore-এ সমস্যা হয়েছে, সমস্যার ধরন 4-CONNECTION_ERROR এবং সমস্যার কোড 601-BINDING_FAILURE: AICore পরিষেবা বাইন্ড করা যায়নি। ডিভাইস সেট-আপ করার সাথে সাথেই ML Kit GenAI API ব্যবহার করে অ্যাপ ইনস্টল করলে অথবা আপনার অ্যাপ ইনস্টল করার পরে AICore আনইনস্টল করা হলে এটি হতে পারে। AICore অ্যাপ আপডেট করে আপনার অ্যাপ আবার ইনস্টল করলে সমস্যার সমাধান হয়ে যাবে।
AICore-এ সমস্যা হয়েছে, সমস্যার ধরন 3-PREPARATION_ERROR এবং সমস্যার কোড 606-FEATURE_NOT_FOUND: ফিচার ... উপলভ্য নেই। AICore লেটেস্ট কনফিগারেশন ডাউনলোড করা শেষ না করলে এটি হতে পারে। ডিভাইস ইন্টারনেটের সাথে কানেক্ট করা থাকলে, আপডেট হতে সাধারণত কয়েক মিনিট থেকে কয়েক ঘণ্টা সময় লাগে। ডিভাইস রিস্টার্ট করলে আপডেট দ্রুত হতে পারে।

মনে রাখবেন, ডিভাইসের বুটলোডার আনলক করা থাকলে, আপনি এই সমস্যাও দেখতে পাবেন—এই API আনলক করা বুটলোডার সহ ডিভাইসে কাজ করে না।
AICore-এ সমস্যা হয়েছে, সমস্যার ধরন 1-DOWNLOAD_ERROR এবং সমস্যার কোড 0-UNKNOWN: ফিচার ... কাজ করেনি, স্ট্যাটাস 0 এবং সমস্যা esz: UNAVAILABLE: হোস্ট ... সমাধান করা যায়নি নেটওয়ার্ক কানেকশন চালু রাখুন, কয়েক মিনিট অপেক্ষা করে আবার চেষ্টা করুন।