تولید متن به گفتار (TTS)

رابط برنامه‌نویسی نرم‌افزار Gemini می‌تواند با استفاده از قابلیت‌های تولید متن به گفتار (TTS) در Gemini، ورودی متن را به صدای تک‌گوینده یا چندگوینده تبدیل کند. تولید متن به گفتار (TTS) قابل کنترل است، به این معنی که می‌توانید از زبان طبیعی برای ساختاردهی تعاملات و هدایت سبک ، لهجه ، سرعت و لحن صدا استفاده کنید.

قابلیت TTS با تولید گفتار ارائه شده از طریق Live API که برای ورودی‌ها و خروجی‌های تعاملی، بدون ساختار و چندوجهی طراحی شده است، متفاوت است. در حالی که Live API در زمینه‌های مکالمه پویا برتری دارد، TTS از طریق Gemini API برای سناریوهایی که نیاز به قرائت دقیق متن با کنترل دقیق بر سبک و صدا دارند، مانند تولید پادکست یا کتاب صوتی، مناسب است.

این راهنما به شما نشان می‌دهد که چگونه از متن، صدای تک‌گوینده و چندگوینده تولید کنید.

قبل از اینکه شروع کنی

مطمئن شوید که از مدل Gemini 2.5 با قابلیت تبدیل متن به گفتار (TTS) Gemini، همانطور که در بخش مدل‌های پشتیبانی‌شده ذکر شده است، استفاده می‌کنید. برای نتایج بهینه، در نظر بگیرید که کدام مدل به بهترین وجه با مورد استفاده خاص شما مطابقت دارد.

ممکن است [آزمایش مدل‌های Gemini 2.5 TTS در AI Studio] برای شما مفید باشد.

TTS تک بلندگو

برای تبدیل متن به صدای تک‌گوینده، حالت پاسخ را روی "audio" تنظیم کنید و یک شیء speech_config با نام صدا به آن ارسال کنید. باید نام صدا را از میان صداهای خروجی از پیش ساخته شده انتخاب کنید.

این مثال صدای خروجی از مدل را در یک فایل wave ذخیره می‌کند:

پایتون

from google import genai
import wave

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

interaction = client.interactions.create(
    model="gemini-3.1-flash-tts-preview",
    input="Say cheerfully: Have a wonderful day!",
    response_modalities=["audio"],
    speech_config=[
        {"voice": "Kore"}
    ]
)

data = None
for step in interaction.steps:
    for content_block in step.content:
        if content_block.type == "audio":
            data = content_block.data
            break
    if data:
        break
wave_file('out.wav', data)

جاوا اسکریپت

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 client = new GoogleGenAI({});

   const interaction = await client.interactions.create({
      model: "gemini-3.1-flash-tts-preview",
      input: "Say cheerfully: Have a wonderful day!",
      response_modalities: ['audio'],
      speech_config: [
         { voice: 'Kore' }
      ],
   });

   let data = null;
   for (const step of interaction.steps) {
      for (const contentBlock of step.content) {
         if (contentBlock.type === 'audio') {
            data = contentBlock.data;
            break;
         }
      }
      if (data) break;
   }
   const audioBuffer = Buffer.from(data, 'base64');
   await saveWaveFile('out.wav', audioBuffer);
}
await main();

استراحت

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-tts-preview",
    "input": "Say cheerfully: Have a wonderful day!",
    "response_modalities": ["audio"],
    "speech_config": [
      { "voice": "Kore" }
    ]
  }'

TTS چند بلندگو

برای صدای چند بلندگو، به یک شیء multi_speaker_voice_config نیاز دارید که هر بلندگو (حداکثر ۲) به صورت speaker_voice_config پیکربندی شده باشد. باید هر speaker با همان نام‌های استفاده شده در اعلان تعریف کنید:

پایتون

