Gemini-TTS adalah evolusi terbaru dari teknologi Text-to-Speech kami. Teknologi ini tidak hanya menghasilkan ucapan yang terdengar alami, tetapi juga memberikan kontrol terperinci atas audio yang dihasilkan menggunakan perintah berbasis teks. Dengan Gemini-TTS, Anda dapat melakukan sintesis ucapan berisi satu atau banyak penutur mulai dari cuplikan pendek hingga narasi panjang. Lengkap dengan pengaturan yang presisi atas gaya, aksen, kecepatan, intonasi nada, dan bahkan ekspresi emosional, semuanya dapat dikontrol menggunakan perintah bahasa alami.
Model yang tersedia
Gemini-TTS mencakup model yang tersedia berikut ini:
Gemini 2.5 Flash TTS
| ID Model | gemini-2.5-flash-tts |
|---|---|
| Dioptimalkan untuk | Pembuatan audio Text-to-Speech dengan latensi rendah, mudah dikontrol, dan mendukung satu maupun banyak penutur, cocok digunakan sebagai aplikasi sehari-hari yang hemat biaya |
| Modalitas input dan output |
|
| Jumlah penutur yang didukung | Satu penutur, multi-penutur |
| Format audio output yang didukung* | LINEAR16 (default), ALAW, MULAW, MP3, OGG_OPUS, PCM |
| Dukungan region | global |
| Pilihan suara | Lihat Pilihan suara |
| Bahasa yang tersedia | Lihat Bahasa yang tersedia |
| Contoh |
model: "gemini-2.5-flash-tts"
prompt: "Say the following"
text: "[extremely fast] Availability and terms may vary.
Check our website or your local store for complete
details and restrictions."
speaker: "Kore"
|
Gemini 2.5 Pro TTS
| ID Model | gemini-2.5-pro-tts |
|---|---|
| Dioptimalkan untuk | Kontrol mendalam untuk alur kerja terstruktur seperti pembuatan podcast, buku audio, dukungan pelanggan, dan lainnya |
| Modalitas input dan output |
|
| Jumlah penutur yang didukung | Satu penutur, multi-penutur |
| Format audio output yang didukung* | LINEAR16 (default), ALAW, MULAW, MP3, OGG_OPUS, PCM |
| Dukungan region | global |
| Pilihan suara | Lihat Pilihan suara |
| Bahasa yang tersedia | Lihat Bahasa yang tersedia |
| Contoh |
model: "gemini-2.5-pro-tts"
prompt: "You are having a casual conversation with a friend.
Say the following in a friendly and amused way."
text: "hahah I did NOT expect that. Can you believe it!."
speaker: "Callirrhoe"
|
* batch saja. streaming tidak didukung.
Kontrol tambahan
Kontrol dan kemampuan tambahan mencakup hal berikut:
Percakapan alami: Interaksi suara berkualitas tinggi dengan ekspresivitas yang lebih akurat, dan pola ritme disajikan dengan latensi yang sangat rendah sehingga percakapan berlangsung lancar.
Kontrol gaya: Dengan menggunakan perintah bahasa alami, Anda dapat menyesuaikan penyampaian dalam percakapan dengan mengarahkannya untuk menggunakan aksen tertentu serta menghasilkan berbagai nada dan ekspresi, termasuk bisikan.
Performa dinamis: Model ini dapat menjadikan teks lebih hidup untuk pembacaan puisi yang ekspresif, siaran berita, dan penceritaan yang menarik. Model ini juga dapat mengekspresikan emosi tertentu dan menggunakan aksen sesuai permintaan.
Kontrol yang lebih baik atas kecepatan dan pengucapan: Mengontrol kecepatan penyampaian membantu memastikan akurasi pengucapan yang lebih akurat, termasuk untuk kata-kata yang bersifat spesifik.
Untuk mengetahui informasi tentang cara menggunakan suara ini di aplikasi Anda, lihat Menggunakan Gemini-TTS.
Pilihan suara
Gemini-TTS menawarkan berbagai pilihan suara yang mirip dengan Chirp 3: Suara HD yang sudah ada, masing-masing dengan karakteristik yang berbeda:
| Nama | Gender | Demo |
|---|---|---|
| Achernar | Perempuan | |
| Achird | Laki-laki | |
| Algenib | Laki-laki | |
| Algieba | Laki-laki | |
| Alnilam | Laki-laki | |
| Aoede | Perempuan | |
| Autonoe | Perempuan | |
| Callirrhoe | Perempuan | |
| Charon | Laki-laki | |
| Despina | Perempuan | |
| Enceladus | Laki-laki | |
| Erinome | Perempuan | |
| Fenrir | Laki-laki | |
| Gacrux | Perempuan | |
| Iapetus | Laki-laki | |
| Kore | Perempuan | |
| Laomedeia | Perempuan | |
| Leda | Perempuan | |
| Orus | Laki-laki | |
| Pulcherrima | Perempuan | |
| Puck | Laki-laki | |
| Rasalgethi | Laki-laki | |
| Sadachbia | Laki-laki | |
| Sadaltager | Laki-laki | |
| Schedar | Laki-laki | |
| Sulafat | Perempuan | |
| Umbriel | Laki-laki | |
| Vindemiatrix | Perempuan | |
| Zephyr | Perempuan | |
| Zubenelgenubi | Laki-laki |
Bahasa yang tersedia
Gemini-TTS mendukung bahasa berikut:
| Bahasa | Kode BCP-47 | Kesiapan peluncuran |
|---|---|---|
| Arab (Mesir) | ar-EG | GA |
| Belanda (Belanda) | nl-NL | GA |
| Inggris (India) | en-IN | GA |
| Inggris (Amerika Serikat) | en-US | GA |
| Prancis (Prancis) | fr-FR | GA |
| Jerman (Jerman) | de-DE | GA |
| Hindi (India) | hi-IN | GA |
| Indonesia (Indonesia) | id-ID | GA |
| Italia (Italia) | it-IT | GA |
| Jepang (Jepang) | ja-JP | GA |
| Korea (Korea Selatan) | ko-KR | GA |
| Marathi (India) | mr-IN | GA |
| Polandia (Polandia) | pl-PL | GA |
| Portugis (Brasil) | pt-BR | GA |
| Rumania (Rumania) | ro-RO | GA |
| Rusia (Rusia) | ru-RU | GA |
| Spanyol (Spanyol) | es-ES | GA |
| Tamil (India) | ta-IN | GA |
| Telugu (India) | te-IN | GA |
| Thai (Thailand) | th-TH | GA |
| Turkiye (Turkiye) | tr-TR | GA |
| Ukraina (Ukraina) | uk-UA | GA |
| Vietnam (Vietnam) | vi-VN | GA |
| Afrikaans (Afrika Selatan) | af-ZA | Pratinjau |
| Albania (Albania) | sq-AL | Pratinjau |
| Amhar (Etiopia) | am-ET | Pratinjau |
| Arab (Dunia) | ar-001 | Pratinjau |
| Armenia (Armenia) | hy-AM | Pratinjau |
| Azerbaijan (Azerbaijan) | az-AZ | Pratinjau |
| Bengali (Bangladesh) | bn-BD | Pratinjau |
| Basque (Spanyol) | eu-ES | Pratinjau |
| Belarusia (Belarus) | be-BY | Pratinjau |
| Bulgaria (Bulgaria) | bg-BG | Pratinjau |
| Burma (Myanmar) | my-MM | Pratinjau |
| Katala (Spanyol) | ca-ES | Pratinjau |
| Cebuano (Filipina) | ceb-PH | Pratinjau |
| China, Mandarin (China) | cmn-CN | Pratinjau |
| China, Mandarin (Taiwan) | cmn-TW | Pratinjau |
| Kroasia (Kroasia) | hr-HR | Pratinjau |
| Ceko (Republik Ceko) | cs-CZ | Pratinjau |
| Denmark (Denmark) | da-DK | Pratinjau |
| Inggris (Australia) | en-AU | Pratinjau |
| Inggris (Inggris Raya) | en-GB | Pratinjau |
| Estonia (Estonia) | et-EE | Pratinjau |
| Filipino (Filipina) | fil-PH | Pratinjau |
| Finlandia (Finlandia) | fi-FI | Pratinjau |
| Prancis (Kanada) | fr-CA | Pratinjau |
| Galisia (Spanyol) | gl-ES | Pratinjau |
| Georgia (Georgia) | ka-GE | Pratinjau |
| Yunani (Yunani) | el-GR | Pratinjau |
| Gujarati (India) | gu-IN | Pratinjau |
| Kreol Haiti (Haiti) | ht-HT | Pratinjau |
| Ibrani (Israel) | he-IL | Pratinjau |
| Hungaria (Hungaria) | hu-HU | Pratinjau |
| Islandia (Islandia) | is-IS | Pratinjau |
| Jawa (Jawa) | jv-JV | Pratinjau |
| Kannada (India) | kn-IN | Pratinjau |
| Konkani (India) | kok-IN | Pratinjau |
| Lao (Laos) | lo-LA | Pratinjau |
| Latin (Vatikan) | la-VA | Pratinjau |
| Latvia (Latvia) | lv-LV | Pratinjau |
| Lituania (Lituania) | lt-LT | Pratinjau |
| Luksemburg (Luksemburg) | lb-LU | Pratinjau |
| Makedonia (Makedonia Utara) | mk-MK | Pratinjau |
| Maithili (India) | mai-IN | Pratinjau |
| Malagasi (Madagaskar) | mg-MG | Pratinjau |
| Melayu (Malaysia) | ms-MY | Pratinjau |
| Malayalam (India) | ml-IN | Pratinjau |
| Mongolia (Mongolia) | mn-MN | Pratinjau |
| Nepali (Nepal) | ne-NP | Pratinjau |
| Norwegia, Bokmål (Norwegia) | nb-NO | Pratinjau |
| Norwegia, Norsk (Norwegia) | nn-NO | Pratinjau |
| Odia (India) | or-IN | Pratinjau |
| Pashto (Afganistan) | ps-AF | Pratinjau |
| Farsi (Iran) | fa-IR | Pratinjau |
| Portugis (Portugal) | pt-PT | Pratinjau |
| Punjabi (India) | pa-IN | Pratinjau |
| Serbia (Serbia) | sr-RS | Pratinjau |
| Sindhi (India) | sd-IN | Pratinjau |
| Sinhala (Sri Lanka) | si-LK | Pratinjau |
| Slovakia (Slovakia) | sk-SK | Pratinjau |
| Slovenia (Slovenia) | sl-SI | Pratinjau |
| Spanyol (Amerika Latin) | es-419 | Pratinjau |
| Spanyol (Meksiko) | es-MX | Pratinjau |
| Swahili (Kenya) | sw-KE | Pratinjau |
| Swedia (Swedia) | sv-SE | Pratinjau |
| Urdu (Pakistan) | ur-PK | Pratinjau |
Menggunakan Gemini-TTS
Temukan cara menggunakan model Gemini-TTS untuk menyintesis ucapan satu penutur dan multi-penutur.
Sebelum memulai
Sebelum dapat mulai menggunakan Text-to-Speech, Anda harus mengaktifkan API di konsolGoogle Cloud dengan mengikuti langkah-langkah berikut:
- Aktifkan Text-to-Speech di project.
- Pastikan penagihan diaktifkan untuk Text-to-Speech.
- Siapkan autentikasi untuk lingkungan pengembangan Anda.
Menyiapkan project Google Cloud
-
Anda dapat memilih project yang sudah ada atau membuat project baru. Untuk mengetahui detail selengkapnya tentang cara membuat project, lihat dokumentasiGoogle Cloud .
Jika Anda membuat project baru, akan muncul pesan yang memberi tahu Anda untuk menautkan akun penagihan. Jika Anda menggunakan project yang sudah ada, pastikan untuk mengaktifkan penagihan
Pelajari cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda
Setelah memilih project dan menautkannya ke akun penagihan, Anda dapat mengaktifkan Text-to-Speech API. Buka kotak Search products and resources di bagian atas halaman, lalu ketik "speech". Pilih Cloud Text-to-Speech API dari daftar hasil.
Untuk mencoba Text-to-Speech tanpa menautkannya ke project Anda, pilih opsi TRY this API. Untuk mengaktifkan Text-to-Speech API agar dapat digunakan dengan project Anda, klik Enable.
Siapkan autentikasi untuk lingkungan pengembangan Anda. Untuk mengetahui petunjuknya, lihat Menyiapkan autentikasi untuk Text-to-Speech.
Melakukan sintesis satu penutur secara sinkron
Python
# google-cloud-texttospeech minimum version 2.29.0 is required.
import os
from google.cloud import texttospeech
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
def synthesize(prompt: str, text: str, output_filepath: str = "output.mp3"):
"""Synthesizes speech from the input text and saves it to an MP3 file.
Args:
prompt: Styling instructions on how to synthesize the content in
the text field.
text: The text to synthesize.
output_filepath: The path to save the generated audio file.
Defaults to "output.mp3".
"""
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)
# Select the voice you want to use.
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
name="Charon", # Example voice, adjust as needed
model_name="gemini-2.5-pro-tts"
)
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
)
# Perform the text-to-speech request on the text input with the selected
# voice parameters and audio file type.
response = client.synthesize_speech(
input=synthesis_input, voice=voice, audio_config=audio_config
)
# The response's audio_content is binary.
with open(output_filepath, "wb") as out:
out.write(response.audio_content)
print(f"Audio content written to file: {output_filepath}")
CURL
# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "x-goog-user-project: $PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Say the following in a curious way",
"text": "OK, so... tell me about this [uhm] AI thing."
},
"voice": {
"languageCode": "en-us",
"name": "Kore",
"model_name": "gemini-2.5-flash-tts"
},
"audioConfig": {
"audioEncoding": "LINEAR16"
}
}' \
"https://texttospeech.googleapis.com/v1/text:synthesize" \
| jq -r '.audioContent' | base64 -d | ffplay - -autoexit
Melakukan sintesis multi-penutur secara sinkron dengan input teks berformat bebas
Python
# google-cloud-texttospeech minimum version 2.31.0 is required.
import os
from google.cloud import texttospeech
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
def synthesize_multispeaker_freeform(
prompt: str,
text: str,
output_filepath: str = "output_non_turn_based.wav",
):
"""Synthesizes speech from non-turn-based input and saves it to a WAV file.
Args:
prompt: Styling instructions on how to synthesize the content in the
text field.
text: The text to synthesize, containing speaker aliases to indicate
different speakers. Example: "Sam: Hi Bob!\nBob: Hi Sam!"
output_filepath: The path to save the generated audio file. Defaults to
"output_non_turn_based.wav".
"""
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)
multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
speaker_voice_configs=[
texttospeech.MultispeakerPrebuiltVoice(
speaker_alias="Speaker1",
speaker_id="Kore",
),
texttospeech.MultispeakerPrebuiltVoice(
speaker_alias="Speaker2",
speaker_id="Charon",
),
]
)
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
model_name="gemini-2.5-pro-tts",
multi_speaker_voice_config=multi_speaker_voice_config,
)
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.LINEAR16,
sample_rate_hertz=24000,
)
response = client.synthesize_speech(
input=synthesis_input, voice=voice, audio_config=audio_config
)
with open(output_filepath, "wb") as out:
out.write(response.audio_content)
print(f"Audio content written to file: {output_filepath}")
CURL
# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "x-goog-user-project: $PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Say the following as a conversation between friends.",
"text": "Sam: Hi Bob, how are you?\\nBob: I am doing well, and you?"
},
"voice": {
"languageCode": "en-us",
"modelName": "gemini-2.5-flash-tts",
"multiSpeakerVoiceConfig": {
"speakerVoiceConfigs": [
{
"speakerAlias": "Sam",
"speakerId": "Kore"
},
{
"speakerAlias": "Bob",
"speakerId": "Charon"
}
]
}
},
"audioConfig": {
"audioEncoding": "LINEAR16",
"sampleRateHertz": 24000
}
}' \
"https://texttospeech.googleapis.com/v1/text:synthesize" \
| jq -r '.audioContent' | base64 -d | ffplay - -autoexit
Melakukan sintesis multi-penutur secara sinkron dengan input teks terstruktur
Multi-penutur dengan input teks terstruktur memungkinkan pembacaan teks yang cerdas dengan cara yang mirip manusia. Misalnya, jenis input ini berguna untuk alamat dan tanggal. Input teks berformat bebas membacakan teks persis seperti yang ditulis.
Python
# google-cloud-texttospeech minimum version 2.31.0 is required.
import os
from google.cloud import texttospeech
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
def synthesize_multispeaker_structured(
prompt: str,
turns: list[texttospeech.MultiSpeakerMarkup.Turn],
output_filepath: str = "output_turn_based.wav",
):
"""Synthesizes speech from turn-based input and saves it to a WAV file.
Args:
prompt: Styling instructions on how to synthesize the content in the
text field.
turns: A list of texttospeech.MultiSpeakerMarkup.Turn objects representing
the dialogue turns.
output_filepath: The path to save the generated audio file. Defaults to
"output_turn_based.wav".
"""
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(
multi_speaker_markup=texttospeech.MultiSpeakerMarkup(turns=turns),
prompt=prompt,
)
multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
speaker_voice_configs=[
texttospeech.MultispeakerPrebuiltVoice(
speaker_alias="Speaker1",
speaker_id="Kore",
),
texttospeech.MultispeakerPrebuiltVoice(
speaker_alias="Speaker2",
speaker_id="Charon",
),
]
)
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
model_name="gemini-2.5-pro-tts",
multi_speaker_voice_config=multi_speaker_voice_config,
)
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.LINEAR16,
sample_rate_hertz=24000,
)
response = client.synthesize_speech(
input=synthesis_input, voice=voice, audio_config=audio_config
)
with open(output_filepath, "wb") as out:
out.write(response.audio_content)
print(f"Audio content written to file: {output_filepath}")
CURL
# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "x-goog-user-project: $PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Say the following as a conversation between friends.",
"multiSpeakerMarkup": {
"turns": [
{
"speaker": "Sam",
"text": "Hi Bob, how are you?"
},
{
"speaker": "Bob",
"text": "I am doing well, and you?"
}
]
}
},
"voice": {
"languageCode": "en-us",
"modelName": "gemini-2.5-flash-tts",
"multiSpeakerVoiceConfig": {
"speakerVoiceConfigs": [
{
"speakerAlias": "Sam",
"speakerId": "Kore"
},
{
"speakerAlias": "Bob",
"speakerId": "Charon"
}
]
}
},
"audioConfig": {
"audioEncoding": "LINEAR16",
"sampleRateHertz": 24000
}
}' \
"https://texttospeech.googleapis.com/v1/text:synthesize" \
| jq -r '.audioContent' | base64 -d | ffplay - -autoexit
Melakukan sintesis ucapan di Media Studio
Anda dapat menggunakan Media Studio di konsol Google Google Cloud untuk bereksperimen dengan model text-to-speech. Media Studio menyediakan antarmuka pengguna untuk membuat, mendengarkan audio yang disintesis, serta bereksperimen dengan berbagai petunjuk dan parameter gaya dengan cepat.
Di konsol Google Google Cloud , buka halaman Vertex AI Studio > Media Studio.
Pilih Speech dari drop-down media.
Di kolom teks, masukkan teks yang ingin Anda sintesiskan menjadi ucapan.
Di panel Settings, konfigurasi setelan berikut:
- Model: Pilih model Text-to-Speech (TTS) yang ingin Anda gunakan, seperti
Gemini 2.5 Pro TTS. Untuk mengetahui informasi selengkapnya tentang model yang tersedia, lihat model Text-to-Speech. - Style instruction: Opsional: Masukkan perintah teks yang menjelaskan gaya berbicara, nada, dan penyampaian emosi yang dipilih. Dengan demikian, Anda dapat mengarahkan penyampaian suara model melampaui narasi default. Misalnya: "Narasi dengan nada tenang dan profesional untuk film dokumenter".
- Language: Pilih bahasa dan region teks input. Model ini menghasilkan ucapan dalam bahasa dan aksen yang dipilih. Misalnya, Inggris (Amerika Serikat).
- Voice: Pilih suara standar untuk narasi. Daftar ini berisi suara yang tersedia untuk model dan bahasa yang dipilih, seperti Acherner (Perempuan).
- Model: Pilih model Text-to-Speech (TTS) yang ingin Anda gunakan, seperti
Opsional: Luaskan bagian Advanced options untuk mengonfigurasi setelan audio teknis:
- Audio encoding: Pilih encoding untuk file audio output.
LINEAR16adalah format lossless dan tidak terkompresi yang cocok untuk pemrosesan audio berkualitas tinggi.MULAWjuga tersedia untuk output audio terkompresi. - Audio sample rate: Pilih frekuensi sampel dalam hertz (Hz). Tindakan ini menentukan kualitas audio. Nilai yang lebih tinggi seperti 44.100 Hz merepresentasikan audio dengan fidelitas lebih tinggi, setara dengan kualitas CD.
- Speed: Sesuaikan kecepatan bicara dengan menggerakkan penggeser atau memasukkan nilai. Nilai di bawah 1 akan memperlambat ucapan, dan nilai di atas 1 akan mempercepatnya. Nilai defaultnya adalah 1.
- Volume gain (dB): Sesuaikan volume audio output dalam desibel (dB). Nilai positif akan menaikkan volume, dan nilai negatif akan menurunkannya. Defaultnya adalah 0.
- Audio encoding: Pilih encoding untuk file audio output.
Klik ikon send di sebelah kanan kotak teks untuk membuat audio.
Audio yang dihasilkan akan muncul di pemutar media. Klik tombol putar untuk mendengarkan output. Anda dapat terus menyesuaikan setelan, dan membuat versi baru sesuai kebutuhan.
Tips Menulis Perintah
Membuat audio yang menarik dan terdengar alami dari teks memerlukan pemahaman tentang nuansa bahasa lisan dan menerjemahkannya ke dalam bentuk skrip. Tips berikut akan membantu Anda membuat skrip yang terdengar autentik dan sesuai dengan nada bicara yang dipilih.
Tiga Aspek Kontrol Ucapan
Agar mendapatkan hasil yang terprediksi dan kaya nuansa, pastikan ketiga komponen berikut konsisten dengan output yang Anda inginkan.
Perintah Gaya Pengarah utama keseluruhan penyampaian dan nada emosional. Perintah ini menetapkan konteks untuk seluruh segmen ucapan.
Contoh:
You are an AI assistant speaking in a friendly and helpful tone.Contoh:
Narrate this in the calm, authoritative tone of a nature documentary narrator.
Konten Teks Makna semantik dari kata-kata yang Anda sintesiskan. Frasa yang menggugah emosi dan konsisten dengan perintah gaya akan memberikan hasil yang jauh lebih efektif daripada teks netral.
Baik: Perintah untuk nada takut paling efektif digunakan dengan teks seperti
I think someone is in the house.Kurang Efektif: Perintah untuk nada takut dengan teks seperti
The meeting is at 4 PM.akan memberikan hasil yang ambigu.
Tag Markup
Tag dalam tanda kurung seperti [sigh] paling baik digunakan untuk menyisipkan perubahan gaya atau tindakan pada bagian teks tertentu, bukan untuk menetapkan nada bicara secara keseluruhan. Tag ini berfungsi selaras dengan perintah gaya dan konten teks.
Panduan Tag Markup
Riset kami menunjukkan bahwa tag markup dalam tanda kurung beroperasi dalam salah satu dari tiga mode berbeda. Memahami mode tag adalah kunci untuk menggunakannya secara efektif.
Mode 1: Suara Non-Ucapan
Markup diganti dengan vokalisasi non-ucapan yang terdengar (misalnya, suara tawa atau helaan napas). Tag itu sendiri tidak diucapkan. Mode ini sangat efektif untuk menambahkan suara jeda dan reaksi yang terdengar realistis seperti manusia.
| Tag | Perilaku | Keandalan | Panduan |
|---|---|---|---|
[sigh] |
Menyisipkan suara helaan napas. | Tinggi | Kualitas emosional helaan napas dipengaruhi oleh perintah. |
[laughing] |
Menyisipkan tawa. | Tinggi | Untuk mendapatkan hasil terbaik, gunakan perintah yang spesifik. Misalnya, perintah umum mungkin akan menghasilkan tawa karena terkejut, sementara "beri reaksi dengan tawa geli" akan menghasilkan tawa karena terhibur. |
[uhm] |
Menyisipkan suara jeda. | Tinggi | Berguna untuk menciptakan nuansa percakapan yang lebih alami. |
Mode 2: Pengubah Gaya
Markup ini tidak diucapkan, tetapi akan mengubah cara penyampaian ucapan berikutnya. Cakupan dan durasi perubahan dapat bervariasi.
| Tag | Perilaku | Keandalan | Panduan |
|---|---|---|---|
[sarcasm] |
Memberikan nada sarkastik pada frasa berikutnya. | Tinggi | Tag ini adalah pengubah yang efektif. Tag ini menunjukkan bahwa konsep abstrak dapat berhasil mengarahkan penyampaian model. |
[robotic] |
Membuat ucapan berikutnya terdengar seperti robot. | Tinggi | Efeknya dapat diperluas ke seluruh frasa. Perintah gaya yang mendukung (misalnya, "Ucapkan ini dengan suara robot") tetap direkomendasikan untuk mendapatkan hasil terbaik. |
[shouting] |
Menaikkan volume ucapan berikutnya. | Tinggi | Paling efektif jika dipasangkan dengan perintah gaya yang cocok (misalnya, "Teriakkan bagian berikutnya") dan teks yang menyiratkan teriakan. |
[whispering] |
Menurunkan volume ucapan berikutnya. | Tinggi | Hasil terbaik dicapai saat perintah gaya juga eksplisit (misalnya, "sekarang bisikkan bagian ini selirih mungkin"). |
[extremely fast] |
Meningkatkan kecepatan ucapan berikutnya. | Tinggi | Ideal untuk pernyataan penyangkalan atau dialog cepat. Hanya memerlukan dukungan perintah minimal. |
Mode 3: Markup yang Diucapkan (Adjektiva)
Tag markup yang diucapkan sebagai kata, sekaligus memengaruhi nada bicara seluruh kalimat. Perilaku ini biasanya berlaku untuk kata sifat emosional.
Peringatan: Karena tagnya diucapkan, ada kemungkinan mode ini akan memunculkan efek samping yang tidak diinginkan untuk sebagian besar kasus penggunaan. Sebaiknya gunakan Perintah Gaya untuk menetapkan nada emosional ini.
| Tag | Perilaku | Keandalan | Panduan |
|---|---|---|---|
[scared] |
Kata "takut" diucapkan, dan kalimatnya menggunakan nada takut. | Tinggi | Penyampaian suara sangat bergantung pada konten teks. Frasa "Aku baru saja mendengar suara jendela pecah" menghasilkan respons yang benar-benar takut. Frasa netral memberikan hasil yang "menyeramkan", tetapi kurang autentik. |
[curious] |
Kata "ingin tahu" diucapkan, dan kalimatnya menggunakan nada penasaran. | Tinggi | Gunakan frasa yang menyiratkan rasa ingin tahu untuk mendukung maksud tag. |
[bored] |
Kata "bosan" diucapkan, dan kalimatnya disampaikan dengan nada bosan dan monoton. | Tinggi | Gunakan dengan teks yang biasa atau berulang untuk mendapatkan efek terbaik. |
Mode 4: Kecepatan dan Jeda
Tag ini menyisipkan kesenyapan dalam audio yang dihasilkan, sehingga memberi Anda kontrol terperinci atas ritme, pengaturan waktu, dan kecepatan. Tanda baca standar (koma, titik, titik koma) juga akan membuat jeda alami, tetapi tag ini menawarkan kontrol yang lebih eksplisit.
| Tag | Perilaku | Keandalan | Panduan |
|---|---|---|---|
[short pause] |
Menyisipkan jeda singkat, mirip dengan koma (~250 md). | Tinggi | Gunakan untuk memisahkan klausa atau item daftar agar lebih jelas. |
[medium pause] |
Menyisipkan jeda standar, mirip dengan jeda kalimat (~500 md). | Tinggi | Efektif untuk memisahkan kalimat atau gagasan yang berbeda. |
[long pause] |
Menyisipkan jeda yang signifikan untuk efek dramatis (~1.000 md+). | Tinggi | Gunakan untuk pengaturan waktu yang dramatis. Misalnya: "Jawabannya adalah... [long pause] ...tidak." Hindari penggunaan yang berlebihan karena dapat terdengar tidak alami. |
Strategi Utama untuk Hasil Efektif
Selaraskan Ketiga Aspek Untuk memaksimalkan prediktabilitas, pastikan Perintah Gaya, Konten Teks, dan Tag Markup semuanya konsisten secara semantik dan mengarah pada tujuan yang sama.
Gunakan Teks yang Kaya Emosi Jangan hanya mengandalkan perintah dan tag. Berikan teks yang kaya dan deskriptif agar model dapat bekerja secara optimal. Hal ini sangat penting untuk menghasilkan nuansa emosi seperti sarkasme, ketakutan, atau kegembiraan.
Tulis Perintah yang Spesifik dan Mendetail Makin spesifik perintah gaya Anda, makin efektif hasilnya. "Beri reaksi dengan tawa geli" lebih baik daripada hanya
[laughing]. "Bicara seperti pembawa berita radio tahun 1940-an" lebih baik daripada "Bicara dengan gaya kuno".Uji dan Verifikasi Tag Baru Perilaku tag baru atau yang belum diuji tidak selalu dapat diprediksi. Tag yang Anda kira adalah pengubah gaya bisa saja diucapkan. Selalu uji kombinasi tag atau perintah baru untuk mengonfirmasi perilakunya sebelum men-deploy ke produksi.