Gjenerimi i tekstit në të folur (TTS)

API-ja Gemini mund ta transformojë tekstin e futur në audio nga një ose shumë altoparlantë duke përdorur aftësitë e gjenerimit të tekstit në të folur (TTS) të Gemini. Gjenerimi i tekstit në të folur (TTS) është i kontrollueshëm , që do të thotë se mund të përdorni gjuhën natyrore për të strukturuar ndërveprimet dhe për të udhëhequr stilin , theksin , ritmin dhe tonin e audios.

Aftësia TTS ndryshon nga gjenerimi i të folurit i ofruar përmes Live API , i cili është projektuar për audio interaktive, të pastrukturuar dhe hyrje dhe dalje multimodale. Ndërsa Live API shkëlqen në kontekstet dinamike të bisedave, TTS përmes Gemini API është përshtatur për skenarë që kërkojnë recitim të saktë të tekstit me kontroll të imët mbi stilin dhe tingullin, siç është gjenerimi i podkasteve ose i audiolibrave.

Ky udhëzues ju tregon se si të gjeneroni audio me një dhe shumë altoparlantë nga teksti.

Para se të filloni

Sigurohuni që të përdorni një variant të modelit Gemini me aftësi tekst-në-fjalë (TTS) Gemini, siç listohen në seksionin Modelet e mbështetura . Për rezultate optimale, merrni në konsideratë se cili model i përshtatet më mirë rastit tuaj specifik të përdorimit.

Mund ta gjeni të dobishme të testoni modelet Gemini TTS në AI Studio përpara se të filloni ndërtimin.

TTS me një folës të vetëm

Për të konvertuar tekstin në audio me një altoparlant të vetëm, vendosni modalitetin e përgjigjes në "audio" dhe kaloni një objekt SpeechConfig me VoiceConfig të vendosur. Do t'ju duhet të zgjidhni një emër zëri nga zërat e daljes të parapërgatitur.

Ky shembull ruan audion dalëse nga modeli në një skedar wave:

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();

PUSHTIM

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 me shumë folës

Për audio me shumë altoparlantë, do t'ju duhet një objekt MultiSpeakerVoiceConfig me secilin altoparlant (deri në 2) të konfiguruar si një SpeakerVoiceConfig . Do t'ju duhet të përcaktoni secilin speaker me të njëjtat emra të përdorur në njoftim :

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();

PUSHTIM

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

Kontrollimi i stilit të të folurit me anë të sugjerimeve

Mund të kontrolloni stilin, tonin, theksin dhe ritmin duke përdorur udhëzime në gjuhën natyrale ose etiketa audio si për TTS me një ashtu edhe me shumë folës. Për shembull, në një kërkesë me një folës të vetëm, mund të thoni:

Say in an spooky voice:
"By the pricking of my thumbs... [short pause]
[whisper] Something wicked this way comes"

Në një kërkesë për shumë folës, jepini modelit emrin e secilit folës dhe transkriptin përkatës. Gjithashtu mund të jepni udhëzime për secilin folës individualisht:

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!

Provo të përdorësh një opsion zëri që korrespondon me stilin ose emocionin që dëshiron të përcjellësh, për ta theksuar atë edhe më shumë. Në pyetjen e mëparshme, për shembull, frymëmarrja e Enceladus mund të theksojë "i lodhur" dhe "i mërzitur", ndërsa toni optimist i Puck mund të plotësojë "i ngazëllyer" dhe "i lumtur".

Gjenerimi i një kërkese për konvertimin në audio

Modelet TTS prodhojnë vetëm audio, por ju mund të përdorni modele të tjera për të gjeneruar së pari një transkript, pastaj t'ia kaloni atë transkript modelit TTS për ta lexuar me zë të lartë.

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();

Opsionet e zërit

Modelet TTS mbështesin 30 opsionet e mëposhtme të zërit në fushën voice_name :