from google import genai
import wave

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?"""

 interaction = client.interactions.create(
     model="gemini-3.1-flash-tts-preview",
     input=prompt,
     response_modalities=["audio"],
     speech_config=[
         {"speaker": "Joe", "voice": "Kore"},
         {"speaker": "Jane", "voice": "Puck"}
     ]
 )

data = None
for step in interaction.steps:
   for content_block in step.content:
      if content_block.type == "audio":
         data = content_block.data
         break
   if data:
      break
wave_file('out.wav', data)

جاوا اسکریپت

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 client = 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 interaction = await client.interactions.create({
      model: "gemini-3.1-flash-tts-preview",
      input: prompt,
      response_modalities: ['audio'],
      speech_config: [
         { speaker: 'Joe', voice: 'Kore' },
         { speaker: 'Jane', voice: 'Puck' }
      ]
   });

   let data = null;
   for (const step of interaction.steps) {
      for (const contentBlock of step.content) {
         if (contentBlock.type === 'audio') {
            data = contentBlock.data;
            break;
         }
      }
      if (data) break;
   }
   const audioBuffer = Buffer.from(data, 'base64');
   await saveWaveFile('out.wav', audioBuffer);
}

await main();

استراحت

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gemini-3.1-flash-tts-preview",
  "input": "TTS the following conversation between Joe and Jane: Joe: Hows it going today Jane? Jane: Not too bad, how about you?",
  "response_modalities": ["audio"],
  "speech_config": [
    { "speaker": "Joe", "voice": "Kore" },
    { "speaker": "Jane", "voice": "Puck" }
  ]
}'

کنترل سبک گفتار با استفاده از دستورالعمل‌ها

شما می‌توانید سبک، لحن، لهجه و سرعت را با استفاده از پیام‌های زبان طبیعی برای هر دو نوع TTS تک‌گوینده و چندگوینده کنترل کنید. برای مثال، در یک پیام تک‌گوینده، می‌توانید بگویید:

Say in an spooky whisper:
"By the pricking of my thumbs...
Something wicked this way comes"

در یک پرسش چند گوینده، نام هر گوینده و متن مربوط به آن را در اختیار مدل قرار دهید. همچنین می‌توانید برای هر گوینده به صورت جداگانه راهنمایی ارائه دهید:

Make Speaker1 sound tired and bored, and Speaker2 sound excited and happy:

Speaker1: So... what's on the agenda today?
Speaker2: You're never going to guess!

سعی کنید از گزینه صوتی استفاده کنید که با سبک یا احساسی که می‌خواهید منتقل کنید مطابقت داشته باشد تا آن را بیشتر تأکید کنید. برای مثال، در سوال قبلی، صدای نفس‌گیر انسلادوس ممکن است بر «خسته» و «بی‌حوصله» تأکید کند، در حالی که لحن شاد پاک می‌تواند مکمل «هیجان‌زده» و «خوشحال» باشد.

ایجاد یک اعلان برای تبدیل به صدا

مدل‌های TTS فقط صدا را خروجی می‌دهند، اما می‌توانید از مدل‌های دیگر برای تولید متن اولیه استفاده کنید، سپس آن متن را به مدل TTS منتقل کنید تا با صدای بلند بخواند.

پایتون

from google import genai

client = genai.Client()

transcript_interaction = client.interactions.create(
   model="gemini-3-flash-preview",
   input="""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."""
)
transcript = transcript_interaction.steps[-1].content[0].text

tts_interaction = client.interactions.create(
   model="gemini-3.1-flash-tts-preview",
   input=transcript,
   response_modalities=["audio"],
   speech_config=[
      {"speaker": "Dr. Anya", "voice": "Kore"},
      {"speaker": "Liam", "voice": "Puck"}
   ]
)

# ...Code to stream or save the output

جاوا اسکریپت

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

async function main() {

const transcriptInteraction = await client.interactions.create({
   model: "gemini-3-flash-preview",
   input: "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 ttsInteraction = await client.interactions.create({
   model: "gemini-3.1-flash-tts-preview",
   input: transcriptInteraction.steps.at(-1).content[0].text,
   response_modalities: ['audio'],
   speech_config: [
      { speaker: "Dr. Anya", voice: "Kore" },
      { speaker: "Liam", voice: "Puck" }
   ]
  });
}
// ..JavaScript code for exporting .wav file for output audio

await main();

گزینه‌های صوتی

مدل‌های TTS از 30 گزینه صوتی زیر در فیلد voice_name پشتیبانی می‌کنند:

زفیر -- روشن پک -- خوش‌بین شارون -- آموزنده
کره -- شرکت فنریر -- هیجان‌انگیز لدا -- جوان
اوروس -- شرکت آئوده -- نسیم ملایم کالیرو -- آسان‌گیر
اتونو -- روشن انسلادوس -- نفس‌گیر یاپتوس -- شفاف
آمبریل -- آسان‌گیر آلگیبا -- صاف دسپینا -- صاف
ارینوم -- پاک آلگنیب -- شنی رسالگتی -- آموزنده
لائومدیا -- خوش‌بین آخنار -- نرم آلنیلام -- شرکت
شِدار -- حتی گاکروکس -- بالغ پولچریما -- مهاجم
آچیرد -- دوستانه Zubenelgenubi -- غیررسمی ویندمیاتریکس -- ملایم
ساداچیبیا -- سرزنده سدالتاگر - آگاه سولفات -- گرم

شما می‌توانید تمام گزینه‌های صوتی را در

زبان‌های پشتیبانی‌شده

مدل‌های TTS زبان ورودی را به‌طور خودکار تشخیص می‌دهند. زبان‌های زیر پشتیبانی می‌شوند:

زبان کد BCP-47 زبان کد BCP-47
عربی آر فیلیپینی فیل
بنگلا بی ان فنلاندی فی
هلندی ان ال گالیسیایی گل
انگلیسی انگلیسی گرجی کا
فرانسوی فر یونانی ال
آلمانی د گجراتی گو
هندی سلام کریول هائیتیایی اچ تی
اندونزیایی شناسه عبری او
ایتالیایی آن مجارستانی هو
ژاپنی جا ایسلندی است
کره ای کو جاوه ای جی وی
مراتی آقای کانارا کن
لهستانی پل کونکانی کوک
پرتغالی پی تی لائو لو
رومانیایی رو لاتین لا
روسی انگشت های دست فاصله لتونیایی lv
اسپانیایی ها لیتوانیایی آن
تامیل تا لوکزامبورگی پوند
تلوگو ته مقدونی مک
تایلندی هفتم میثیلی مای
ترکی تر مالاگاسیایی میلی‌گرم
اوکراینی انگلستان مالایی ام‌اس
ویتنامی وی مالایالامی میلی‌لیتر
آفریکانس اف مغولی من
آلبانیایی مربع نپالی نه
امهری هستم نروژی، بوکمال توجه
ارمنی هی نروژی، نینورسک ان
آذربایجانی آز اودیا یا
باسک اتحادیه اروپا پشتو ص
بلاروسی باش فارسی فا
بلغاری بی جی پنجابی پا
برمه‌ای من صربی اس آر
کاتالان حدود سندی اس دی
سبوانو سی بی سینهالی سی
چینی، ماندارین سی ام ان اسلواکی اسک
کرواتی ساعت اسلوونیایی اس ال
چک سی اس سواحیلی جنوب غربی
دانمارکی دا سوئدی اس وی
استونیایی و اردو تو

مدل‌های پشتیبانی‌شده

مدل تک بلندگو چند بلندگو
پیش‌نمایش TTS فلش جمینی ۳.۱ ✔️ ✔️
پیش‌نمایش فلش Gemini 2.5 TTS ✔️ ✔️
پیش‌نمایش Gemini 2.5 Pro TTS ✔️ ✔️

راهنمای راهنمایی

مدل تبدیل متن به گفتار (TTS) نسل صوتی بومی Gemini با استفاده از یک مدل زبانی بزرگ که نه تنها می‌داند چه بگوید، بلکه می‌داند چگونه آن را بگوید، خود را از مدل‌های TTS مرسوم متمایز می‌کند.

می‌توانید یک اعلان پیشرفته را به عنوان یک دستورالعمل سیستمی برای مدل در نظر بگیرید. این روشی است که به مدل زمینه و کنترل بیشتری بر عملکرد می‌دهد.

برای فعال کردن این قابلیت، کاربران می‌توانند خود را به عنوان کارگردانانی در نظر بگیرند که صحنه‌ای را برای اجرای یک صدای مجازی آماده می‌کنند. برای ایجاد یک متن، توصیه می‌کنیم اجزای زیر را در نظر بگیرید: یک پروفایل صوتی که هویت اصلی و الگوی اصلی شخصیت را تعریف می‌کند؛ یک توصیف صحنه که محیط فیزیکی و "حال و هوای" احساسی را مشخص می‌کند؛ و یادداشت‌های کارگردان که راهنمایی دقیق‌تری در مورد سبک، لهجه و کنترل سرعت ارائه می‌دهد.

با ارائه دستورالعمل‌های ظریف مانند لهجه منطقه‌ای دقیق، ویژگی‌های خاص فرازبانی (مثلاً نفس‌نفس زدن) یا سرعت گفتار، کاربران می‌توانند از آگاهی از زمینه مدل برای تولید اجراهای صوتی بسیار پویا، طبیعی و رسا استفاده کنند. برای عملکرد بهینه، توصیه می‌کنیم متن و دستورالعمل‌های کارگردانی با هم هماهنگ باشند، به طوری که «چه کسی آن را می‌گوید» با «چه چیزی گفته می‌شود» و «چگونه گفته می‌شود» مطابقت داشته باشد.

هدف از این راهنما، ارائه جهت‌گیری‌های اساسی و جرقه زدن ایده‌ها هنگام توسعه تجربیات صوتی با استفاده از نسل صوتی Gemini TTS است. ما از دیدن آنچه شما خلق می‌کنید، هیجان‌زده‌ایم!

برچسب‌های صوتی

برچسب‌ها، اصلاح‌کننده‌های درون‌خطی مانند [whispers] یا [laughs] هستند که به شما کنترل دقیقی بر اجرای متن می‌دهند. می‌توانید از آنها برای تغییر لحن، سرعت و حس و حال احساسی یک خط یا بخشی از متن استفاده کنید. همچنین می‌توانید از آنها برای اضافه کردن حروف ندا و چند صدای غیرکلامی دیگر به اجرا، مانند [cough] ، [sighs] یا [gasp] استفاده کنید.

هیچ لیست جامعی در مورد اینکه تگ‌ها چه کاری انجام می‌دهند و چه کاری انجام نمی‌دهند وجود ندارد، توصیه می‌کنیم احساسات و عبارات مختلف را آزمایش کنید تا ببینید خروجی چگونه تغییر می‌کند.

اگر متن شما به زبان انگلیسی نیست، برای بهترین نتیجه توصیه می‌کنیم همچنان از برچسب‌های صوتی انگلیسی استفاده کنید.

با برچسب‌های صوتی خلاق باشید

برای نشان دادن نوع تنوعی که می‌توانید با برچسب‌های صوتی داشته باشید، در اینجا مجموعه‌ای از مثال‌ها آورده شده است که هر کدام یک چیز را می‌گویند، اما نحوه‌ی ارائه بر اساس برچسب‌های استفاده شده تغییر می‌کند.

شما می‌توانید با اضافه کردن برچسب‌هایی در ابتدای یک سطر، تأکید کلام را تغییر دهید تا گوینده را هیجان‌زده، کسل یا بی‌میل کنید:

  • [excitedly] سلام، من یک مدل جدید تبدیل متن به گفتار هستم و می‌توانم چیزها را به روش‌های مختلفی بیان کنم. امروز چطور می‌توانم به شما کمک کنم؟
  • [bored] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…
  • [reluctantly] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…

از برچسب‌ها همچنین می‌توان برای تغییر سرعت ارائه یا ترکیب سرعت با تأکید استفاده کرد:

  • [very fast] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…
  • [very slow] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…
  • [sarcastically, one painfully slow word at a time] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…

شما همچنین کنترل دقیقی روی بخش‌های خاص دارید، به این معنی که می‌توانید یک قسمت را زمزمه کنید و قسمت دیگر را فریاد بزنید.

  • [whispers] سلام، من یک مدل جدید تبدیل متن به گفتار هستم، [shouting] و می‌توانم چیزها را به روش‌های مختلف بیان کنم. [whispers] امروز چطور می‌توانم به شما کمک کنم؟

شما همچنین می‌توانید هر ایده خلاقانه‌ای را که می‌خواهید آزمایش کنید:

  • [like a cartoon dog] سلام، من یه مدل جدید تبدیل متن به گفتار هستم...
  • [like dracula] سلام، من یک مدل جدید تبدیل متن به گفتار هستم…

تگ‌های پرکاربرد عبارتند از:

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

برچسب‌ها کنترل سریعی بر اجرای متن شما می‌دهند. برای کنترل بیشتر، می‌توانید آنها را با یک پیش‌زمینه ترکیب کنید تا لحن و حال و هوای کلی اجرا را تنظیم کنید.

ساختار انگیزشی

یک متن قوی در حالت ایده‌آل شامل عناصر زیر است که برای خلق یک اجرای عالی گرد هم می‌آیند:

  • نمایه صوتی - شخصیتی برای صدا ایجاد می‌کند، هویت شخصیت، آرکتایپ و سایر ویژگی‌های آن مانند سن، پیشینه و غیره را تعریف می‌کند.
  • صحنه - صحنه را آماده می‌کند. هم محیط فیزیکی و هم «حال و هوا» را توصیف می‌کند.
  • یادداشت‌های کارگردان - راهنمای اجرا که در آن می‌توانید دستورالعمل‌هایی را که برای استعداد مجازی شما مهم است، تفکیک کنید. به عنوان مثال می‌توان به سبک، تنفس، سرعت، بیان و لهجه اشاره کرد.
  • زمینه نمونه - به مدل یک نقطه شروع زمینه‌ای می‌دهد، بنابراین بازیگر مجازی شما به طور طبیعی وارد صحنه‌ای که شما تنظیم کرده‌اید می‌شود.
  • متن رونوشت - متنی که مدل در آن صحبت خواهد کرد. برای بهترین عملکرد، به یاد داشته باشید که موضوع متن و سبک نوشتاری باید با دستورالعمل‌هایی که ارائه می‌دهید مرتبط باشد.
  • برچسب‌های صوتی - اصلاح‌کننده‌هایی که می‌توانید در متن قرار دهید تا نحوه‌ی ارائه‌ی آن بخش از متن را تغییر دهید، مانند [whispers] یا [shouting] .

مثال کامل از درخواست:

# 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
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. Turn this up!
We've got the project roadmap landing in three, two... let's go!

استراتژی‌های دقیق برای ترغیب

هر عنصر از دستور را به صورت زیر تجزیه کنید:

مشخصات صوتی

به طور خلاصه شخصیت پردازی شخصیت را شرح دهید.

  • نام. دادن نام به شخصیت، به انسجام مدل و اجرای دقیق کمک می‌کند. هنگام تنظیم صحنه و زمینه، به شخصیت با نام اشاره کنید.
  • نقش. هویت اصلی و کهن الگوی شخصیتی که در صحنه ایفای نقش می‌کند. مثلاً دی‌جی رادیو، پادکستر، گزارشگر اخبار و غیره.

مثال‌ها:

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


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

صحنه

زمینه صحنه، از جمله مکان، حال و هوا و جزئیات محیطی که لحن و حس و حال را ایجاد می‌کنند، را تعیین کنید. آنچه را که در اطراف شخصیت اتفاق می‌افتد و چگونگی تأثیر آن بر او را شرح دهید. صحنه، زمینه محیطی را برای کل تعامل فراهم می‌کند و اجرای بازیگری را به روشی ظریف و ارگانیک هدایت می‌کند.

مثال‌ها:

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

یادداشت‌های کارگردانان

این بخش حیاتی شامل راهنمایی‌های خاص در مورد عملکرد است. می‌توانید از سایر عناصر صرف نظر کنید، اما توصیه می‌کنیم این عنصر را لحاظ کنید.

فقط آنچه را که برای اجرا مهم است تعریف کنید، مراقب باشید که بیش از حد مشخص نکنید. قوانین سختگیرانه زیاد، خلاقیت مدل‌ها را محدود می‌کند و ممکن است منجر به اجرای بدتری شود. نقش و توصیف صحنه را با قوانین خاص اجرا متعادل کنید.

رایج‌ترین دستورالعمل‌ها عبارتند از سبک، سرعت و لهجه ، اما این مدل به این موارد محدود نمی‌شود و به آنها نیازی هم ندارد. می‌توانید دستورالعمل‌های سفارشی را برای پوشش هرگونه جزئیات اضافی مهم برای اجرای خود اضافه کنید و به هر میزان که لازم است به جزئیات بپردازید.

برای مثال:

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

سبک:

لحن و سبک گفتار تولید شده را تنظیم می‌کند. مواردی مانند شاد، پرانرژی، آرام، بی‌حوصله و غیره را برای هدایت اجرا در نظر بگیرید. توصیفی باشید و تا حد امکان جزئیات لازم را ارائه دهید: «شور و شوق مسری. شنونده باید احساس کند که بخشی از یک رویداد اجتماعی عظیم و هیجان‌انگیز است.» بهتر از گفتن «پرانرژی و مشتاق» عمل می‌کند.

شما حتی می‌توانید اصطلاحاتی را که در صنعت صداپیشگی محبوب هستند، مانند «لبخند آوازی» امتحان کنید. می‌توانید هر تعداد ویژگی سبکی که می‌خواهید را لایه‌بندی کنید.

مثال‌ها:

احساسات ساده

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

عمق بیشتر

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

پیچیده

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

لهجه:

لهجه انتخاب شده را توصیف کنید. هرچه دقیق‌تر توضیح دهید، نتایج بهتری خواهید گرفت. برای مثال، از « لهجه انگلیسی بریتانیایی آنطور که در کرویدون، انگلستان شنیده می‌شود » به جای « لهجه بریتانیایی » استفاده کنید.

مثال‌ها:

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


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

سرعت:

ریتم کلی و تنوع ریتم در سراسر قطعه.

مثال‌ها:

ساده

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

عمق بیشتر

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

پیچیده

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

امتحانش کن.

خودتان برخی از این مثال‌ها را در اپلیکیشن TTS امتحان کنید و بگذارید Gemini شما را روی صندلی کارگردانی بنشاند. این نکات را برای داشتن اجراهای صوتی عالی در نظر داشته باشید:

  • به یاد داشته باشید که کل متن را منسجم نگه دارید - متن و کارگردانی در خلق یک اجرای عالی دست به دست هم می‌دهند.
  • احساس نکنید که باید همه چیز را توصیف کنید، گاهی اوقات دادن فضا به مدل برای پر کردن جاهای خالی به طبیعی بودن کمک می‌کند. (درست مثل یک بازیگر با استعداد)
  • اگر تا به حال احساس گیر افتادن کرده‌اید، از Gemini بخواهید که به شما در نوشتن فیلمنامه یا اجرایتان کمک کند.

محدودیت‌ها

  • مدل‌های TTS فقط می‌توانند ورودی‌های متنی را دریافت کرده و خروجی‌های صوتی تولید کنند.
  • یک جلسه TTS محدودیت پنجره زمینه ۳۲ هزار توکن دارد.
  • برای پشتیبانی از زبان، بخش زبان‌ها را مرور کنید.
  • TTS از پخش جریانی پشتیبانی نمی‌کند.

محدودیت‌های زیر به‌طور خاص هنگام استفاده از مدل پیش‌نمایش Gemini 3.1 Flash TTS برای تولید گفتار اعمال می‌شوند:

  • ناهماهنگی صدا با دستورالعمل‌های سریع: خروجی مدل ممکن است همیشه دقیقاً با گوینده انتخاب شده مطابقت نداشته باشد و باعث شود صدا متفاوت از حد انتظار باشد. برای جلوگیری از تُن‌های ناهماهنگ (مانند صدای بم یک مرد که سعی می‌کند مانند یک دختر جوان صحبت کند)، مطمئن شوید که لحن نوشتاری و متن سریع شما به طور طبیعی با مشخصات گوینده انتخاب شده همسو باشد.
  • کیفیت خروجی‌های طولانی‌تر: کیفیت و ثبات گفتار ممکن است با خروجی‌های تولید شده‌ای که بیش از چند دقیقه طول دارند، شروع به کاهش کند. توصیه می‌کنیم رونوشت‌های خود را به بخش‌های کوچک‌تر تقسیم کنید.
  • بازگشت گاه‌به‌گاه توکن‌های متنی: این مدل گاهی اوقات به جای توکن‌های صوتی، توکن‌های متنی را برمی‌گرداند و باعث می‌شود سرور درخواست را با خطای 500 رد کند. از آنجا که این اتفاق به طور تصادفی در درصد بسیار کمی از درخواست‌ها رخ می‌دهد، شما باید منطق تلاش مجدد خودکار را در برنامه خود پیاده‌سازی کنید تا این موارد را مدیریت کند.
  • رد اشتباه طبقه‌بندی‌کننده‌ی دستور: دستورات مبهم ممکن است در فعال‌سازی طبقه‌بندی‌کننده‌ی سنتز گفتار ناموفق باشند و منجر به رد درخواست ( PROHIBITED_CONTENT ) شوند یا باعث شوند مدل دستورالعمل‌های سبک شما و یادداشت‌های کارگردان را با صدای بلند بخواند. دستورات خود را با اضافه کردن یک مقدمه‌ی واضح که به مدل دستور می‌دهد گفتار را سنتز کند، اعتبارسنجی کنید و به طور واضح مشخص کنید که متن گفتاری واقعی از کجا شروع می‌شود.

قدم بعدی چیست؟

  • رابط برنامه‌نویسی زنده‌ی Gemini گزینه‌های تولید صدای تعاملی را ارائه می‌دهد که می‌توانید با سایر روش‌ها ترکیب کنید.
  • برای کار با ورودی‌های صوتی، به راهنمای درک صدا مراجعه کنید.