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.

Dalam lab ini, kita akan merekam file audio dan mengirimkannya ke Cloud Speech API untuk membuat transkripsinya.

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 2016-02-10 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 Konsol Cloud 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 drop-down.

Klik Enable APIs and Services.

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

Klik Enable untuk mengaktifkan Cloud Speech API:

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

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

Untuk mulai menggunakan Cloud Shell, klik ikon "Activate Google Cloud Shell" Screen Shot 2015-06-08 at 5.30.32 PM.pngdi pojok kanan atas header bar

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

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

Kemudian klik Buat kredensial:

Pada menu drop-down, pilih Kunci API:

Selanjutnya, salin kunci yang baru saja Anda buat dan pilih Close (jangan batasi kunci).

Setelah memiliki kunci API, simpan kunci tersebut ke variabel lingkungan agar Anda tidak perlu memasukkan nilai kunci API Anda 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 Anda agar dapat dengan mudah merujuknya dan tambahkan berikut ini 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. Dalam 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 lebih detailnya). Ada parameter lain yang dapat Anda tambahkan ke objek config, tetapi encoding adalah satu-satunya parameter yang diperlukan. languageCode akan secara default disetel dalam bahasa Inggris jika tidak disebutkan di dalam permintaan.

Dalam objek audio, Anda dapat meneruskan uri file audio di Cloud Storage atau audio berenkode base64 sebagai string ke API. Di sini kita menggunakan URL Cloud Storage. Langkah berikutnya adalah memanggil Speech API.

Kini, Anda dapat meneruskan isi permintaan, termasuk variabel lingkungan kunci API yang sebelumnya sudah 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 ini 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 tingkat keyakinan API dalam mentranskripsikan audio Anda secara akurat.

Anda akan melihat bahwa kita memanggil metode recognize dalam permintaan di atas. Speech API mendukung transkripsi speech to text sinkron dan asinkron. Dalam contoh ini, kita mengirimkan file audio lengkap, tetapi Anda juga dapat menggunakan metode longrunningrecognize untuk menjalankan streaming transkripsi speech to text selagi 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 coba file audio dalam bahasa Prancis (dengarkan audio di sini jika Anda ingin mendengarnya sekilas). Ubah request.json Anda menjadi seperti berikut:

request.json

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

Anda akan melihat respons berikut:

{
  "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 asal Prancis. Jika mempunyai 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