Zephyr -- I ndritshëm Puck -- Optimist Karoni -- Informues
Kore -- Firmë Fenrir -- I emocionueshëm Leda -- Rinor
Orus -- Firmë Aoede -- Breezy Callirrhoe -- I qetë
Autonoe -- E ndritshme Enceladus -- Frymëmarrësi Iapetus -- I Qartë
Umbriel -- I qetë Algieba -- E lëmuar Despina -- E butë
Erinome -- I qartë Algenib -- Gravelly Rasalgethi -- Informative
Laomedeia -- Optimiste Achernar -- I butë Alnilam -- Firmë
Schedar -- Madje Gacrux -- I pjekur Pulcherrima -- Përpara
Achird -- Miqësor Zubenelgenubi -- I rastësishëm Vindemiatrix -- E butë
Sadachbia -- Gjallë Sadaltager -- I ditur Sulafat -- I ngrohtë

Mund të dëgjoni të gjitha opsionet e zërit në AI Studio .

Gjuhët e mbështetura

Modelet TTS e zbulojnë automatikisht gjuhën e hyrjes. Mbështeten gjuhët e mëposhtme:

Gjuha Kodi BCP-47 Gjuha Kodi BCP-47
Arabisht ar Filipinase fil
Banglaisht miliardë finlandez fi
holandez nl galike gl
Anglisht en gjeorgjian ka
frëngjisht fr grek el
gjermanisht de Guxharatisht gu
Hindisht përshëndetje Kreolishtja e Haitit lartësi
Indonezisht ID Hebraisht ai
italiane atë hungareze hu
Japonez po Islandeze është
Koreane ko Javanisht jv
Marathi z. Kannada kn
polak pl Konkanisht kok
portugalisht pikë Lao lo
rumanisht ro latinisht la
ruse ru letonisht lv
Spanjisht es lituanisht lt
Tamil ta Luksemburgase lb
Teluguisht te maqedonase mk
Tajlandeze th Maithili maj
turk tr Malagasisht mg
ukrainas Mbretëria e Bashkuar Malajisht ms
Vietnamez vi Malajalamisht ml
Afrikanisht af mongolisht muaj
shqip katror Nepalisht ne
Amarike jam Norvegjisht, Bokmål shënim
armenisht hy Norvegjisht, Nynorsk nn
Azerbajxhanisht az Odia ose
bask BE Pashto ps
Bjellorusisht të jem persisht fa
bullgar bg Punjabi pa
birmanisht imja serbisht sr
Katalanisht ca Sindhi sd
Cebuanisht ceb Sinhalisht si
Kinezisht, Mandarinisht cmn Sllovakisht sk
Kroatisht orë sllovenisht sl
Çeke cs Suahili jugperëndim
danez da suedeze sv
Estonisht etj. Urdu yti

Modelet e mbështetura

Model Një folës i vetëm Shumëaltoparlantë
Pamje paraprake e Gemini 3.1 Flash TTS ✔️ ✔️
TTS për Pamjen e Flash-it Gemini 2.5 ✔️ ✔️
TTS për Pamjen e Pamjes së Gemini 2.5 Pro ✔️ ✔️

Udhëzues nxitës

Modeli i Tekstit në të Folur (TTS) i Gjenerimit të Audios Native Gemini dallohet nga modelet tradicionale TTS duke përdorur një model të madh gjuhësor që di jo vetëm çfarë të thotë, por edhe si ta thotë atë .

Që në momentin e parë, modeli do ta interpretojë në mënyrë native një transkript dhe do të përcaktojë se si duhet të jepen fjalët tuaja. Transkriptet e thjeshta pa ndonjë nxitje shtesë tingëllojnë natyrshëm. Por Gemini TTS vjen gjithashtu me mjete që mund t'i përdorni për ta drejtuar atë.

Qëllimi i këtij udhëzuesi është të ofrojë drejtim themelor dhe të nxisë ide gjatë zhvillimit të përvojave audio. Do të fillojmë me Etiketat për kontroll të shpejtë brenda linje dhe më pas do të shqyrtojmë strukturat e avancuara të Nxitjeve për drejtim të plotë të performancës.

Etiketat audio

