GenAI Speech Translation API

ML Kit GenAI Speech Translation API, farklı dillerdeki seslendirilmiş içeriklerin cihaz üzerinde anında çevrilmesini sağlar. Google'ın üretken yapay zeka konuşma modellerini kullanan Speech Translation API, bulut tabanlı ses işleme gerektirmeden düşük gecikmeli, yüksek kaliteli ve gizlilik odaklı sesle yazarak çeviri hizmeti sunar.

Temel özellikler

  • Modelin hazır olup olmadığını doğrulamaktan indirme işlemlerini başlatmaya ve asıl çeviriyi gerçekleştirmeye kadar tüm süreci tek bir API üzerinden yönetin. Uygulama ayrıntıları için Speech Translation API'yi entegre etme bölümüne bakın.
  • Mikrofondan veya dosyalardan gelen canlı sesleri işleyin ve gerçek zamanlı güncellemeler için Kotlin Flow'u kullanarak hem ara hem de nihai metin sonuçlarını alın.
  • Kullanıcı gizliliğini korumak ve tam çevrimdışı işlevselliği desteklemek için tüm ses analizi ve çeviri görevlerini cihaz üzerinde gerçekleştirme

Örnek sonuçlar

Giriş sesi Kaynak dil Hedef dil Çıktı metni
Seslendirilmiş içerik: "Merhaba, bugün nasılsınız?" Türkçe İspanyolca (es-ES) "Hola, ¿cómo estás hoy?"
Seslendirilmiş içerik: "こんにちは、はじめまして" Japonca (ja-JP) İngilizce (en-US) "Merhaba, tanıştığımıza memnun oldum"

Ön koşullar

Speech Translation API'yi kullanmak için aşağıdaki şartları karşılamanız gerekir:

Başlayın

Başlamak için ML Kit Speech Translation bağımlılığını modül düzeyindeki build.gradle.kts (veya build.gradle) dosyanıza ekleyin:

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")
}

Modern

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'yi entegre etme

Speech Translation SDK'yı uygulamanıza entegre etmek için aşağıdaki adımları tamamlayın:

  1. SpeechTranslatorOptions yapılandırma nesnesi oluşturarak SpeechTranslator istemcisini başlatın.
  2. Özelliklerin kullanılabilirliğini doğrulamak ve model indirme işlemlerini yönetmek için Kotlin Flow API'yi kullanın.
  3. TranslationAudio veri paketlerini aktarmak ve anlık çeviri sonuçlarını görmek için bir SpeechTranslatorRequest nesnesi oluşturun. Giriş sesinin PCM 16 bit, 16 kHz, mono biçiminde olması gerekir.
// 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()

Desteklenen cihazlar

Speech Translation API'yi kullanmak için cihazınızın yonga setine entegre edilmiş yüksek performanslı bir nöral hızlandırıcı (TPU/NPU) bulunmalıdır. Aşağıdaki tabloda, desteklenen bazı önemli telefon modelleri listelenmiştir. Ancak desteği doğrulamak için cihazınızın yonga setini kontrol etmeniz gerektiğini unutmayın.

Yonga seti ailesi Yonga seti kimlikleri Örnek cihazlar Minimum OS sürümü
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

Sık karşılaşılan kurulum sorunları

ML Kit GenAI API'leri, Gemini Nano'ya erişmek için Android AICore uygulamasını kullanır. Bir cihaz yeni kurulduğunda (sıfırlama dahil) veya AICore uygulaması yeni sıfırlandığında (ör. veriler temizlendiğinde, kaldırılıp yeniden yüklendiğinde) AICore uygulamasının başlatma işlemini (sunucudan en son yapılandırmaları indirme dahil) tamamlamak için yeterli zamanı olmayabilir. Bu nedenle, ML Kit GenAI API'leri beklendiği gibi çalışmayabilir. Karşılaşabileceğiniz yaygın kurulum hata mesajları ve bunları nasıl ele alacağınız aşağıda açıklanmıştır:

Örnek hata mesajı İtirazı yanıtlama
AICore, 4-CONNECTION_ERROR hata türü ve 601-BINDING_FAILURE hata koduyla başarısız oldu: AICore hizmeti bağlanamadı. Bu durum, cihaz kurulumundan hemen sonra ML Kit GenAI API'lerini kullanarak uygulamayı yüklediğinizde veya uygulamanız yüklendikten sonra AICore kaldırıldığında ortaya çıkabilir. AICore uygulamasını güncelleyip uygulamanızı yeniden yüklediğinizde sorun çözülecektir.
AICore, 3-PREPARATION_ERROR hata türü ve 606-FEATURE_NOT_FOUND hata koduyla başarısız oldu: ... özelliği kullanılamıyor. Bu durum, AICore en son yapılandırmaları indirmeyi tamamlamadığında gerçekleşebilir. Cihaz internete bağlıyken güncelleme işlemi genellikle birkaç dakika ile birkaç saat arasında sürer. Cihazı yeniden başlatmak güncellemeyi hızlandırabilir.

Cihazın bootloader'ının kilidi açıksa da bu hatayı görürsünüz. Bu API, bootloader'ının kilidi açık olan cihazları desteklemez.
AICore, 1-DOWNLOAD_ERROR hata türü ve 0-UNKNOWN hata koduyla başarısız oldu: ... özelliği, 0 hata durumu ve esz: UNAVAILABLE: ... ana makinesi çözümlenemiyor hatasıyla başarısız oldu. Ağ bağlantısını koruyun, birkaç dakika bekleyin ve tekrar deneyin.