Dasar-dasar Media Translation

Dokumen ini adalah panduan dasar-dasar penggunaan Media Translation. Panduan konseptual ini membahas jenis permintaan yang dapat Anda buat untuk Media Translation, cara membuat permintaan tersebut, dan cara menangani responsnya. Sebaiknya semua pengguna Media Translation membaca panduan ini dan salah satu tutorial terkait sebelum mempelajari API itu sendiri.

Permintaan terjemahan ucapan

Media Translation sejauh ini hanya memiliki satu metode untuk melakukan terjemahan ucapan:

  • Streaming Translation (khusus gRPC) menjalankan penerjemahan pada data audio yang disediakan dalam streaming dua arah gRPC. Permintaan streaming didesain untuk tujuan terjemahan real-time, seperti mengambil audio live dari mikrofon. Terjemahan streaming memberikan hasil sementara saat audio direkam, sehingga hasil dapat muncul, misalnya, saat pengguna masih berbicara. Permintaan terjemahan streaming dibatasi untuk data audio berdurasi 5 menit atau kurang.

Permintaan berisi parameter konfigurasi atau data audio. Bagian berikut menjelaskan jenis permintaan terjemahan ucapan ini, respons yang dihasilkannya, dan cara menangani respons tersebut secara lebih mendetail.

Streaming permintaan terjemahan ucapan

Permintaan Media Translation API streaming dapat berupa konfigurasi terjemahan ucapan, atau data audio. Contoh permintaan konfigurasi ditampilkan di bawah ini:

{
    "audio_config": {
        "audio_encoding": "linear16",
        "sample_rate_hertz": 16000,
        "source_language_code": "en-US",
        "target_language_code": "zh",
        "model" : "google-provided-model/video",
    }
    "single_utterance" : False
}

Contoh permintaan data audio ditampilkan di bawah ini:

{
    "audio_content " : "\366c\256\375jQ\r\312\205j\271\243%/u\216z\330\354\221\360\253KJ\005\"
}

StreamingTranslateSpeechRequest pertama harus berisi konfigurasi jenis StreamingTranslateSpeechConfig tanpa audio yang menyertainya. StreamingTranslateSpeechRequest berikutnya yang dikirim melalui stream yang sama kemudian akan terdiri dari frame byte audio mentah berturut-turut.

StreamingTranslateSpeechConfig berisi kolom berikut:

  • audio_config - (wajib) berisi informasi konfigurasi untuk audio berjenis TranslateSpeechConfig.
  • single_utterance - (opsional, setelan defaultnya adalah false) menunjukkan apakah permintaan ini harus otomatis berakhir setelah ucapan tidak lagi terdeteksi. Jika disetel, Media Translation akan mendeteksi jeda, senyap, atau audio non-ucapan untuk menentukan kapan harus mengakhiri terjemahan. Jika tidak disetel, streaming akan terus mendengarkan dan memproses audio hingga stream ditutup secara langsung, atau panjang batas streaming telah terlampaui. Menyetel single_utterance ke true berguna untuk memproses perintah suara.

TranslateSpeechConfig berisi sub-kolom berikut:

  • audio_encoding - (wajib) menentukan skema encoding audio yang disediakan (dari jenis AudioEncoding). Jika memiliki pilihan dalam codec, sebaiknya Anda menggunakan encoding lossless seperti FLAC atau LINEAR16 untuk performa terbaik. (Untuk informasi selengkapnya, lihat Encoding Audio.)
  • sample_rate_hertz - (wajib) menentukan frekuensi sampel (dalam Hertz) audio yang disediakan. (Untuk informasi lebih lanjut tentang frekuensi sampel, lihat Frekuensi Sampel di bawah.)
  • source_language_code - (wajib) berisi bahasa + wilayah/lokal yang akan digunakan untuk pengenalan ucapan untuk audio yang disediakan. Kode bahasa harus berupa ID BCP-47. Perlu diperhatikan bahwa kode bahasa biasanya terdiri dari tag bahasa utama dan subtag wilayah sekunder untuk menunjukkan dialek (misalnya, 'en' untuk bahasa Inggris dan 'US' untuk Amerika Serikat dalam contoh di atas.) (Untuk mengetahui daftar bahasa yang didukung, lihat Bahasa yang Didukung.)
  • 'target_language_code' - (wajib) berisi bahasa yang akan digunakan untuk menerjemahkan teks audio yang disediakan. Kode bahasa harus berupa ID BCP-47. Perhatikan bahwa kode bahasa biasanya hanya terdiri dari tag bahasa utama, karena teks terjemahan tidak akan' mempertimbangkan dialek. Namun, "zh-CN" dan "zh-TW" akan menjadi teks terjemahan yang berbeda. (Untuk mengetahui daftar bahasa yang didukung, lihat Bahasa yang Didukung.)

Audio dikirimkan ke Media Translation melalui kolom audio_content jenis StreamingTranslateSpeechRequest. Kolom audio_content berisi audio yang akan dievaluasi, yang disematkan dalam permintaan, Lihat Menyematkan Konten Audio di bawah untuk informasi selengkapnya.

Respons terjemahan ucapan saat streaming

