Membuat audio berdurasi panjang
Dokumen ini akan memandu Anda menyelesaikan proses sintesis audio berdurasi panjang. Sintesis Audio Panjang secara asinkron melakukan sintesis untuk input hingga 1 juta byte. Untuk mempelajari lebih lanjut konsep dasar Text-to-Speech, baca Dasar-Dasar Text-to-Speech.
Sebelum memulai
Sebelum dapat mengirim permintaan ke Text-to-Speech API, Anda harus menyelesaikan tindakan berikut terlebih dahulu. Lihat halaman sebelum memulai untuk mengetahui detailnya.
- Aktifkan Text-to-Speech di project Google Cloud .
- Pastikan penagihan diaktifkan untuk Text-to-Speech.
- Pastikan Anda memiliki peran Identity and Access Management (IAM) berikut di bucket Google Cloud output.
- Storage Object Creator
- Storage Object Viewer
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Menyintesis audio berdurasi panjang dari teks menggunakan command line
Anda dapat mengonversi teks panjang menjadi audio dengan membuat permintaan POST HTTP ke endpoint https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio.
Dalam isi perintah POST, tentukan kolom berikut.
• voice: Jenis suara yang akan disintesis.
• input.text: Teks yang akan disintesis.
• audioConfig: Jenis audio yang akan dibuat.
• output_gcs_uri: Jalur output Google Cloud dalam format "gs://bucket_name/file_name.wav".
• parent: Induk dalam format "projects/{YOUR PROJECT NUMBER}/locations/{YOUR PROJECT LOCATION}".
Input dapat berisi hingga 1 MB karakter, meskipun batas persisnya dapat bervariasi tergantung inputnya.
Buat bucket penyimpanan Google Cloud di project yang digunakan untuk menjalankan sintesis. Pastikan akun layanan yang digunakan untuk menjalankan sintesis memiliki akses baca dan tulis ke bucket Google Cloud output.
Jalankan permintaan REST di command line untuk menyintesis audio dari teks menggunakan Text-to-Speech. Perintah ini menggunakan perintah
gcloud auth application-default print-access-tokenuntuk mengambil token otorisasi bagi permintaan tersebut.Metode HTTP dan URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
Isi JSON permintaan:
{ "parent": "projects/12345/locations/global", "audio_config":{ "audio_encoding":"LINEAR16" }, "input":{ "text":"hello" }, "voice":{ "language_code":"en-us", "name":"en-us-Standard-A" }, "output_gcs_uri": "gs://bucket_name/file_name.wav" }Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "name": "23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 0, "startTime": "2022-12-20T00:46:56.296191037Z", "lastUpdateTime": "2022-12-20T00:46:56.296191037Z" }, "done": false }Output JSON untuk perintah REST berisi nama operasi yang panjang di kolom
name. Jalankan permintaan REST di command line untuk mengkueri status operasi yang berjalan lama.Pastikan akun layanan yang menjalankan operasi GET berasal dari project yang sama dengan yang digunakan untuk sintesis.
Metode HTTP dan URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }Kueri daftar semua operasi yang berjalan dalam project tertentu, jalankan permintaan REST.
Pastikan akun layanan yang menjalankan operasi LIST berasal dari project yang sama dengan yang digunakan untuk sintesis.
Metode HTTP dan URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }Setelah operasi yang berjalan lama berhasil diselesaikan, temukan file audio outputnya dalam uri bucket yang ditentukan di kolom
output_gcs_uri. Jika operasi ini tidak berhasil diselesaikan, temukan error-nya dengan membuat kueri menggunakan perintah GET REST, perbaiki error tersebut, dan jalankan RPC lagi.
Menyintesis audio berdurasi panjang dari teks menggunakan library klien
Ikuti petunjuk berikut untuk menyintesis audio berdurasi panjang.
Menginstal library klien
Python
Sebelum menginstal library, pastikan Anda telah menyiapkan lingkungan untuk pengembangan Python.
pip install --upgrade google-cloud-texttospeech
Membuat data audio
Anda dapat menggunakan Text-to-Speech untuk membuat file audio panjang yang berisi ucapan sintetis manusia. Gunakan kode berikut untuk membuat file audio panjang di bucket Google Cloud Anda.
Python
Sebelum menjalankan contoh, pastikan Anda telah menyiapkan lingkungan untuk pengembangan Python.
Pembersihan
Untuk menghindari tagihan Google Cloud yang tidak perlu, gunakanGoogle Cloud console untuk menghapus project Anda jika tidak lagi diperlukan.
Langkah berikutnya
- Pelajari lebih lanjut Cloud Text-to-Speech dengan membaca dasar-dasarnya.
- Tinjau daftar suara yang tersedia yang dapat Anda gunakan untuk ucapan sintetis.