Transkripsi speech to text dengan Cloud Speech-to-Text API

Dengan Cloud Speech API, Anda dapat membuat transkripsi speech to text dari file audio ke dalam lebih dari 80 bahasa.

Di lab ini, kita akan merekam file audio dan mengirimkannya ke Cloud Speech API untuk transkripsi.

Yang akan Anda pelajari

  • Membuat permintaan Speech API dan memanggil API menggunakan curl
  • Memanggil Speech API dengan file audio dalam berbagai bahasa

Yang Anda butuhkan

  • Project Google Cloud Platform
  • Browser, seperti Chrome atau Firefox

Bagaimana Anda akan menggunakan tutorial ini?

Hanya membacanya Membacanya dan menyelesaikan latihan

Bagaimana penilaian Anda terhadap pengalaman dengan Google Cloud Platform?

Pemula Menengah Mahir

Penyiapan lingkungan mandiri

Jika belum memiliki Akun Google (Gmail atau Google Apps), Anda harus membuatnya. Login ke Google Cloud Platform console (console.cloud.google.com) dan buat project baru:

Screenshot dari 10-02-2016 12:45:26.png

Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID.

Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.

Menjalankan melalui codelab ini tidak akan menghabiskan biaya lebih dari beberapa dolar, tetapi bisa lebih jika Anda memutuskan untuk menggunakan lebih banyak resource atau jika Anda membiarkannya berjalan (lihat bagian "pembersihan" di akhir dokumen ini).

Pengguna baru Google Cloud Platform memenuhi syarat untuk mendapatkan uji coba gratis senilai $300.

Klik ikon menu di kiri atas layar.

Pilih dasbor API dan Layanan dari menu drop-down.

Klik Enable APIs and Services.

Kemudian, telusuri "speech" di kotak penelusuran. Klik Google Cloud Speech API:

Klik Aktifkan untuk mengaktifkan Cloud Speech API:

Tunggu beberapa detik hingga perangkat diaktifkan. Anda akan melihat ini setelah diaktifkan:

Google Cloud Shell adalah lingkungan command line yang berjalan di Cloud. Mesin virtual berbasis Debian ini memuat semua alat pengembangan yang akan Anda perlukan (gcloud, bq, git, dan lainnya) dan menawarkan direktori home persisten sebesar 5 GB. Kami akan menggunakan Cloud Shell untuk membuat permintaan ke Speech API.

Untuk memulai Cloud Shell, Klik ikon "Aktifkan Google Cloud Shell" Tangkapan Layar 08-06-2015 pukul 17.30.32.pngdi pojok kanan atas kolom header

Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah konsol dan menampilkan perintah command-line. Tunggu hingga permintaan user@project:~$ muncul

Karena kita akan menggunakan curl untuk mengirim permintaan ke Speech API, kita perlu membuat kunci API untuk meneruskan URL permintaan kita. Untuk membuat kunci API, buka bagian API & Services > Credentials di dasbor project Anda:

Kemudian klik Buat kredensial:

Pada menu drop-down, pilih Kunci API:

Berikutnya, salin kunci yang baru saja Anda buat, lalu pilih Tutup (jangan batasi kunci).

Setelah Anda memiliki kunci API, simpan kunci tersebut ke variabel lingkungan agar Anda tidak perlu memasukkan nilai kunci API dalam setiap permintaan. Anda dapat melakukannya di Cloud Shell. Pastikan untuk mengganti <your_api_key> dengan kunci yang baru saja Anda salin.

export API_KEY=<YOUR_API_KEY>

Anda dapat membuat permintaan ke speech API dalam file request.json. Untuk membuat dan mengedit file ini, Anda dapat menggunakan salah satu editor command line pilihan Anda (nano, vim, emacs) atau menggunakan editor web bawaan di Cloud Shell:

Buat file di direktori beranda agar dapat direferensikan dengan mudah dan tambahkan hal berikut ke file request.json Anda :

request.json

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

Isi permintaan memiliki objek config dan audio. Pada config, kita memberi tahu Speech API cara memproses permintaan. Parameter encoding memberi tahu API jenis encoding audio yang Anda gunakan untuk file audio yang Anda kirim ke API. FLAC adalah jenis encoding untuk file .raw (lihat dokumentasi untuk jenis encoding guna mengetahui detail selengkapnya). Ada parameter lain yang dapat Anda tambahkan ke objek config, tetapi encoding adalah satu-satunya yang diperlukan. languageCode akan ditetapkan secara default ke bahasa Inggris jika tidak disebutkan di dalam permintaan.

Pada objek audio, Anda dapat meneruskan API dari uri file audio kita di Cloud Storage atau audio berenkode base64 sebagai string. Berikut menggunakan URL Cloud Storage. Langkah berikutnya adalah memanggil Speech API!

Kini Anda dapat meneruskan isi permintaan, beserta variabel lingkungan kunci API yang sebelumnya disimpan, ke Speech API dengan perintah curl berikut (semua dalam satu command line tunggal):

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

Respons yang ditampilkan oleh perintah curl akan terlihat seperti berikut:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

Nilai transcript akan menampilkan transkripsi teks Speech API dari file audio Anda, dan nilai confidence menunjukkan seberapa yakin API dalam mentranskripsikan audio Anda secara akurat.

Anda akan melihat bahwa kita memanggil metode recognize dalam permintaan kita di atas. Speech API mendukung transkripsi speech to text sinkron dan asinkron. Dalam contoh ini, kami mengirimkan file audio lengkap, tetapi Anda juga dapat menggunakan metode longrunningrecognize untuk melakukan transkripsi streaming speech to text saat pengguna masih berbicara.

Apakah Anda menguasai lebih dari satu bahasa? Speech API mendukung transkripsi speech to text ke dalam lebih dari 100 bahasa! Anda dapat mengubah parameter languageCode di request.json. Anda dapat menemukan daftar bahasa yang didukung di sini.

Mari kita coba file audio Prancis (dengarkan di sini jika Anda ingin melihat pratinjaunya). Ubah request.json Anda ke berikut ini:

request.json

 {
  "config": {
      "encoding":"FLAC",
      "languageCode": "fr"
  },
  "audio": {
      "uri":"gs://speech-language-samples/fr-sample.flac"
  }
}

Respons yang ditampilkan seharusnya seperti ini:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
          "confidence": 0.9710122
        }
      ]
    }
  ]
}

Ini adalah kalimat dari dongeng anak-anak populer di Prancis. Jika memiliki file audio dalam bahasa lain, Anda dapat mencoba menambahkannya ke Cloud Storage dan mengubah parameter languageCode dalam permintaan Anda.

Anda telah mempelajari cara melakukan transkripsi speech to text menggunakan Speech API. Dalam contoh ini, Anda meneruskan URI Google Cloud Storage file audio Anda ke API. Sebagai alternatif, Anda dapat meneruskan string yang dienkode base64 konten audio Anda.

Yang telah kita bahas

  • Meneruskan URI Google Cloud Storage yang berisi file audio ke Speech API
  • Membuat permintaan Speech API dan memanggil API menggunakan curl
  • Memanggil Speech API dengan file audio dalam berbagai bahasa

Langkah berikutnya