Etiketat janë modifikues të brendshëm si [whispers] ose [laughs] që ju japin kontroll të detajuar mbi transmetimin. Mund t'i përdorni ato për të ndryshuar tonin, ritmin dhe atmosferën emocionale të një rreshti ose pjese të transkriptit. Mund t'i përdorni gjithashtu për të shtuar ndërhyrje dhe disa tinguj të tjerë joverbalë në performancë, si [cough] , [sighs] ose [gasp] .

Nuk ka një listë të plotë se cilat etiketa funksionojnë dhe cilat jo, prandaj ne rekomandojmë të eksperimentoni me emocione dhe shprehje të ndryshme për të parë se si ndryshon rezultati.

Nëse transkripti juaj nuk është në anglisht, për rezultatet më të mira ju rekomandojmë të përdorni ende etiketa audio në anglisht.

Jini krijues me etiketat audio

Për të treguar llojin e ndryshueshmërisë që mund të merrni me etiketat audio, ja një sërë shembujsh që thonë të njëjtën gjë, por mënyra e përdorimit ndryshon në bazë të etiketave të përdorura.

Mund ta ndryshoni theksin e fjalimit duke shtuar etiketa në fillim të një rreshti për ta bërë folësin të ngazëllyer, të mërzitur ose të ngurruar:

  • [excitedly] Tungjatjeta, jam një model i ri i konvertimit të tekstit në të folur dhe mund t'i them gjërat në shumë mënyra të ndryshme. Si mund t'ju ndihmoj sot?
  • [bored] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…
  • [reluctantly] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…

Etiketat mund të përdoren gjithashtu për të ndryshuar ritmin e prezantimit ose për të kombinuar ritmin me theksin:

  • [very fast] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…
  • [very slow] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…
  • [sarcastically, one painfully slow word at a time] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…

Gjithashtu keni kontroll të saktë mbi seksione specifike, që do të thotë se mund të pëshpëritni një pjesë dhe të bërtisni një tjetër.

  • [whispers] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur, [shouting] dhe mund t'i them gjërat në shumë mënyra të ndryshme. [whispers] Si mund t'ju ndihmoj sot?

Gjithashtu mund të eksperimentoni me çdo ide krijuese që dëshironi:

  • [like a cartoon dog] Tungjatjeta, unë jam një model i ri i tekstit në të folur…
  • [like dracula] Tungjatjeta, unë jam një model i ri i konvertimit të tekstit në të folur…

Etiketat e përdorura zakonisht përfshijnë:

[amazed] [crying] [curious] [excited]
[sighs] [gasp] [giggles] [laughs]
[mischievously] [panicked] [sarcastic] [serious]
[shouting] [tired] [trembling] [whispers]

Etiketat japin kontroll të shpejtë dhe të lehtë mbi transmetimin e transkriptit tuaj. Për edhe më shumë kontroll, mund t'i kombinoni ato me një sugjerim kontekstual për të vendosur tonin dhe atmosferën e përgjithshme të performancës.

Nxitje e avancuar

Mund ta mendoni një kërkesë të avancuar si një udhëzim sistemi që modeli duhet të ndjekë. Është një mënyrë për t'i dhënë modelit më shumë kontekst dhe kontroll mbi performancën.

Një sugjerim i fuqishëm idealisht përfshin elementët e mëposhtëm që bashkohen për të krijuar një performancë të shkëlqyer:

  • Profili Audio - Krijon një personalitet për zërin, duke përcaktuar identitetin e personazhit, arketipin dhe çdo karakteristikë tjetër si mosha, prejardhja etj.
  • Skena - Përgatit skenën. Përshkruan si mjedisin fizik ashtu edhe "atmosferën".
  • Shënime të Regjisorit - Udhëzime për performancën ku mund të analizoni udhëzimet e rëndësishme që talenti juaj virtual t'i marrë parasysh. Shembuj janë stili, frymëmarrja, ritmi, artikulimi dhe theksi.
  • Shembull konteksti - I jep modelit një pikënisje kontekstuale, në mënyrë që aktori juaj virtual të hyjë natyrshëm në skenën që keni krijuar.
  • Transkripti - Teksti që modeli do të flasë. Për performancën më të mirë, mos harroni se tema e transkriptit dhe stili i shkrimit duhet të korrespondojnë me udhëzimet që po jepni.
  • Etiketat audio - Modifikues që mund t’i vendosni në një transkript për të ndryshuar mënyrën se si jepet ajo pjesë e tekstit, siç janë [whispers] ose [shouting] .

