Mit der Gemini API kann Texteingabe mithilfe der Gemini-TTS-Funktionen (Text-to-Speech) in Audio für einen einzelnen Sprecher oder mehrere Sprecher umgewandelt werden. Die TTS-Generierung (Text-to-Speech) ist steuerbar. Das bedeutet, dass Sie mit natürlicher Sprache Interaktionen strukturieren und Stil, Akzent, Tempo und Ton des Audiosignals festlegen können.
Die TTS-Funktion unterscheidet sich von der Sprachgenerierung über die Live API, die für interaktive, unstrukturierte Audio- sowie multimodale Ein- und Ausgaben konzipiert ist. Während sich die Live API durch dynamische Konversationskontexte auszeichnet, ist TTS über die Gemini API auf Szenarien zugeschnitten, die eine genaue Textwiedergabe mit detaillierter Steuerung von Stil und Klang erfordern, z. B. die Generierung von Podcasts oder Hörbüchern.
In dieser Anleitung erfahren Sie, wie Sie Audio mit einem oder mehreren Sprechern aus Text generieren.
Hinweis
Achten Sie darauf, dass Sie eine Gemini-Modellvariante mit Gemini-TTS-Funktionen (Text-to-Speech) verwenden, wie im Abschnitt Unterstützte Modelle aufgeführt. Für optimale Ergebnisse sollten Sie überlegen, welches Modell am besten zu Ihrem spezifischen Anwendungsfall passt.
Es kann hilfreich sein, die Gemini TTS-Modelle in AI Studio zu testen, bevor Sie mit der Entwicklung beginnen.
TTS mit einem einzelnen Sprecher
Wenn Sie Text in Audioinhalte mit einem einzelnen Sprecher umwandeln möchten, legen Sie die Antwortmodalität auf „audio“ fest und übergeben Sie ein SpeechConfig-Objekt mit VoiceConfig.
Sie müssen einen Namen für die Stimme aus den vordefinierten Ausgabestimmen auswählen.
In diesem Beispiel wird die Audioausgabe des Modells in einer WAV-Datei gespeichert:
Python
from google import genai
from google.genai import types
import wave
# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
with wave.open(filename, "wb") as wf:
wf.setnchannels(channels)
wf.setsampwidth(sample_width)
wf.setframerate(rate)
wf.writeframes(pcm)
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.1-flash-tts-preview",
contents="Say cheerfully: Have a wonderful day!",
config=types.GenerateContentConfig(
response_modalities=["AUDIO"],
speech_config=types.SpeechConfig(
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Kore',
)
)
),
)
)
data = response.candidates[0].content.parts[0].inline_data.data
file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory
JavaScript
import {GoogleGenAI} from '@google/genai';
import wav from 'wav';
async function saveWaveFile(
filename,
pcmData,
channels = 1,
rate = 24000,
sampleWidth = 2,
) {
return new Promise((resolve, reject) => {
const writer = new wav.FileWriter(filename, {
channels,
sampleRate: rate,
bitDepth: sampleWidth * 8,
});
writer.on('finish', resolve);
writer.on('error', reject);
writer.write(pcmData);
writer.end();
});
}
async function main() {
const ai = new GoogleGenAI({});
const response = await ai.models.generateContent({
model: "gemini-3.1-flash-tts-preview",
contents: [{ parts: [{ text: 'Say cheerfully: Have a wonderful day!' }] }],
config: {
responseModalities: ['AUDIO'],
speechConfig: {
voiceConfig: {
prebuiltVoiceConfig: { voiceName: 'Kore' },
},
},
},
});
const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
const audioBuffer = Buffer.from(data, 'base64');
const fileName = 'out.wav';
await saveWaveFile(fileName, audioBuffer);
}
await main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-tts-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts":[{
"text": "Say cheerfully: Have a wonderful day!"
}]
}],
"generationConfig": {
"responseModalities": ["AUDIO"],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
},
"model": "gemini-3.1-flash-tts-preview",
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | \
base64 --decode >out.pcm
# You may need to install ffmpeg.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav
TTS mit mehreren Sprechern
Für Audio mit mehreren Sprechern benötigen Sie ein MultiSpeakerVoiceConfig-Objekt, in dem jeder Sprecher (bis zu 2) als SpeakerVoiceConfig konfiguriert ist.
Sie müssen jedes speaker mit denselben Namen definieren, die im Prompt verwendet werden:
Python
from google import genai
from google.genai import types
import wave
# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
with wave.open(filename, "wb") as wf:
wf.setnchannels(channels)
wf.setsampwidth(sample_width)
wf.setframerate(rate)
wf.writeframes(pcm)
client = genai.Client()
prompt = """TTS the following conversation between Joe and Jane:
Joe: How's it going today Jane?
Jane: Not too bad, how about you?"""
response = client.models.generate_content(
model="gemini-3.1-flash-tts-preview",
contents=prompt,
config=types.GenerateContentConfig(
response_modalities=["AUDIO"],
speech_config=types.SpeechConfig(
multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
speaker_voice_configs=[
types.SpeakerVoiceConfig(
speaker='Joe',
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Kore',
)
)
),
types.SpeakerVoiceConfig(
speaker='Jane',
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Puck',
)
)
),
]
)
)
)
)
data = response.candidates[0].content.parts[0].inline_data.data
file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory
JavaScript
import {GoogleGenAI} from '@google/genai';
import wav from 'wav';
async function saveWaveFile(
filename,
pcmData,
channels = 1,
rate = 24000,
sampleWidth = 2,
) {
return new Promise((resolve, reject) => {
const writer = new wav.FileWriter(filename, {
channels,
sampleRate: rate,
bitDepth: sampleWidth * 8,
});
writer.on('finish', resolve);
writer.on('error', reject);
writer.write(pcmData);
writer.end();
});
}
async function main() {
const ai = new GoogleGenAI({});
const prompt = `TTS the following conversation between Joe and Jane:
Joe: How's it going today Jane?
Jane: Not too bad, how about you?`;
const response = await ai.models.generateContent({
model: "gemini-3.1-flash-tts-preview",
contents: [{ parts: [{ text: prompt }] }],
config: {
responseModalities: ['AUDIO'],
speechConfig: {
multiSpeakerVoiceConfig: {
speakerVoiceConfigs: [
{
speaker: 'Joe',
voiceConfig: {
prebuiltVoiceConfig: { voiceName: 'Kore' }
}
},
{
speaker: 'Jane',
voiceConfig: {
prebuiltVoiceConfig: { voiceName: 'Puck' }
}
}
]
}
}
}
});
const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
const audioBuffer = Buffer.from(data, 'base64');
const fileName = 'out.wav';
await saveWaveFile(fileName, audioBuffer);
}
await main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-tts-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts":[{
"text": "TTS the following conversation between Joe and Jane:
Joe: Hows it going today Jane?
Jane: Not too bad, how about you?"
}]
}],
"generationConfig": {
"responseModalities": ["AUDIO"],
"speechConfig": {
"multiSpeakerVoiceConfig": {
"speakerVoiceConfigs": [{
"speaker": "Joe",
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}, {
"speaker": "Jane",
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Puck"
}
}
}]
}
}
},
"model": "gemini-3.1-flash-tts-preview",
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | \
base64 --decode > out.pcm
# You may need to install ffmpeg.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav
Sprachstil mit Prompts steuern
Sie können Stil, Ton, Akzent und Tempo sowohl für TTS mit einem als auch mit mehreren Sprechern über Prompts in natürlicher Sprache oder Audio-Tags steuern. Bei einem Prompt mit nur einem Sprecher können Sie beispielsweise Folgendes sagen:
Say in an spooky voice:
"By the pricking of my thumbs... [short pause]
[whisper] Something wicked this way comes"
Geben Sie in einem Prompt mit mehreren Sprechern den Namen jedes Sprechers und das entsprechende Transkript an. Sie können auch für jeden Lautsprecher einzeln Anweisungen geben:
Make Speaker1 sound tired and bored, and Speaker2 sound excited and happy:
Speaker1: So... [yawn] what's on the agenda today?
Speaker2: You're never going to guess!
Verwenden Sie eine Stimmoption, die dem Stil oder der Emotion entspricht, die Sie vermitteln möchten, um diese noch stärker zu betonen. Im vorherigen Prompt könnte beispielsweise die gehauchte Stimme von Enceladus die Wörter „müde“ und „gelangweilt“ betonen, während der fröhliche Ton von Puck die Wörter „aufgeregt“ und „glücklich“ ergänzen könnte.
Prompt zum Konvertieren in Audio generieren
Die TTS-Modelle geben nur Audio aus. Sie können jedoch andere Modelle verwenden, um zuerst ein Transkript zu erstellen, das Sie dann dem TTS-Modell zum Vorlesen übergeben.
Python
from google import genai
from google.genai import types
client = genai.Client()
transcript = client.models.generate_content(
model="gemini-3-flash-preview",
contents="""Generate a short transcript around 100 words that reads
like it was clipped from a podcast by excited herpetologists.
The hosts names are Dr. Anya and Liam.""").text
response = client.models.generate_content(
model="gemini-3.1-flash-tts-preview",
contents=transcript,
config=types.GenerateContentConfig(
response_modalities=["AUDIO"],
speech_config=types.SpeechConfig(
multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
speaker_voice_configs=[
types.SpeakerVoiceConfig(
speaker='Dr. Anya',
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Kore',
)
)
),
types.SpeakerVoiceConfig(
speaker='Liam',
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Puck',
)
)
),
]
)
)
)
)
# ...Code to handle audio output
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const transcript = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: "Generate a short transcript around 100 words that reads like it was clipped from a podcast by excited herpetologists. The hosts names are Dr. Anya and Liam.",
})
const response = await ai.models.generateContent({
model: "gemini-3.1-flash-tts-preview",
contents: transcript,
config: {
responseModalities: ['AUDIO'],
speechConfig: {
multiSpeakerVoiceConfig: {
speakerVoiceConfigs: [
{
speaker: "Dr. Anya",
voiceConfig: {
prebuiltVoiceConfig: {voiceName: "Kore"},
}
},
{
speaker: "Liam",
voiceConfig: {
prebuiltVoiceConfig: {voiceName: "Puck"},
}
}
]
}
}
}
});
}
// ..JavaScript code for exporting .wav file for output audio
await main();
Stimmoptionen
TTS-Modelle unterstützen die folgenden 30 Sprachoptionen im Feld voice_name:
| Zephyr – Hell | Puck – Upbeat | Charon – Informative |
| Kore – Firm | Fenrir – Leicht aufgeregt | Leda – Jugendlich |
| Orus – Unternehmen | Aoede – Breezy | Callirrhoe – Unkompliziert |
| Autonoe – Hell | Enceladus – Breathy | Iapetus – Clear |
| Umbriel – Gelassen | Algieba – Smooth | Despina – Smooth |
| Erinome – Wolkenlos | Algenib – Kiesig | Rasalgethi – Informativ |
| Laomedeia – Upbeat | Achernar – Weich | Alnilam – Firm |
| Schedar – Gerade | Gacrux – Nicht jugendfrei | Pulcherrima – Kess |
| Achird – Freundlich | Zubenelgenubi – Casual | Vindemiatrix – Sanft |
| Sadachbia – Lively | Sadaltager – Sachkundig | Sulafat – Warm |
Alle Sprachoptionen finden Sie in AI Studio.
Unterstützte Sprachen
Die TTS-Modelle erkennen die Eingabesprache automatisch. Folgende Sprachen werden unterstützt:
| Sprache | BCP-47-Code | Sprache | BCP-47-Code |
|---|---|---|---|
| Arabisch | ar | Filipino | fil |
| Bengalisch | bn | Finnisch | fi |
| Niederländisch | nl | Galizisch | gl |
| Englisch | de | Georgisch | ka |
| Französisch | fr | Griechisch | el |
| Deutsch | de | Gujarati | gu |
| Hindi | hi | Haitianisch | ht |
| Indonesisch | id | Hebräisch | er |
| Italienisch | it | Ungarisch | hu |
| Japanisch | ja | Isländisch | ist |
| Koreanisch | ko | Javanisch | jv |
| Marathi | mr | Kannada | kn |
| Polnisch | pl | Konkani | kok |
| Portugiesisch | pt | Lao | lo |
| Rumänisch | ro | Latin | la |
| Russisch | ru | Lettisch | lv |
| Spanisch | es | Litauisch | lt |
| Tamil | ta | Luxemburgisch | lb |
| Telugu | te | Mazedonisch | mk |
| Thailändisch | th | Maithili | mai |
| Türkisch | tr | Malagasy | mg |
| Ukrainisch | uk | Malaiisch | ms |
| Vietnamesisch | vi | Malayalam | ml |
| Afrikaans | af | Mongolisch | mn |
| Albanisch | sq | Nepalesisch | ne |
| Amharisch | am | Norwegisch (Bokmål) | nb |
| Armenisch | hy | Norwegisch, Nynorsk | nn |
| Aserbaidschanisch | az | Oriya | oder |
| Baskisch | eu | Paschtu | ps |
| Belarussisch | be | Persisch | fa |
| Bulgarisch | bg | Punjabi | pa |
| Burmesisch | my | Serbisch | sr |
| Katalanisch | ca | Sindhi | sd |
| Cebuano | ceb | Singhalesisch | si |
| Chinesisch (Mandarin) | cmn | Slowakisch | sk |
| Kroatisch | Std. | Slowenisch | sl |
| Tschechisch | cs | Swahili | sw |
| Dänisch | da | Schwedisch | sv |
| Estnisch | et | Urdu | ur |
Unterstützte Modelle
| Modell | Einzelner Sprecher | Mehrere Sprecher |
|---|---|---|
| Gemini 3.1 Flash TTS (Vorabversion) | ✔️ | ✔️ |
| Gemini 2.5 Flash Preview TTS | ✔️ | ✔️ |
| Gemini 2.5 Pro Preview TTS | ✔️ | ✔️ |
Anleitung zu Prompts
Das Modell Gemini Native Audio Generation Text-to-Speech (TTS) unterscheidet sich von herkömmlichen TTS-Modellen dadurch, dass es ein Large Language Model verwendet, das nicht nur weiß, was gesagt werden soll, sondern auch, wie es gesagt werden soll.
Um diese Funktion nutzen zu können, müssen Nutzer sich vorstellen, dass sie Regisseure sind, die eine Szene für ein virtuelles Voice-Talent festlegen. Für einen Prompt empfehlen wir, die folgenden Komponenten zu berücksichtigen: ein Audioprofil, das die Kernidentität und den Archetyp der Figur definiert, eine Szenenbeschreibung, die die physische Umgebung und die emotionale Stimmung festlegt, und Regieanweisungen, die genauere Leistungsrichtlinien in Bezug auf Stil, Akzent und Tempo bieten.
Durch die Angabe differenzierter Anweisungen wie eines präzisen regionalen Akzents, spezifischer paralinguistischer Merkmale (z.B. Behauchtheit) oder des Tempos können Nutzer die Kontextsensitivität des Modells nutzen, um sehr dynamische, natürliche und ausdrucksstarke Audioinhalte zu generieren. Für eine optimale Leistung empfehlen wir, dass das Transkript und die Regieanweisungen übereinstimmen, sodass „wer es sagt“ mit „was gesagt wird“ und „wie es gesagt wird“ übereinstimmt.
Ziel dieses Leitfadens ist es, grundlegende Anleitungen zu geben und Ideen zu wecken, wenn Sie Audioinhalte mit der Gemini TTS-Audioerstellung entwickeln. Wir sind gespannt, was Sie damit alles schaffen.
Prompt-Struktur
Ein guter Prompt enthält idealerweise die folgenden Elemente, die zusammen eine hervorragende Leistung ermöglichen:
- Audioprofil: Hier wird eine Persona für die Stimme erstellt, die eine Charakteridentität, einen Archetyp und andere Merkmale wie Alter, Hintergrund usw. definiert.
- Szene: Legt die Bühne fest. Beschreibt sowohl die physische Umgebung als auch die Atmosphäre.
- Hinweise des Regisseurs: Hier finden Sie Leistungsrichtlinien, in denen Sie aufschlüsseln können, welche Anweisungen für Ihr virtuelles Talent wichtig sind. Beispiele sind Stil, Atmung, Tempo, Artikulation und Akzent.
- Beispielkontext: Bietet dem Modell einen Kontext als Ausgangspunkt, damit Ihr virtueller Schauspieler auf natürliche Weise in die von Ihnen eingerichtete Szene eintritt.
- Transkript: Der Text, der vom Modell gesprochen wird. Für eine optimale Leistung sollten das Thema des Transkripts und der Schreibstil mit den Anweisungen übereinstimmen, die Sie geben.
- Audio-Tags: Modifikatoren, die Sie in ein Transkript einfügen können, um die Wiedergabe eines bestimmten Textteils zu ändern, z. B.
[whispers]oder[shouting].
Beispiel für einen vollständigen Prompt:
# AUDIO PROFILE: Jaz R.
## "The Morning Hype"
## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline,
but inside, it is blindingly bright. The red "ON AIR" tally light is blazing.
Jaz is standing up, not sitting, bouncing on the balls of their heels to the
rhythm of a thumping backing track. Their hands fly across the faders on a
massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to wake
up an entire nation.
### DIRECTOR'S NOTES
Style:
* The "Vocal Smile": You must hear the grin in the audio. The soft palate is
always raised to keep the tone bright, sunny, and explicitly inviting.
* Dynamics: High projection without shouting. Punchy consonants and elongated
vowels on excitement words (e.g., "Beauuutiful morning").
Pace: Speaks at an energetic pace, keeping up with the fast music. Speaks
with A "bouncing" cadence. High-speed delivery with fluid transitions — no dead
air, no gaps.
Accent: Jaz is from Brixton, London
### SAMPLE CONTEXT
Jaz is the industry standard for Top 40 radio, high-octane event promos, or any
script that requires a charismatic Estuary accent and 11/10 infectious energy.
#### TRANSCRIPT
[excitedly] Yes, massive vibes in the studio! You are locked in and it is
absolutely popping off in London right now. If you're stuck on the tube, or
just sat there pretending to work... stop it. Seriously, I see you.
[shouting] Turn this up! We've got the project roadmap landing in three,
two... let's go!
Detaillierte Prompt-Strategien
Sehen wir uns die einzelnen Elemente des Prompts genauer an.
Audioprofil
Beschreiben Sie kurz die Persönlichkeit des Charakters.
- Name: Wenn Sie Ihrem Charakter einen Namen geben, kann das Modell die Leistung besser anpassen. Beziehen Sie sich beim Festlegen der Szene und des Kontexts auf den Charakter.
- Rolle: Die grundlegende Identität und der Archetyp der Figur, die in der Szene dargestellt wird, z. B. Radiomoderator, Podcaster, Nachrichtenreporter usw.
Beispiele:
# AUDIO PROFILE: Jaz R.
## "The Morning Hype"
# AUDIO PROFILE: Monica A.
## "The Beauty Influencer"
Szene
Legen Sie den Kontext für die Szene fest, einschließlich Ort, Stimmung und Umgebungsdetails, die den Ton und die Atmosphäre bestimmen. Beschreibe, was um die Figur herum passiert und wie sich das auf sie auswirkt. Die Szene bietet den Umgebungs-Kontext für die gesamte Interaktion und lenkt die schauspielerische Leistung auf subtile, organische Weise.
Beispiele:
## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline,
but inside, it is blindingly bright. The red "ON AIR" tally light is blazing.
Jaz is standing up, not sitting, bouncing on the balls of their heels to the
rhythm of a thumping backing track. Their hands fly across the faders on a
massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to
wake up an entire nation.
## THE SCENE: Homegrown Studio
A meticulously sound-treated bedroom in a suburban home. The space is
deadened by plush velvet curtains and a heavy rug, but there is a
distinct "proximity effect."
Hinweise für Regisseure
Dieser wichtige Abschnitt enthält spezifische Leistungsrichtlinien. Sie können alle anderen Elemente überspringen, wir empfehlen jedoch, dieses Element einzufügen.
Definieren Sie nur, was für die Leistung wichtig ist, und achten Sie darauf, nicht zu viele Angaben zu machen. Zu viele strenge Regeln schränken die Kreativität der Modelle ein und können zu einer schlechteren Leistung führen. Achte auf ein ausgewogenes Verhältnis zwischen der Beschreibung der Rolle und der Szene und den spezifischen Leistungsregeln.
Die häufigsten Anweisungen sind Stil, Tempo und Akzent. Das Modell ist jedoch nicht auf diese beschränkt und erfordert sie auch nicht. Sie können benutzerdefinierte Anweisungen hinzufügen, um zusätzliche Details zu berücksichtigen, die für Ihre Leistung wichtig sind. Dabei können Sie so viele oder so wenige Details angeben, wie nötig.
Beispiel:
### DIRECTOR'S NOTES
Style: Enthusiastic and Sassy GenZ beauty YouTuber
Pacing: Speaks at an energetic pace, keeping up with the extremely fast, rapid
delivery influencers use in short form videos.
Accent: Southern california valley girl from Laguna Beach |
Stil:
Legt den Ton und Stil der generierten Sprache fest. Geben Sie beispielsweise „fröhlich“, „energisch“, „entspannt“ oder „gelangweilt“ an, um die Leistung zu beeinflussen. Sei beschreibend und gib so viele Details wie nötig an: „Ansteckende Begeisterung. Der Zuhörer soll das Gefühl haben, Teil eines riesigen, aufregenden Community-Events zu sein.“ ist besser als einfach nur „energetisch und enthusiastisch“ zu sagen.
Sie können sogar Begriffe aus der Voiceover-Branche wie „vocal smile“ (Stimm-Lächeln) ausprobieren. Sie können beliebig viele Stilmerkmale kombinieren.
Beispiele:
Simple Emotion
DIRECTORS NOTES
...
Style: Frustrated and angry developer who can't get the build to run.
...
Mehr Tiefe
DIRECTORS NOTES
...
Style: Sassy GenZ beauty YouTuber, who mostly creates content for YouTube Shorts.
...
Komplex
DIRECTORS NOTES
Style:
* The "Vocal Smile": You must hear the grin in the audio. The soft palate is
always raised to keep the tone bright, sunny, and explicitly inviting.
*Dynamics: High projection without shouting. Punchy consonants and
elongated vowels on excitement words (e.g., "Beauuutiful morning").
Akzent:
Beschreiben Sie den gewünschten Akzent. Je genauer Sie sind, desto besser sind die Ergebnisse. Verwenden Sie beispielsweise „Britischer Akzent, wie er in Croydon, England, gesprochen wird“ anstelle von „Britischer Akzent“.
Beispiele:
### DIRECTORS NOTES
...
Accent: Southern california valley girl from Laguna Beach
...
### DIRECTORS NOTES
...
Accent: Jaz is a DJ from Brixton, London
...
Budgetabstufung:
Gesamtes Pacing und Variation des Tempos im gesamten Stück.
Beispiele:
Einfach
### DIRECTORS NOTES
...
Pacing: Speak as fast as possible
...
Mehr Tiefe
### DIRECTORS NOTES
...
Pacing: Speaks at a faster, energetic pace, keeping up with fast paced music.
...
Komplex
### DIRECTORS NOTES
...
Pacing: The "Drift": The tempo is incredibly slow and liquid. Words bleed into each other. There is zero urgency.
...
Transkript- und Audio-Tags
Das Transkript enthält die genauen Wörter, die das Modell sprechen wird. Mit Audio-Tags können Sie festlegen, wie Wörter, Sätze oder Abschnitte Ihres Transkripts wiedergegeben werden.
Ein Audio-Tag ist ein Wort in eckigen Klammern, das angibt, wie etwas gesagt werden soll, eine Änderung des Tons oder eine Zwischenbemerkung.
### TRANSCRIPT
…
I know right, I couldn't believe it. [whispers] She should have totally left
at that point.
…
[cough] Well, [sighs] I guess it doesn't matter now.
Es gibt keine vollständige Liste der Tags, die funktionieren und nicht funktionieren. Wir empfehlen, mit verschiedenen Emotionen und Ausdrücken zu experimentieren, um zu sehen, wie sich die Ausgabe ändert.
Wenn Ihr Transkript nicht auf Englisch ist, empfehlen wir, trotzdem englische Audio-Tags zu verwenden, um optimale Ergebnisse zu erzielen.
Hier sind einige häufig verwendete Tags für den Einstieg:
[amazed] |
[crying] |
[curious] |
[excited] |
[sighs] |
[gasp] |
[giggles] |
[laughs] |
[mischievously] |
[panicked] |
[sarcastic] |
[serious] |
[shouting] |
[tired] |
[trembling] |
[whispers] |
Hier ist eine unvollständige Liste von Inline-Audio-Tags, die verwendet werden können, um den Audiostil zu steuern:
[admiration], [agitation], [anger], [annoyance], [anticipation], [anxiety], [appreciation], [approval], [astonishment], [awe], [boredom], [caution], [compassion], [confidence], [confusion], [contempt], [curiosity], [determination], [disappointment], [disapproval], [disgust], [doubt], [eagerness], [embarrassment], [empathy], [encouraging], [enjoyment], [enthusiasm], [excitement], [fear], [frustration], [gratitude], [happy], [hope], [horror], [interest], [joy], [laughs], [love], [negative], [nervousness], [neutral], [optimism], [pain], [positive], [sadness], [sarcasm], [satisfaction], [surprise], [sympathy]
Jetzt ausprobieren
Probieren Sie einige dieser Beispiele selbst in AI Studio aus, testen Sie unsere TTS-App und lassen Sie Gemini die Regie übernehmen. Hier sind einige Tipps für gute Gesangsleistungen:
- Achten Sie darauf, dass der gesamte Prompt kohärent ist. Das Skript und die Regie gehen Hand in Hand, um eine gute Performance zu erzielen.
- Sie müssen nicht alles beschreiben. Manchmal hilft es, dem Modell Raum zu lassen, die Lücken zu füllen, um die Natürlichkeit zu erhöhen. (Just like a talented actor)
- Wenn du einmal nicht weiterkommst, kannst du dir von Gemini helfen lassen, dein Skript oder deine Performance zu erstellen.
Beschränkungen
- TTS-Modelle können nur Texteingaben empfangen und Audioausgaben generieren.
- Eine TTS-Sitzung hat ein Kontextfenster-Limit von 32.000 Tokens.
- Im Abschnitt Sprachen finden Sie Informationen zur Sprachunterstützung.
- TTS unterstützt kein Streaming.
Die folgenden Einschränkungen gelten speziell für die Verwendung des Gemini 3.1 Flash TTS Preview-Modells für die Sprachgenerierung:
- Stimme stimmt nicht mit den Prompt-Anweisungen überein:Die Ausgabe des Modells stimmt möglicherweise nicht immer genau mit dem ausgewählten Sprecher überein, sodass sich das Audio anders anhört als erwartet. Um zu vermeiden, dass der Ton nicht zum Sprecher passt (z. B. wenn eine tiefe Männerstimme versucht, wie ein junges Mädchen zu sprechen), sollten Sie darauf achten, dass der geschriebene Ton und Kontext Ihres Prompts natürlich zum Profil des ausgewählten Sprechers passen.
- Gelegentliche Rückgabe von Text-Tokens:Das Modell gibt gelegentlich Text-Tokens anstelle von Audio-Tokens zurück, was dazu führt, dass der Server die Anfrage mit einem
500-Fehler ablehnt. Da dies nur zufällig bei einem sehr geringen Prozentsatz der Anfragen auftritt, sollten Sie in Ihrer Anwendung eine automatische Wiederholungslogik implementieren, um diese Fälle zu behandeln. - Falsche Ablehnungen durch die Prompt-Klassifizierung:Bei vagen Prompts wird die Klassifizierung für die Sprachsynthese möglicherweise nicht ausgelöst. Das führt dazu, dass die Anfrage abgelehnt wird (
PROHIBITED_CONTENT) oder das Modell Ihre Stilanweisungen und Regieanweisungen vorliest. Validieren Sie Ihre Prompts, indem Sie eine klare Präambel hinzufügen, in der das Modell angewiesen wird, Sprache zu synthetisieren, und explizit angeben, wo das eigentliche gesprochene Transkript beginnt.
Nächste Schritte
- Cookbook zur Audioerstellung
- Die Live API von Gemini bietet interaktive Optionen zur Audiogenerierung, die Sie mit anderen Modalitäten kombinieren können.
- Informationen zur Verarbeitung von Audioeingaben finden Sie im Leitfaden Verständnis von Audioinhalten.