Tutorial ini menunjukkan cara menggunakan Bahasa Markup Sintesis Ucapan (SSML)untuk mengucapkan file teks alamat. Anda dapat me-markup string teks dengan tag SSML untuk mempersonalisasi audio sintetis dari Text-to-Speech.
Teks biasa | Rendering teks biasa dengan SSML |
---|---|
123 Street Ln |
<speak>123 Street Ln</speak> |
1 Number St |
<speak>1 Number St</speak> |
1 Piazza del Fibonacci |
<speak>1 Piazza del Fibonacci</speak> |
Tujuan
Kirim permintaan ucapan sintetis ke Text-to-Speech menggunakan SSML dan library klien Text-to-Speech.
Biaya
Lihat halaman harga Text-to-Speech untuk mengetahui informasi biaya.
Sebelum memulai
- Pastikan Anda memiliki project Text-to-Speech di konsol Google Cloud.
- Tutorial ini memungkinkan Anda menggunakan Java, Node.js, atau Python. Jika Anda berencana menggunakan Java, download dan instal Maven. Jika Anda berencana menggunakan Node.js, download npm.
Mendownload contoh kode
Untuk mendownload contoh kode, clone sampel GitHub Google Cloud untuk bahasa pemrograman yang ingin Anda gunakan.
Java
Tutorial ini menggunakan kode dalam direktori texttospeech/cloud-client/src/main/java/com/example/texttospeech/
repositori sampel Java Google Cloud Platform.
Untuk mendownload dan membuka kode untuk tutorial ini, jalankan perintah berikut
dari terminal.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/texttospeech/cloud-client/src/main/java/com/example/texttospeech/
Node.js
Tutorial ini menggunakan kode dalam direktori texttospeech
repositori contoh Node.js Google Cloud Platform.
Untuk mendownload dan membuka kode untuk tutorial ini, jalankan
perintah berikut
dari terminal.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
Tutorial ini menggunakan kode di direktori texttospeech/snippets
pada
repositori contoh Python Google Cloud Platform.
Untuk mendownload dan membuka kode untuk tutorial ini, jalankan perintah berikut
dari terminal.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
Menginstal library klien
Tutorial ini menggunakan library klien Text-to-Speech.
Java
Tutorial ini menggunakan dependensi berikut.
Node.js
Dari terminal, jalankan perintah berikut.
npm install @google-cloud/text-to-speech
Python
Dari terminal, jalankan perintah berikut.
pip install --upgrade google-cloud-texttospeech
Menyiapkan kredensial Google Cloud Platform
Berikan kredensial autentikasi ke kode aplikasi Anda dengan menetapkan
variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
. Variabel
ini hanya berlaku untuk sesi shell Anda saat ini. Jika Anda ingin variabel
diterapkan ke sesi shell berikutnya, tetapkan variabel dalam file startup shell,
misalnya dalam file ~/.bashrc
atau ~/.profile
.
Linux atau macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Contoh:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
Untuk PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Contoh:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
Untuk command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Mengimpor library
Tutorial ini menggunakan sistem dan library klien berikut.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Java API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Node.js API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Python API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menggunakan Text-to-Speech API
Fungsi berikut mengambil string teks yang diberi tag dengan SSML dan nama file MP3. Fungsi ini menggunakan teks yang diberi tag dengan SSML untuk menghasilkan audio sintetis. Fungsi ini menyimpan audio sintetis ke nama file MP3 yang ditetapkan sebagai parameter.
Seluruh input SSML hanya dapat dibaca oleh satu suara.
Anda dapat menyetel suara dalam
objek
VoiceSelectionParams
.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Java API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Node.js API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Python API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mempersonalisasi audio sintetis
Fungsi berikut menggunakan nama file teks dan mengonversi isi file menjadi string teks yang diberi tag dengan SSML.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Java API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Node.js API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Text-to-Speech, lihat library klien Text-to-Speech. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Text-to-Speech Python API.
Untuk mengautentikasi ke Text-to-Speech, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menggabungkan semuanya
Program ini menggunakan input berikut.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Meneruskan teks di atas ke text_to_ssml()
akan menghasilkan teks yang diberi tag berikut.
<speak>123 Street Ln, Small Town, IL 12345 USA <break time="2s"/>1 Jenny St & Number St, Tutone City, CA 86753 <break time="2s"/>1 Piazza del Fibonacci, 12358 Pisa, Italy <break time="2s"/></speak>
Menjalankan kode
Untuk menghasilkan file audio ucapan sintetis, jalankan kode berikut dari command line.
Java
Linux atau MacOS
Dari direktori java-docs-samples/texttospeech/cloud-client/
, jalankan perintah berikut di command line.
$ mvn clean package
Windows
Dari direktori java-docs-samples/texttospeech/cloud-client/
, jalankan perintah berikut di command line.
$ mvn clean package
Node.js
Linux atau MacOS
Di file hybridGlossaries.js
, hapus tanda komentar pada variabel yang dikomentari TODO (developer)
.
Di perintah berikut, ganti projectId dengan ID project Google Cloud Anda.
Dari direktori nodejs-docs-samples/texttospeech
, jalankan perintah berikut di command line.
$ node ssmlAddresses.js projectId
Windows
Di file hybridGlossaries.js
, hapus tanda komentar pada variabel yang dikomentari TODO (developer)
.
Di perintah berikut, ganti projectId dengan ID project Google Cloud Anda.
Dari direktori nodejs-docs-samples/texttospeech
, jalankan perintah berikut di command line.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux atau MacOS
Dari direktori python-docs-samples/texttospeech/snippets
, jalankan perintah berikut di command line.
$ python ssml_addresses.py
Windows
Dari direktori python-docs-samples/texttospeech/snippets
, jalankan perintah berikut di command line.
$env: C:/Python3/python.exe C: ssml_addresses.py
Memeriksa output
Program ini menghasilkan file audio example.mp3 yang berisi ucapan sintetis.
Java
Buka direktori java-docs-samples/texttospeech/cloud-client/resources/
.
Periksa direktori resources
untuk menemukan file example.mp3.
Node.js
Buka direktori nodejs-docs-samples/texttospeech/resources/
.
Periksa direktori resources
untuk menemukan file example.mp3.
Python
Buka python-docs-samples/texttospeech/snippets/resources
.
Periksa direktori resources
untuk menemukan file example.mp3.
Dengarkan klip audio berikut untuk memastikan apakah file example.mp3 Anda terdengar sama.
Memecahkan masalah
Jika Anda lupa menetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS pada command line, pesan error akan muncul:
The Application Default Credentials are not available.
Meneruskan nama file yang tidak ada pada
text_to_ssml()
akan menghasilkan pesan error:IOError: [Errno 2] No such file or directory
Meneruskan parameter ssml_text yang berisi None ke
ssml_to_audio()
akan menghasilkan pesan error:InvalidArgument: 400 Invalid input type. Type has to be text or SSML
Pastikan Anda menjalankan kode dari direktori yang benar.
Langkah berikutnya
- Pelajari tag SSML lainnya.
- Pelajari cara menggunakan SSML dengan Terjemahan dan Visi
Membersihkan
Agar tidak menimbulkan biaya pada akun Google Cloud Platform Anda untuk resource yang digunakan dalam tutorial ini, gunakan konsol Google Cloud untuk menghapus project jika Anda tidak memerlukannya.
Menghapus project Anda
- Di konsol Google Cloud, buka halaman Projects.
- Dalam daftar project, pilih project yang ingin dihapus, lalu klik Delete.
- Di kotak dialog, ketik project ID, lalu klik Shut down untuk menghapus project.