Hasil terjemahan ucapan streaming ditampilkan dalam serangkaian respons jenis StreamingTranslateSpeechResponse. Respons tersebut terdiri dari kolom berikut:

  • speech_event_type berisi peristiwa berjenis SpeechEventType. Nilai peristiwa ini akan menunjukkan saat satu ucapan telah ditentukan telah selesai. Peristiwa ucapan berfungsi sebagai penanda dalam respons streaming Anda. Saat menerima END_OF_SINGLE_UTTERANCE, pengguna harus berhenti mengirim permintaan, selagi menunggu untuk menerima respons terjemahan yang tersisa.
  • results berisi daftar hasil, yang dapat berupa hasil sementara atau akhir, dari jenis StreamingTranslateSpeechResult. Daftar results berisi sub-kolom berikut:
    • translation berisi teks terjemahan.
    • isFinal menunjukkan apakah hasil yang diperoleh dalam entri daftar ini bersifat sementara atau final.

Informasi selengkapnya tentang parameter permintaan dan respons ini ditampilkan di bawah.

Frekuensi sampel

Anda menentukan frekuensi sampel audio di kolom sample_rate_hertz permintaan konfigurasi, dan frekuensi sampel ini harus cocok dengan frekuensi sampel konten atau streaming audio yang terkait. Frekuensi sampel antara 8.000 Hz dan 48.000 Hz didukung dalam Media Translation.

Jika Anda memiliki pilihan saat mengenkode materi sumber, rekam audio menggunakan frekuensi sampel 16.000 Hz. Nilai yang lebih rendah dari ini dapat mengganggu akurasi pengenalan suara, sehingga kualitas terjemahan akan berkurang. Selain itu, frekuensi sampel yang lebih tinggi tidak memiliki efek yang signifikan terhadap kualitas pengenalan ucapan, dan dapat meningkatkan latensi.

Namun, jika data audio telah direkam dengan frekuensi sampel yang ada selain 16.000 Hz, jangan lakukan resampling pada audio menjadi 16.000 Hz. Sebagian besar audio telepon lama, misalnya, menggunakan frekuensi sampel 8.000 Hz, yang mungkin memberikan hasil yang kurang akurat. Jika Anda harus menggunakan audio tersebut, sediakan audio ke Media Translation API dengan frekuensi sampel native.

Bahasa

Mesin pengenalan/terjemahan Media Translation mendukung berbagai pasangan bahasa/dialek. Tentukan bahasa (dan dialek nasional atau wilayah) audio Anda dalam kolom source_language_code dan target_language_code pada konfigurasi permintaan, menggunakan ID BCP-47.

Daftar lengkap bahasa yang didukung untuk setiap fitur tersedia di halaman Bahasa yang Didukung.

Memilih model

Media Translation dapat menggunakan salah satu dari beberapa model machine learning untuk menerjemahkan file audio Anda. Google telah melatih model ini untuk jenis dan sumber audio tertentu.

Saat mengirim permintaan terjemahan audio ke Media Translation, Anda dapat meningkatkan hasil yang diterima dengan menentukan model. Hal ini memungkinkan Media Translation API memproses file audio Anda menggunakan model machine learning yang dilatih untuk mengenali audio ucapan dari jenis sumber tertentu.

Guna menentukan model untuk terjemahan ucapan, sertakan kolom model dalam objek TranslateSpeechConfig untuk permintaan Anda, dengan menentukan model yang ingin Anda gunakan.

Media Translation dapat menggunakan jenis model machine learning berikut untuk menerjemahkan file audio Anda.

Jenis Name:String Deskripsi
Video google-provided-model/video

Gunakan model ini untuk mentranskripsikan audio dalam klip video atau yang menyertakan beberapa speaker. Untuk hasil terbaik, sediakan audio yang direkam pada frekuensi 16.000 Hz atau lebih.

Catatan: Ini adalah model premium yang harganya lebih mahal daripada tarif standar.

Panggilan telepon google-provided-model/(enhanced-)phone-call

Gunakan model ini untuk mentranskripsikan audio dari panggilan telepon. Biasanya, audio telepon direkam pada frekuensi sampling 8.000 Hz.

Catatan: Model ponsel yang ditingkatkan kualitasnya adalah model premium yang harganya lebih tinggi daripada tarif standar.

terjemahan media: Default google-provided-model/default

Gunakan model ini jika audio Anda tidak sesuai dengan salah satu model yang dijelaskan sebelumnya. Misalnya, Anda dapat menggunakan ini untuk rekaman audio berdurasi panjang yang hanya menampilkan satu speaker. Idealnya, audio berakurasi tinggi, direkam pada frekuensi 16.000 Hz atau lebih.

Menyematkan konten audio

Audio tersemat disertakan dalam permintaan terjemahan ucapan streaming saat meneruskan kolom audio_content dalam permintaan streaming. Untuk audio tersemat yang disediakan sebagai konten dalam permintaan gRPC, audio tersebut harus kompatibel untuk serialisasi Proto3, dan disediakan sebagai data biner.

Saat membuat permintaan menggunakan library klien Google Cloud, Anda umumnya akan menulis data biner ini langsung dalam kolom audio_content.

Untuk melihat contoh kode, lihat Menerjemahkan audio streaming.