Shembull i kërkesës së plotë:

# 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!

Strategji të hollësishme nxitëse

Le ta analizojmë secilin element të pyetjes.

Profili i audios

Përshkruani shkurtimisht personalitetin e personazhit.

  • Emri. T’i japësh personazhit një emër ndihmon në bashkimin e modelit dhe performancës së ngushtë. Referoju personazhit me emër kur përcakton skenën dhe kontekstin.
  • Roli. Identiteti thelbësor dhe arketipi i personazhit që po luan në skenë. p.sh., DJ radioje, podkaster, reporter lajmesh etj.

Shembuj:

# AUDIO PROFILE: Jaz R.
## "The Morning Hype"


# AUDIO PROFILE: Monica A.
## "The Beauty Influencer"

Skenë

Vendosni kontekstin për skenën, duke përfshirë vendndodhjen, gjendjen shpirtërore dhe detajet mjedisore që përcaktojnë tonin dhe atmosferën. Përshkruani se çfarë po ndodh rreth personazhit dhe si ndikon kjo tek ata. Skena ofron kontekstin mjedisor për të gjithë bashkëveprimin dhe udhëzon performancën aktoriale në një mënyrë delikate organike.

Shembuj:

## 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."

Shënime të drejtorëve

Ky seksion kritik përfshin udhëzime specifike për performancën. Mund t’i anashkaloni të gjithë elementët e tjerë, por ne ju rekomandojmë ta përfshini këtë element.

Përcaktoni vetëm atë që është e rëndësishme për performancën, duke pasur kujdes që të mos specifikoni shumë. Shumë rregulla të rrepta do të kufizojnë kreativitetin e modeleve dhe mund të rezultojnë në një performancë më të keqe. Balanconi përshkrimin e rolit dhe skenës me rregullat specifike të performancës.

Udhëzimet më të zakonshme janë Stili, Ritmi dhe Theksi , por modeli nuk kufizohet vetëm në këto, as nuk i kërkon ato. Mos ngurroni të përfshini udhëzime të personalizuara për të mbuluar çdo detaj shtesë të rëndësishëm për performancën tuaj dhe të jepni sa më shumë ose sa më pak detaje të jetë e nevojshme.

Për shembull:

### 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 |

Stili:

Përcakton tonin dhe stilin e fjalimit të gjeneruar. Përfshi gjëra të tilla si optimist, energjik, i relaksuar, i mërzitur etj., për të udhëhequr performancën. Ji përshkrues dhe jep sa më shumë detaje të jetë e nevojshme: "Entuziazëm ngjitës. Dëgjuesi duhet të ndihet sikur është pjesë e një ngjarjeje masive dhe emocionuese të komunitetit." Funksionon më mirë sesa thjesht të thuash "energjik dhe entuziast".

Madje mund të provoni terma që janë të njohur në industrinë e zërit, si "buzëqeshje vokale". Mund të shtoni sa më shumë karakteristika stili që dëshironi.

Shembuj:

Emocion i thjeshtë

DIRECTORS NOTES
...
Style: Frustrated and angry developer who can't get the build to run.
...

Më shumë thellësi

DIRECTORS NOTES
...
Style: Sassy GenZ beauty YouTuber, who mostly creates content for YouTube Shorts.
...

Kompleks

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").

Theks:

Përshkruani theksin e dëshiruar. Sa më specifik të jeni, aq më të mira janë rezultatet. Për shembull, përdorni " theks britanik i anglishtes siç dëgjohet në Croydon, Angli " kundrejt " theks britanik ".

Shembuj:

### DIRECTORS NOTES
...
Accent: Southern california valley girl from Laguna Beach
...


### DIRECTORS NOTES
...
Accent: Jaz is a DJ from Brixton, London
...

Ritmi:

Ritmi i përgjithshëm dhe ndryshimi i ritmit gjatë gjithë pjesës.

Shembuj:

E thjeshtë

