تتيح واجهة ML Kit GenAI Speech Translation API ترجمة المحتوى الكلامي الصوتي في الوقت الفعلي على الجهاز فقط بمختلف اللغات. باستخدام نماذج الكلام المستندة إلى الذكاء الاصطناعي التوليدي من Google، توفّر واجهة Speech Translation API ترجمة الكلام إلى نص بلغة أخرى بزمن انتقال منخفض وجودة عالية مع التركيز على الخصوصية، بدون الحاجة إلى معالجة الصوت المستندة إلى السحابة الإلكترونية.
الإمكانات الأساسية
- يمكنك إدارة العملية بأكملها من خلال واجهة برمجة تطبيقات واحدة، بدءًا من التحقّق من جاهزية النموذج وبدء عمليات التنزيل، وصولاً إلى تنفيذ الترجمة الفعلية. يمكنك الاطّلاع على دمج Speech Translation API لمعرفة تفاصيل التنفيذ.
- يمكنك معالجة الصوت المباشر من الميكروفون أو الملفات، والحصول على نتائج نصية متوسطة ونهائية باستخدام Kotlin Flow للحصول على تحديثات في الوقت الفعلي.
- تنفيذ جميع مهام تحليل الصوت والترجمة على الجهاز فقط للحفاظ على خصوصية المستخدم وإتاحة الوظائف الكاملة بلا إنترنت
أمثلة النتائج
| إدخال الصوت | اللغة المصدر | اللغة الهدف | النتائج المعروضة |
|---|---|---|---|
| محتوى كلامي صوتي: "مرحبًا، كيف حالك اليوم؟" | الإنجليزية (en-US) | الإسبانية (es-ES) | "مرحبًا، كيف حالك اليوم؟" |
| المحتوى الكلامي الصوتي: "こんにちは、はじめまして" | اليابانية (ja-JP) | العربية (ar-AE) | "مرحبًا، سعدتُ بلقائك" |
المتطلبات الأساسية
لاستخدام Speech Translation API، يجب استيفاء المتطلبات التالية:
- يجب أن يكون لديك جهاز متوافق.
- يجب أن يتوفّر على جهازك أحدث إصدار تجريبي (
versionCode 210665810أو إصدار أحدث) من تطبيق "التعرّف على الكلام وتركيبه" (com.google.android.tts) من Google. - يجب أن تتوفّر في جهازك مساحة تخزين تبلغ 4.0 غيغابايت على الأقل لتنزيل Gemini Nano V4.
البدء
للبدء، أضِف تبعية "ترجمة الكلام" في حزمة تعلّم الآلة إلى ملف build.gradle.kts (أو build.gradle) على مستوى الوحدة:
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'
}
دمج Speech Translation API
لدمج حزمة تطوير البرامج (SDK) لترجمة الكلام في تطبيقك، أكمِل الخطوات التالية:
- ابدأ عملية إعداد عميل
SpeechTranslatorمن خلال إنشاء عنصر ضبطSpeechTranslatorOptions. - استخدِم واجهة Kotlin Flow API للتحقّق من توفّر الميزة وإدارة عمليات تنزيل النماذج.
- أنشئ كائن
SpeechTranslatorRequestلبث حزم بياناتTranslationAudioومراقبة نتائج الترجمة في الوقت الفعلي. يجب أن يكون الصوت المُدخَل بتنسيق PCM 16 بت، 16 كيلوهرتز، أحادي.
// 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()
الأجهزة المعتمدة
لاستخدام Speech Translation API، يجب أن يحتوي جهازك على مسرِّع عصبي عالي الأداء (TPU/NPU) مدمج في شريحة التعريف. يسرد الجدول التالي بعض طُرز الهواتف الرئيسية المتوافقة، ولكن يُرجى العِلم أنّه للتحقّق من التوافق، عليك مراجعة شريحة التعريف في جهازك.
| مجموعة شرائح التعريف | معرّفات شرائح التعريف | نماذج من الأجهزة | الحدّ الأدنى لإصدار نظام التشغيل |
|---|---|---|---|
| Google Tensor | Google Tensor G5 وG6 والإصدارات الأحدث |
|
Android 14 |
| Qualcomm Snapdragon | SM8650, SM8750, SM8850, SM8845, SM8975, SM8950, SM8735 |
|
Android 15 |
| MediaTek | Dimensity 9300 و9400+ |
|
Android 15 |
المشاكل الشائعة في الإعداد
تعتمد واجهات برمجة التطبيقات للذكاء الاصطناعي التوليدي في "حزمة تعلّم الآلة" على تطبيق Android AICore للوصول إلى Gemini Nano. عند إعداد جهاز للتو (بما في ذلك إعادة الضبط)، أو إعادة ضبط تطبيق AICore للتو (مثل محو البيانات وإلغاء التثبيت ثم إعادة التثبيت)، قد لا يتوفّر لتطبيق AICore الوقت الكافي لإنهاء عملية الإعداد (بما في ذلك تنزيل أحدث الإعدادات من الخادم). نتيجةً لذلك، قد لا تعمل واجهات برمجة التطبيقات GenAI في حزمة تعلّم الآلة على النحو المتوقّع. في ما يلي رسائل الخطأ الشائعة في الإعداد التي قد تظهر لك وكيفية التعامل معها:
| مثال على رسالة خطأ | طريقة التعامل |
| تعذَّر تشغيل AICore وظهر نوع الخطأ 4-CONNECTION_ERROR ورمز الخطأ 601-BINDING_FAILURE: تعذَّر ربط خدمة AICore. | قد يحدث ذلك عند تثبيت التطبيق باستخدام واجهات برمجة تطبيقات الذكاء الاصطناعي التوليدي في "حزمة تعلّم الآلة" فورًا بعد إعداد الجهاز أو عند إلغاء تثبيت AICore بعد تثبيت تطبيقك. من المفترض أن يؤدي تحديث تطبيق AICore ثم إعادة تثبيت تطبيقك إلى حلّ المشكلة. |
| تعذّر تشغيل AICore وظهر نوع الخطأ 3-PREPARATION_ERROR ورمز الخطأ 606-FEATURE_NOT_FOUND: الميزة ... غير متاحة. |
قد يحدث ذلك عندما لا ينتهي AICore من تنزيل أحدث الإعدادات. عندما يكون الجهاز متصلاً بالإنترنت، يستغرق عادةً التحديث من بضع دقائق إلى بضع ساعات. يمكن أن تؤدي إعادة تشغيل الجهاز إلى تسريع عملية التحديث.
يُرجى العِلم أنّه إذا كان برنامج الإقلاع في الجهاز غير مقفل، سيظهر لك هذا الخطأ أيضًا، لأنّ واجهة برمجة التطبيقات هذه لا تتوافق مع الأجهزة التي تتضمّن برامج إقلاع غير مقفلة. |
| تعذّر تشغيل AICore وظهر نوع الخطأ 1-DOWNLOAD_ERROR ورمز الخطأ 0-UNKNOWN: تعذّر تشغيل الميزة ... وظهرت حالة التعذّر 0 والخطأ esz: UNAVAILABLE: Unable to resolve host ... | يُرجى إبقاء الاتصال بالشبكة والانتظار لبضع دقائق ثم إعادة المحاولة. |