![]() |
![]() |
Gemini-TTS adalah evolusi terbaru dari teknologi Text-to-Speech kami yang tidak hanya menghasilkan audio yang terdengar alami, tetapi juga memberikan kontrol terperinci atas audio yang dihasilkan menggunakan perintah berbasis teks. Dengan Gemini-TTS, Anda dapat melakukan sintesis ucapan satu atau banyak penutur dari cuplikan pendek hingga narasi panjang, dengan menentukan gaya, aksen, kecepatan, nada, dan bahkan ekspresi emosional secara tepat, yang semuanya dapat dikontrol melalui perintah bahasa alami.
Untuk menjelajahi model ini di konsol, lihat kartu model Gemini-TTS di Model Garden (dapat diakses menggunakan tab Media Studio).
Coba Gemini-TTS di Vertex AI (Vertex AI Studio)
Kemampuan Gemini-TTS didukung oleh:
gemini-2.5-flash-tts
: Gemini 2.5 Flash TTS cocok untuk aplikasi TTS sehari-hari yang hemat biaya.gemini-2.5-pro-tts
: Gemini 2.5 Pro TTS cocok untuk pembuatan ucapan (TTS) yang dapat dikontrol dan untuk kualitas terbaik dari perintah yang kompleks.
Model | Dioptimalkan untuk | Modalitas input | Modalitas output | Satu pembicara | Multi-pembicara |
---|---|---|---|---|---|
TTS Gemini 2.5 Flash | Pembuatan audio Text-to-Speech latensi rendah, dapat dikontrol, satu dan multi-pembicara untuk aplikasi sehari-hari yang hemat biaya | Teks | Audio | ✔️ | ✔️ |
TTS Gemini 2.5 Pro | Kontrol tinggi untuk alur kerja terstruktur seperti pembuatan podcast, buku audio, dukungan pelanggan, dan lainnya | Teks | Audio | ✔️ | ✔️ |
Kontrol dan kemampuan tambahan mencakup hal berikut:
Percakapan alami: Interaksi suara berkualitas tinggi, ekspresivitas, dan prosodi (pola ritme) yang lebih tepat disampaikan dengan latensi yang sangat rendah sehingga Anda dapat melakukan percakapan dengan lancar.
Kontrol gaya: Dengan menggunakan perintah bahasa natural, Anda dapat menyesuaikan penyampaian dalam percakapan dengan mengarahkannya untuk menggunakan aksen tertentu dan menghasilkan berbagai nada dan ekspresi, termasuk bisikan.
Performa dinamis: Model ini dapat menghidupkan teks untuk pembacaan puisi, siaran berita, dan penceritaan yang menarik. Agen AI juga dapat tampil dengan emosi tertentu dan menghasilkan aksen saat diminta.
Kontrol kecepatan dan pengucapan yang ditingkatkan: Mengontrol kecepatan penyampaian membantu memastikan akurasi pengucapan yang lebih baik, termasuk kata-kata tertentu.
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: "Callirhoe"
model: "gemini-2.5-flash-tts" prompt: "Say the following in a curious way" text: "OK, so... tell me about this [uhm] AI thing.", speaker: "Orus"
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"
Untuk mengetahui informasi tentang cara menggunakan suara ini secara terprogram, lihat bagian Menggunakan Gemini-TTS.
Opsi Suara
Gemini-TTS menawarkan berbagai opsi 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 |
Ketersediaan bahasa
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 |
Turki (Turki) | tr-TR | GA |
Ukraina (Ukraina) | uk-UA | GA |
Vietnam (Vietnam) | vi-VN | GA |
Afrikaans (Afrika Selatan) | af-ZA | Pratinjau |
Albania (Albania) | sq-AL | Pratinjau |
Amharik (Etiopia) | am-ET | Pratinjau |
Arab (Dunia) | ar-001 | Pratinjau |
Armenia (Armenia) | hy-AM | Pratinjau |
Azerbaijan (Azerbaijan) | az-AZ | Pratinjau |
Bangla (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 |
Esti (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 |
Magyar (Hungaria) | hu-HU | Pratinjau |
Islandia (Islandia) | is-IS | Pratinjau |
Jawa (Java) | 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-IT | 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 |
Mongol (Mongolia) | mn-MN | Pratinjau |
Nepali (Nepal) | ne-NP | Pratinjau |
Norwegia, Bokmål (Norwegia) | nb-NO | Pratinjau |
Norwegia, Nynorsk (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 |
Slovak (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 |
Ketersediaan regional
Model Gemini-TTS tersedia di Google Cloud region berikut:
Google Cloud zona | Kesiapan peluncuran |
---|---|
global |
GA |
Format output yang didukung
Format respons default adalah LINEAR16
. Format lain yang didukung mencakup:
Metode API | Format |
---|---|
batch |
ALAW, MULAW, MP3, OGG_OPUS, dan PCM |
streaming |
Tidak didukung |
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, pesan akan muncul untuk memberi tahu Anda agar 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 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-speaker sinkron dengan input teks bentuk 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-speaker sinkron dengan input teks terstruktur
Multi-speaker dengan input teks terstruktur memungkinkan verbalisasi teks yang cerdas dengan cara yang mirip manusia. Misalnya, jenis input ini berguna untuk alamat dan tanggal. Input teks bentuk 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. Hal ini menyediakan antarmuka pengguna untuk membuat, mendengarkan audio yang disintesis, dan bereksperimen dengan berbagai petunjuk dan parameter gaya dengan cepat.
Di konsol Google Google Cloud , buka halaman Vertex AI Studio > Media Studio.
Pilih Ucapan dari drop-down media.
Di kolom teks, masukkan teks yang ingin Anda sintesiskan menjadi ucapan.
Di panel Setelan, konfigurasikan 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. - Petunjuk gaya: Opsional: Masukkan perintah teks yang menjelaskan gaya berbicara, nada, dan penyampaian emosi yang dipilih. Dengan demikian, Anda dapat memandu performa model di luar narasi default. Misalnya: "Narasi dengan nada tenang dan profesional untuk film dokumenter".
- Bahasa: Pilih bahasa dan wilayah teks input. Model ini menghasilkan ucapan dalam bahasa dan aksen yang dipilih. Misalnya, Inggris (Amerika Serikat).
- Suara: 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 Opsi lanjutan untuk mengonfigurasi setelan audio teknis:
- Encoding audio: Pilih encoding untuk file audio output.
LINEAR16
adalah format tanpa kehilangan data dan tidak terkompresi yang cocok untuk pemrosesan audio berkualitas tinggi.MULAW
juga tersedia untuk output audio terkompresi. - Frekuensi sampel audio: Pilih frekuensi sampel dalam hertz (Hz). Tindakan ini menentukan kualitas audio. Nilai yang lebih tinggi seperti 44.100 Hz merepresentasikan audio dengan fidelitas yang lebih tinggi, setara dengan kualitas CD.
- Kecepatan: Sesuaikan kecepatan bicara dengan menggerakkan penggeser atau memasukkan nilai. Nilai kurang dari 1 memperlambat ucapan, dan nilai lebih besar dari 1 mempercepatnya. Nilai defaultnya adalah 1.
- Peningkatan volume (dB): Sesuaikan volume audio output dalam desibel (dB). Nilai positif akan menaikkan volume, dan nilai negatif akan menurunkannya. Defaultnya adalah 0.
- Encoding audio: Pilih encoding untuk file audio output.
Klik ikon kirim 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 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 menangkap nuansa yang dipilih.
Tiga Tuas Kontrol Ucapan
Untuk hasil yang paling dapat diprediksi dan bernuansa, pastikan ketiga komponen berikut konsisten dengan output yang Anda inginkan.
Perintah Gaya Pendorong utama keseluruhan nuansa emosional dan penyampaian. Perintah 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 membangkitkan emosi dan konsisten dengan perintah gaya akan menghasilkan hasil yang jauh lebih andal daripada teks netral.
Baik: Perintah untuk intonasi takut berfungsi paling baik 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 menghasilkan hasil yang ambigu.
Tag Markup
Tag dalam tanda kurung seperti [sigh]
paling baik digunakan untuk menyisipkan tindakan atau modifikasi gaya tertentu yang dilokalkan, bukan untuk menetapkan intonasi secara keseluruhan. Mereka bekerja bersama 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 yang berbeda. Memahami mode tag adalah kunci untuk menggunakannya secara efektif.
Mode 1: Suara Non-Ucapan
Markup diganti dengan vokalisasi non-ucapan yang terdengar (misalnya, desahan, tawa). Tag itu sendiri tidak diucapkan. Fitur ini sangat bagus untuk menambahkan keraguan dan reaksi yang realistis dan seperti manusia.
Tag | Perilaku | Keandalan | Panduan |
---|---|---|---|
[sigh] |
Menyisipkan suara helaan napas. | Tinggi | Kualitas emosional desahan dipengaruhi oleh perintah. |
[laughing] |
Menyisipkan tawa. | Tinggi | Untuk hasil terbaik, gunakan perintah yang spesifik. Misalnya, perintah umum dapat menghasilkan tawa terkejut, sementara "bereaksi dengan tawa geli" menghasilkan tawa geli. |
[uhm] |
Menyisipkan suara keraguan. | Tinggi | Berguna untuk menciptakan nuansa percakapan yang lebih alami. |
Mode 2: Pengubah Gaya
Markup tidak diucapkan, tetapi memodifikasi penyampaian ucapan berikutnya. Cakupan dan durasi modifikasi dapat bervariasi.
Tag | Perilaku | Keandalan | Panduan |
---|---|---|---|
[sarcasm] |
Memberikan nada sarkastik pada frasa berikutnya. | Tinggi | Tag ini adalah pengubah yang efektif. Hal 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") masih 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, "now whisper this part as quietly as you can" (sekarang bisikkan bagian ini sesenyap mungkin). |
[extremely fast] |
Meningkatkan kecepatan ucapan berikutnya. | Tinggi | Ideal untuk pernyataan penyangkalan atau dialog cepat. Dukungan perintah minimal yang diperlukan. |
Mode 3: Markup yang Diucapkan (Adjektiva)
Tag markup itu sendiri diucapkan sebagai kata, sekaligus memengaruhi nada seluruh kalimat. Perilaku ini biasanya berlaku untuk kata sifat emosional.
Peringatan: Karena tag itu sendiri diucapkan, mode ini kemungkinan merupakan efek samping yang tidak diinginkan untuk sebagian besar kasus penggunaan. Sebaiknya gunakan Perintah Gaya untuk menetapkan nuansa emosional ini.
Tag | Perilaku | Keandalan | Panduan |
---|---|---|---|
[scared] |
Kata "takut" diucapkan, dan kalimatnya menggunakan nada takut. | Tinggi | Performa sangat bergantung pada konten teks. Frasa "Saya baru saja mendengar suara jendela pecah" menghasilkan respons yang benar-benar takut. Frasa netral menghasilkan hasil yang "menyeramkan" tetapi kurang autentik. |
[curious] |
Kata "penasaran" diucapkan, dan kalimatnya menggunakan nada penasaran. | Tinggi | Gunakan frasa yang 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 keheningan ke 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 pemikiran yang berbeda. |
[long pause] |
Menyisipkan jeda yang signifikan untuk efek dramatis (~1000 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 yang Andal
Menyelaraskan Ketiga Tuas Untuk prediktabilitas maksimum, 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 deskriptif yang kaya kepada model untuk diproses. Hal ini sangat penting untuk emosi yang bernuansa seperti sarkasme, ketakutan, atau kegembiraan.
Tulis Perintah yang Spesifik dan Mendetail Makin spesifik perintah gaya Anda, makin andal hasilnya. "Bereaksi dengan tertawa geli" lebih baik daripada hanya
[laughing]
. "Berbicara seperti pembawa berita radio tahun 1940-an" lebih baik daripada "Berbicara dengan gaya kuno".Menguji dan Memverifikasi Tag Baru Perilaku tag baru atau yang belum diuji tidak selalu dapat diprediksi. Tag yang Anda anggap sebagai pengubah gaya mungkin diucapkan. Selalu uji kombinasi tag atau perintah baru untuk mengonfirmasi perilakunya sebelum di-deploy ke produksi.