GSP222

Ringkasan
Text-to-Speech API memungkinkan Anda membuat file audio ucapan manusia yang dihasilkan mesin, atau sintetis. Anda menyediakan konten sebagai teks atau Speech Synthesis Markup Language (SSML), menentukan suara ('pembicara' unik suatu bahasa dengan nada dan aksen khas), dan mengonfigurasi output; Text-to-Speech API mengembalikan konten yang Anda kirimkan sebagai kata-kata yang diucapkan, data audio, yang disampaikan oleh suara yang Anda tentukan.
Di lab ini, Anda akan menggunakan Text-to-Speech API untuk membuat serangkaian file audio, lalu mendengarkannya untuk membandingkan perbedaannya.
Yang akan Anda pelajari
Di lab ini, Anda akan menggunakan Text-to-Speech API untuk melakukan hal berikut:
- Membuat serangkaian file audio.
- Mendengarkan dan membandingkan file audio.
- Mengonfigurasi output audio.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Menetapkan region untuk project Anda
Di Cloud Shell, masukkan perintah berikut untuk menetapkan region untuk menjalankan project Anda di lab ini:
gcloud config set compute/region {{{project_0.default_region | Region}}}
Tugas 1. Mengaktifkan Text-to-Speech API
Halaman Cloud Text-to-Speech API menampilkan detail, metrik, dan lainnya.
Mengaktifkan API:
-
Di Navigation menu (
), klik APIs and Services > Library.
-
Masukkan text-to-speech di kotak Search for APIs & Services, lalu klik Cloud Text-to-Speech API dari hasil penelusuran.
-
Klik Enable untuk mengaktifkan Cloud Text-to-Speech API.
Tunggu beberapa detik hingga API diaktifkan untuk project.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mengaktifkan Text-to-Speech API
Tugas 2. Membuat lingkungan virtual
Lingkungan virtual python digunakan untuk mengisolasi penginstalan paket dari sistem.
- Instal lingkungan
virtualenv
:
sudo apt-get install -y virtualenv
- Bangun lingkungan virtual:
python3 -m venv venv
- Aktifkan lingkungan virtual:
source venv/bin/activate
Tugas 3. Membuat akun layanan
Anda menggunakan akun layanan untuk mengautentikasi panggilan ke Text-to-Speech API.
Membuat akun layanan:
- Jalankan perintah berikut di Cloud Shell:
gcloud iam service-accounts create tts-qwiklab
- Buat kunci untuk menggunakan akun layanan tersebut:
gcloud iam service-accounts keys create tts-qwiklab.json --iam-account tts-qwiklab@{{{project_0.project_id | Project ID}}}.iam.gserviceaccount.com
- Terakhir, tetapkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ke lokasi file kunci Anda:
export GOOGLE_APPLICATION_CREDENTIALS=tts-qwiklab.json
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat akun layanan
Tugas 4. Mendapatkan daftar suara yang tersedia
Text-to-Speech API menyediakan berbagai suara dan bahasa yang dapat Anda gunakan untuk membuat file audio. Anda dapat menggunakan suara yang tersedia sebagai pembicara untuk konten Anda.
Catatan: Text-to-Speech API mencakup beberapa suara premium, yang dikenal sebagai suara WaveNet, yang menghasilkan ucapan sintetis yang terdengar lebih alami. Suara ini juga sedikit lebih mahal daripada suara lain yang tersedia. Lihat halaman harga Cloud Text-to-Speech untuk mengetahui detail selengkapnya.
- Masih di Cloud Shell, gunakan perintah
curl
berikut untuk mencantumkan suara yang tersedia saat Anda menggunakan Text-to-Speech API untuk membuat ucapan sintetis:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://texttospeech.googleapis.com/v1/voices"
Text-to-Speech API menampilkan hasil berformat JSON yang terlihat mirip dengan berikut ini:
{
"voices": [
{
"languageCodes": [
"es-ES"
],
"name": "es-ES-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 24000
},
{
"languageCodes": [
"ja-JP"
],
"name": "ja-JP-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 22050
},
{
"languageCodes": [
"pt-BR"
],
"name": "pt-BR-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 24000
},
...
]
}
Dalam hasil perintah curl
, perhatikan bahwa setiap suara memiliki empat kolom:
-
name
: ID suara yang Anda berikan untuk meminta suara tersebut.
-
ssmlGender
: Gender suara untuk mengucapkan teks, sebagaimana didefinisikan dalam Rekomendasi W3 SSML.
-
naturalSampleRateHertz
: Frekuensi sampling suara.
-
languageCodes
: Daftar kode bahasa yang terkait dengan suara tersebut.
Perhatikan juga bahwa beberapa bahasa memiliki beberapa suara yang dapat dipilih.
- Batasi cakupan hasil yang ditampilkan dari API ke satu kode bahasa saja:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://texttospeech.googleapis.com/v1/voices?language_code=en"
Tugas 5. Membuat ucapan sintetis dari teks
Setelah melihat cara mendapatkan nama suara untuk mengucapkan teks Anda, sekarang saatnya membuat ucapan sintetis.
Buat permintaan Anda
Untuk melakukannya, gunakan Cloud Shell Editor untuk membuat permintaan ke Text-to-Speech API dalam file teks bernama synthesize-text.json
.
-
Di Cloud Shell, klik Open Editor untuk membuka Cloud Shell Editor.
-
Di panel tindakan, klik File > New file.
-
Di kolom Select File Type or Enter File Name, masukkan synthesize-text.json.
-
Klik OK.
-
Tambahkan kode berikut ke synthesize-text.json
:
{
'input':{
'text':'Cloud Text-to-Speech API allows developers to include
natural-sounding, synthetic human speech as playable audio in
their applications. Text-to-Speech API mengonversi input teks atau
Speech Synthesis Markup Language (SSML) menjadi data audio
seperti MP3 atau LINEAR16 (encoding yang digunakan dalam file WAV).'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
- Klik File > Save untuk menyimpan file.
Permintaan berformat JSON menyediakan tiga objek:
-
input
: Menyediakan teks untuk diterjemahkan ke dalam ucapan sintetis.
-
voice
: Objek menentukan suara yang akan digunakan untuk ucapan sintetis.
-
audioConfig
: Memberi tahu Text-to-Speech API jenis encoding audio yang akan dikirim kembali.
-
Klik Open Terminal untuk kembali ke terminal.
-
Memanggil Text-to-Speech API:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-text.json "https://texttospeech.googleapis.com/v1/text:synthesize" \
> synthesize-text.txt
Output panggilan ini disimpan ke file bernama synthesize-text.txt
.
- Klik Open Editor dan buka file
synthesize-text.txt
. Perhatikan bahwa Text-to-Speech API menyediakan output audio dalam teks berenkode base64 yang ditetapkan ke kolom audioContent
, seperti yang ditunjukkan di bawah ini:
{
"audioContent": "//NExAASGoHwABhGudEACdzqFXfRE4EY3AACkD/zX4ADf/6J/[...]"
}
Menerjemahkan respons
Untuk menerjemahkan respons ke dalam audio, Anda memilih data audio yang terdapat di synthesize-text.txt
dan mendekodenya menjadi file audio, yaitu file MP3 untuk lab ini. Ada banyak cara untuk melakukannya, lab ini menyediakan beberapa kode Python sederhana.
-
Di panel tindakan, klik File > New file.
-
Di kolom Select File Type or Enter File Name, ketik lalu masukkan tts_decode.py.
-
Klik OK.
-
Ketik atau salin kode berikut ke tts_decode.py
:
import argparse
from base64 import decodebytes
import json
"""
Usage:
python tts_decode.py --input "synthesize-text.txt" \
--output "synthesize-text-audio.mp3"
"""
def decode_tts_output(input_file, output_file):
""" Decode output from Cloud Text-to-Speech.
input_file: respons dari Cloud Text-to-Speech
output_file: nama file audio yang akan dibuat
"""
with open(input_file) as input:
response = json.load(input)
audio_data = response['audioContent']
with open(output_file, "wb") as new_file:
new_file.write(decodebytes(audio_data.encode('utf-8')))
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description="Decode output from Cloud Text-to-Speech",
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('--input',
help='The response from the Text-to-Speech API.',
required=True)
parser.add_argument('--output',
help='The name of the audio file to create',
required=True)
args = parser.parse_args()
decode_tts_output(args.input, args.output)
- Simpan
tts_decode.py
.
Membuat dan menjalankan file audio
Untuk membuat file audio dari respons yang Anda terima dari Text-to-Speech API:
-
Klik Open Terminal untuk kembali ke Cloud Shell.
-
Buat file audio synthesize-text-audio.mp3
:
python tts_decode.py --input "synthesize-text.txt" --output "synthesize-text-audio.mp3"
-
Klik Open Editor untuk membuka Cloud Shell Editor.
-
Klik synthesize-text-audio.mp3
di panel kiri untuk membuka file.
-
Putar audio untuk mendengarkan file. Anda akan mendengar suara sintetis mengucapkan teks yang Anda berikan.
Tugas 6. Membuat ucapan sintetis dari SSML
Selain menggunakan teks, Anda juga dapat memberikan input ke Text-to-Speech API dalam bentuk Speech Synthesis Markup Language (SSML). SSML menentukan format XML untuk merepresentasikan ucapan sintetis. Dengan menggunakan input SSML, Anda dapat mengontrol jeda, penekanan, pengucapan, nada, kecepatan, dan kualitas lainnya dalam output ucapan sintetis dengan lebih presisi.
Buat permintaan Anda
Pertama, buat permintaan ke Text-to-Speech API dalam file teks berjudul synthesize-ssml.json
.
-
Masih di Cloud Shell Editor, di panel tindakan, klik File > New file.
-
Di kolom Select File Type or Enter File Name, ketik lalu masukkan synthesize-ssml.json.
-
Klik OK.
-
Ketik atau salin kode berikut ke synthesize-ssml.json
:
{
'input':{
'ssml':'<speak><s>
<emphasis level="moderate">Cloud Text-to-Speech API</emphasis>
memungkinkan developer menyertakan ucapan manusia
sintetis yang terdengar alami
<break strength="x-weak"/>
sebagai audio yang dapat diputar dalam
aplikasi mereka.</s>
<s>Text-to-Speech API mengonversi teks atau
<prosody rate="slow">Speech Synthesis Markup Language</prosody>
<say-as interpret-as=\"characters\">SSML</say-as>
menjadi data audio
seperti <say-as interpret-as=\"characters\">MP3</say-as> atau
<sub alias="linear sixteen">LINEAR16</sub>
<break strength="weak"/>
(encoding yang digunakan dalam
file <sub alias="wave">WAV</sub>).</s></speak>'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
Perhatikan bahwa objek input
dari payload JSON yang akan dikirimkan kali ini mencakup beberapa hal yang berbeda:
- Alih-alih kolom
text
, objek input
memiliki kolom ssml
.
- Kolom
ssml
berisi konten berformat XML dengan elemen <speak>
sebagai root-nya.
Setiap elemen yang ada dalam representasi XML input ini memengaruhi output ucapan sintetis.
Secara khusus, elemen dalam sampel ini memiliki efek berikut:
-
<s>
berisi sebuah kalimat.
-
<emphasis>
menambahkan penekanan pada kata atau frasa yang disertakan.
-
<break>
menyisipkan jeda dalam ucapan.
-
<prosody>
menyesuaikan nada, kecepatan bicara, atau volume teks yang disertakan, sebagaimana ditentukan oleh atribut rate
, pitch
, atau volume
.
-
<say-as>
memberikan panduan lebih lanjut tentang cara menafsirkan dan mengucapkan teks yang disertakan, misalnya, apakah akan mengucapkan urutan angka sebagai ordinal atau kardinal.
-
<sub>
menentukan nilai substitusi untuk diucapkan untuk teks yang disertakan.
Catatan: Anda dapat melihat daftar lengkap elemen SSML yang didukung oleh Cloud Text-to-Speech dengan meninjau referensi SSML.
-
Klik Open Terminal untuk membuka terminal Cloud Shell.
-
Panggil Text-to-Speech API, dan simpan output ke file bernama synthesize-ssml.txt
:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-ssml.json "https://texttospeech.googleapis.com/v1/text:synthesize" \
> synthesize-ssml.txt
Membuat dan menjalankan file audio
Sekali lagi, Anda perlu mendekode output dari Text-to-Speech API sebelum dapat mendengar audionya.
- Klik Open Terminal. Jalankan perintah berikut untuk membuat file audio bernama
synthesize-ssml-audio.mp3
menggunakan utilitas tts_decode.py
yang Anda buat sebelumnya:
python tts_decode.py --input "synthesize-ssml.txt" --output "synthesize-ssml-audio.mp3"
-
Klik Open Editor.
-
Klik synthesize-ssml-audio.mp3
di panel kiri, lalu putar file audio yang disematkan.
Perhatikan perbedaan dalam output SSML dan output file teks: meskipun kedua file audio mengucapkan kata-kata yang sama, output SSML mengucapkannya sedikit berbeda, dengan menambahkan jeda dan pelafalan yang berbeda untuk singkatan.
Tugas 7. Mengonfigurasi output audio dan profil perangkat
Selain SSML, Anda dapat memberikan lebih banyak penyesuaian pada output ucapan sintetis yang dibuat oleh Text-to-Speech API. Anda dapat menentukan encoding audio lain, mengubah nada output audio, dan bahkan meminta agar output dioptimalkan untuk jenis hardware tertentu.
Buat permintaan Anda
Buat permintaan ke Text-to-Speech API dalam file teks berjudul synthesize-with-settings.json
:
-
Di panel tindakan, klik File > New file.
-
Di kolom Select File Type or Enter File Name, ketik lalu masukkan synthesize-with-settings.json.
-
Klik OK.
-
Ketik atau salin kode berikut ke synthesize-with-settings.json
:
{
'input':{
'text':'Text-to-Speech API sangat ideal untuk aplikasi apa pun
yang memutar audio ucapan manusia kepada pengguna. Alat ini memungkinkan Anda mengubah string, kata, dan
kalimat arbitrer menjadi suara seseorang yang mengucapkan hal yang sama.
},
'voice':{
'languageCode':'en-us',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'speakingRate': 1.15,
'pitch': -2,
'audioEncoding':'OGG_OPUS',
'effectsProfileId': ['headphone-class-device']
}
}
- Simpan file.
Perhatikan bahwa objek audioConfig
kini berisi kolom tambahan:
- Kolom
speakingRate
menentukan kecepatan pengucapan suara oleh pembicara. Nilai 1,0 adalah kecepatan normal untuk suara, 0,5 adalah setengahnya, dan 2,0 adalah dua kali lebih cepat.
- Kolom
pitch
menentukan perbedaan nada untuk mengucapkan kata-kata. Nilai di sini menentukan jumlah semitone yang lebih rendah (negatif) atau lebih tinggi (positif) untuk mengucapkan kata-kata.
- Kolom
audioEncoding
menentukan encoding audio yang akan digunakan untuk data. Nilai yang diterima untuk kolom ini adalah LINEAR16
, MP3
, dan OGG_OPUS
.
- Kolom
effectsProfileId
meminta Text-to-Speech API untuk mengoptimalkan output audio untuk perangkat pemutaran tertentu. API ini menerapkan profil audio yang telah ditentukan sebelumnya ke output yang meningkatkan kualitas audio pada class perangkat yang ditentukan.
Catatan: Fitur Profil Audio dalam status rilis Beta. Tinjau panduan untuk mengetahui detail tentang cara menggunakannya di aplikasi Anda. Semua setelan lain yang dijelaskan di sini umumnya tersedia untuk penggunaan normal di aplikasi Anda.
-
Klik Open Terminal.
-
Memanggil Text-to-Speech API:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-with-settings.json "https://texttospeech.googleapis.com/v1beta1/text:synthesize" \
> synthesize-with-settings.txt
Output panggilan ini disimpan ke file bernama synthesize-with-settings.txt
.
Membuat dan menjalankan file audio
- Jalankan perintah berikut untuk menghasilkan file audio bernama
synthesize-with-settings-audio.mp3
dari output yang diterima dari Text-to-Speech API:
python tts_decode.py --input "synthesize-with-settings.txt" --output "synthesize-with-settings-audio.ogg"
-
Klik Open Editor untuk membuka Cloud Shell Editor.
-
Klik synthesize-with-settings-audio.mp3
di panel kiri untuk membuka file, lalu putar audio.
-
Putar file audio synthesize-with-settings-audio.mp3
serta file audio lain yang Anda buat di lab ini. Perhatikan bahwa suara dalam audio ini berbicara sedikit lebih cepat dan lebih rendah daripada file audio lainnya.
Selamat!
Anda telah mempelajari cara membuat ucapan sintetis menggunakan Cloud Text-to-Speech API. Anda telah mempelajari:
- Mencantumkan semua suara sintetis yang tersedia melalui Text-to-Speech API
- Membuat permintaan Text-to-Speech API dan memanggil API dengan curl, yang menyediakan teks dan SSML
- Mengonfigurasi setelan untuk output audio, termasuk menentukan profil perangkat untuk pemutaran audio
Langkah berikutnya/Pelajari lebih lanjut
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 5 September 2025
Lab Terakhir Diuji pada 4 November 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.