### DIRECTORS NOTES
...
Pacing: Speak as fast as possible
...

Më shumë thellësi

### DIRECTORS NOTES
...
Pacing: Speaks at a faster, energetic pace, keeping up with fast paced music.
...

Kompleks

### DIRECTORS NOTES
...
Pacing: The "Drift": The tempo is incredibly slow and liquid. Words bleed into each other. There is zero urgency.
...

Transkripti dhe etiketat audio

Transkripti është saktësisht fjalët që modeli do të thotë. Një etiketë audio është një fjalë në kllapa katrore që tregon ose se si duhet thënë diçka, një ndryshim toni ose një pasthirrmë.

### TRANSCRIPT

I know right, [sarcastically] I couldn't believe it. [whispers] She should have totally left
at that point.

[cough] Well, [sighs] I guess it doesn't matter now.

Provoje

Provoni vetë disa nga këto shembuj në AI Studio , luani me aplikacionin tonë TTS dhe lejoni që Gemini t'ju vendosë në karrigen e regjisorit. Mbani mend këto këshilla për të bërë performanca të shkëlqyera vokale:

  • Mos harroni ta mbani të gjithë sugjerimin koherent – ​​skenari dhe regjia shkojnë dorë për dore në krijimin e një performance të shkëlqyer.
  • Mos mendo se duhet të përshkruash gjithçka, ndonjëherë t’i japësh modelit hapësirë ​​për të plotësuar boshllëqet ndihmon natyralitetin. (Ashtu si një aktor i talentuar)
  • Nëse ndonjëherë ndiheni të bllokuar, kërkojuni Binjakëve t'ju ndihmojnë të hartoni skenarin ose performancën tuaj.

Kufizime

  • Modelet TTS mund të marrin vetëm hyrje teksti dhe të gjenerojnë dalje audio.
  • Një seancë TTS ka një limit të dritares së kontekstit prej 32 mijë tokenësh.
  • Rishikoni seksionin e Gjuhëve për mbështetje gjuhësore.
  • TTS nuk mbështet transmetimin.

Kufizimet e mëposhtme zbatohen posaçërisht kur përdoret modeli Gemini 3.1 Flash TTS Preview për gjenerimin e të folurit:

  • Mospërputhje zanore me udhëzimet e kërkesës: Dalja e modelit mund të mos përputhet gjithmonë në mënyrë strikte me folësin e zgjedhur, duke bërë që audioja të tingëllojë ndryshe nga sa pritet. Për të shmangur tonet e papërputhshme (siç është një zë i thellë mashkullor që përpiqet të flasë si një vajzë e re), sigurohuni që toni dhe konteksti i shkruar i kërkesës suaj të përputhen natyrshëm me profilin e folësit të zgjedhur.
  • Cilësia e rezultateve më të gjata: Cilësia dhe qëndrueshmëria e të folurit mund të fillojnë të ndryshojnë me rezultatet e gjeneruara që zgjasin më shumë se disa minuta. Ne ju rekomandojmë t'i ndani transkriptet tuaja në pjesë më të vogla.
  • Kthime të herëpashershme të tokenëve tekstualë: Modeli herë pas here kthen tokena tekstualë në vend të tokenave audio, duke bërë që serveri të dështojë në kërkesë me një gabim 500 Meqenëse kjo ndodh rastësisht në një përqindje shumë të vogël të kërkesave, duhet të implementoni logjikën e ripërpjekjes automatike në aplikacionin tuaj për t'i trajtuar këto.
  • Refuzime të rreme të klasifikuesit të mesazheve: Mesazhet e paqarta mund të mos e aktivizojnë klasifikuesin e sintezës së të folurit, duke rezultuar në një kërkesë të refuzuar ( PROHIBITED_CONTENT ) ose duke bërë që modeli të lexojë me zë të lartë udhëzimet tuaja të stilit dhe shënimet e regjisorit. Validoni mesazhet tuaja duke shtuar një parathënie të qartë që udhëzon modelin të sintetizojë të folurin dhe etiketoni në mënyrë të qartë se ku fillon transkriptimi aktual i folur.

Çfarë vjen më pas