رابط برنامهنویسی نرمافزار Gemini میتواند با استفاده از قابلیتهای تولید متن به گفتار (TTS) در Gemini، ورودی متن را به صدای تکگوینده یا چندگوینده تبدیل کند. تولید متن به گفتار (TTS) قابل کنترل است، به این معنی که میتوانید از زبان طبیعی برای ساختاردهی تعاملات و هدایت سبک ، لهجه ، سرعت و لحن صدا استفاده کنید.
قابلیت TTS با تولید گفتار ارائه شده از طریق Live API که برای ورودیها و خروجیهای تعاملی، بدون ساختار و چندوجهی طراحی شده است، متفاوت است. در حالی که Live API در زمینههای مکالمه پویا برتری دارد، TTS از طریق Gemini API برای سناریوهایی که نیاز به قرائت دقیق متن با کنترل دقیق بر سبک و صدا دارند، مانند تولید پادکست یا کتاب صوتی، مناسب است.
این راهنما به شما نشان میدهد که چگونه از متن، صدای تکگوینده و چندگوینده تولید کنید.
قبل از اینکه شروع کنی
مطمئن شوید که از یک مدل Gemini با قابلیت تبدیل متن به گفتار (TTS) Gemini، همانطور که در بخش مدلهای پشتیبانیشده ذکر شده است، استفاده میکنید. برای نتایج بهینه، در نظر بگیرید که کدام مدل به بهترین وجه با مورد استفاده خاص شما مطابقت دارد.
ممکن است قبل از شروع ساخت، آزمایش مدلهای Gemini TTS در AI Studio مفید باشد.
TTS تک بلندگو
برای تبدیل متن به صدای تکگوینده، حالت پاسخ را روی "audio" تنظیم کنید و یک شیء SpeechConfig را با مجموعه VoiceConfig ارسال کنید. باید نام صدا را از میان صداهای خروجی از پیش ساخته شده انتخاب کنید.
این مثال صدای خروجی از مدل را در یک فایل wave ذخیره میکند:
پایتون
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
جاوا اسکریپت
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();
استراحت
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 چند بلندگو
برای صدای چند بلندگو، به یک شیء MultiSpeakerVoiceConfig نیاز دارید که هر بلندگو (حداکثر ۲) به عنوان SpeakerVoiceConfig پیکربندی شده باشد. باید هر speaker با همان نامهای استفاده شده در اعلان تعریف کنید:
پایتون
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
جاوا اسکریپت
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();
استراحت
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
کنترل سبک گفتار با استفاده از دستورالعملها
شما میتوانید سبک، لحن، لهجه و سرعت را با استفاده از پیامهای زبان طبیعی یا برچسبهای صوتی برای TTS تکسخنرانه و چندسخنرانه کنترل کنید. برای مثال، در یک پیام تکسخنرانه، میتوانید بگویید:
Say in an spooky voice:
"By the pricking of my thumbs... [short pause]
[whisper] Something wicked this way comes"
در یک پرسش چند گوینده، نام هر گوینده و متن مربوطه را به مدل ارائه دهید. همچنین میتوانید برای هر گوینده به صورت جداگانه راهنمایی ارائه دهید:
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!
سعی کنید از گزینه صوتی استفاده کنید که با سبک یا احساسی که میخواهید منتقل کنید مطابقت داشته باشد تا آن را بیشتر تأکید کنید. برای مثال، در سوال قبلی، صدای نفسگیر انسلادوس ممکن است بر «خسته» و «بیحوصله» تأکید کند، در حالی که لحن شاد پاک میتواند مکمل «هیجانزده» و «خوشحال» باشد.
ایجاد یک اعلان برای تبدیل به صدا
مدلهای TTS فقط صدا را خروجی میدهند، اما میتوانید از مدلهای دیگر برای تولید متن اولیه استفاده کنید، سپس آن متن را به مدل TTS منتقل کنید تا با صدای بلند بخواند.
پایتون
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
جاوا اسکریپت
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();
گزینههای صوتی
مدلهای TTS از 30 گزینه صوتی زیر در فیلد voice_name پشتیبانی میکنند:
| زفیر -- روشن | پک -- خوشبین | شارون -- آموزنده |
| کره -- شرکت | فنریر -- هیجانانگیز | لدا -- جوان |
| اوروس -- شرکت | آئوده -- نسیم ملایم | کالیرو -- آسانگیر |
| اتونو -- روشن | انسلادوس -- نفسگیر | یاپتوس -- شفاف |
| آمبریل -- آسانگیر | آلگیبا -- صاف | دسپینا -- صاف |
| ارینوم -- پاک | آلگنیب -- شنی | رسالگتی -- آموزنده |
| لائومدیا -- خوشبین | آخنار -- نرم | آلنیلام -- شرکت |
| شِدار -- حتی | گاکروکس -- بالغ | پولچریما -- مهاجم |
| آچیرد -- دوستانه | Zubenelgenubi -- غیررسمی | ویندمیاتریکس -- ملایم |
| ساداچیبیا -- سرزنده | سدالتاگر - آگاه | سولفات -- گرم |
شما میتوانید تمام گزینههای صدا را در AI Studio بشنوید.
زبانهای پشتیبانیشده
مدلهای TTS زبان ورودی را بهطور خودکار تشخیص میدهند. زبانهای زیر پشتیبانی میشوند:
| زبان | کد BCP-47 | زبان | کد BCP-47 |
|---|---|---|---|
| عربی | آر | فیلیپینی | فیل |
| بنگلا | بی ان | فنلاندی | فی |
| هلندی | ان ال | گالیسیایی | گل |
| انگلیسی | انگلیسی | گرجی | کا |
| فرانسوی | فر | یونانی | ال |
| آلمانی | د | گجراتی | گو |
| هندی | سلام | کریول هائیتیایی | اچ تی |
| اندونزیایی | شناسه | عبری | او |
| ایتالیایی | آن | مجارستانی | هو |
| ژاپنی | جا | ایسلندی | است |
| کره ای | کو | جاوه ای | جی وی |
| مراتی | آقای | کانارا | کن |
| لهستانی | پل | کونکانی | کوک |
| پرتغالی | پی تی | لائو | لو |
| رومانیایی | رو | لاتین | لا |
| روسی | انگشت های دست فاصله | لتونیایی | lv |
| اسپانیایی | ها | لیتوانیایی | آن |
| تامیل | تا | لوکزامبورگی | پوند |
| تلوگو | ته | مقدونی | مک |
| تایلندی | هفتم | میثیلی | مای |
| ترکی | تر | مالاگاسیایی | میلیگرم |
| اوکراینی | انگلستان | مالایی | اماس |
| ویتنامی | وی | مالایالامی | میلیلیتر |
| آفریکانس | اف | مغولی | من |
| آلبانیایی | مربع | نپالی | نه |
| امهری | هستم | نروژی، بوکمال | توجه |
| ارمنی | های | نروژی، نینورسک | ن |
| آذربایجانی | آز | اودیا | یا |
| باسک | اتحادیه اروپا | پشتو | ص |
| بلاروسی | باش | فارسی | فا |
| بلغاری | بی جی | پنجابی | پا |
| برمهای | من | صربی | اس آر |
| کاتالان | حدود | سندی | اس دی |
| سبوانو | سی بی | سینهالی | سی |
| چینی، ماندارین | سی ام ان | اسلواکی | اسک |
| کرواتی | ساعت | اسلوونیایی | اس ال |
| چک | سی اس | سواحیلی | جنوب غربی |
| دانمارکی | دا | سوئدی | اس وی |
| استونیایی | و | اردو | تو |
مدلهای پشتیبانیشده
| مدل | تک بلندگو | چند بلندگو |
|---|---|---|
| پیشنمایش TTS فلش جمینی ۳.۱ | ✔️ | ✔️ |
| پیشنمایش فلش Gemini 2.5 TTS | ✔️ | ✔️ |
| پیشنمایش Gemini 2.5 Pro TTS | ✔️ | ✔️ |
راهنمای راهنمایی
مدل تبدیل متن به گفتار (TTS) نسل بومی صوتی Gemini با استفاده از یک مدل زبانی بزرگ که نه تنها میداند چه بگوید، بلکه میداند چگونه آن را بگوید، خود را از مدلهای سنتی TTS متمایز میکند.
این مدل به صورت پیشفرض، متن را تفسیر کرده و نحوهی ارائهی کلمات شما را تعیین میکند. متنهای ساده بدون هیچ گونه راهنمایی اضافی، طبیعی به نظر میرسند. اما Gemini TTS همچنین ابزارهایی دارد که میتوانید برای هدایت آن استفاده کنید.
هدف از این راهنما ارائه جهتگیریهای اساسی و جرقه زدن ایدهها هنگام توسعه تجربیات صوتی است. ما با برچسبها برای کنترل سریع درونخطی شروع میکنیم و سپس ساختارهای پیشرفته Prompting را برای جهتدهی کامل عملکرد بررسی خواهیم کرد.
برچسبهای صوتی
برچسبها، اصلاحکنندههای درونخطی مانند [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
[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!
استراتژیهای دقیق برای ترغیب
بیایید هر عنصر از این دستور را تجزیه و تحلیل کنیم.
مشخصات صوتی
به طور خلاصه شخصیت پردازی شخصیت را شرح دهید.
- نام. دادن نام به شخصیت، به انسجام مدل و اجرای دقیق کمک میکند. هنگام تنظیم صحنه و زمینه، به شخصیت با نام اشاره کنید.
- نقش. هویت اصلی و کهن الگوی شخصیتی که در صحنه ایفای نقش میکند. مثلاً دیجی رادیو، پادکستر، گزارشگر اخبار و غیره.
مثالها:
# 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 DJ 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.
...
برچسبهای متن و صدا
متن مصاحبه دقیقاً همان کلماتی است که مدل صحبت خواهد کرد. برچسب صوتی کلمهای است که در داخل کروشه قرار میگیرد و نشان میدهد که چیزی چگونه باید گفته شود، لحن باید تغییر کند یا یک کلمه یا عبارت به کار رود.
### 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.
امتحانش کن.
خودتان برخی از این مثالها را در AI Studio امتحان کنید، با اپلیکیشن TTS ما کار کنید و اجازه دهید Gemini شما را روی صندلی کارگردانی بنشاند. برای داشتن اجراهای صوتی عالی، این نکات را در نظر داشته باشید:
- به یاد داشته باشید که کل متن را منسجم نگه دارید - متن و کارگردانی در خلق یک اجرای عالی دست به دست هم میدهند.
- احساس نکنید که باید همه چیز را توصیف کنید، گاهی اوقات دادن فضا به مدل برای پر کردن جاهای خالی به طبیعی بودن کمک میکند. (درست مثل یک بازیگر با استعداد)
- اگر تا به حال احساس گیر افتادن کردهاید، از Gemini بخواهید که به شما در نوشتن فیلمنامه یا اجرایتان کمک کند.
محدودیتها
- مدلهای TTS فقط میتوانند ورودیهای متنی را دریافت کرده و خروجیهای صوتی تولید کنند.
- یک جلسه TTS محدودیت پنجره زمینه ۳۲ هزار توکن دارد.
- برای پشتیبانی از زبان، بخش زبانها را مرور کنید.
- TTS از پخش جریانی پشتیبانی نمیکند.
محدودیتهای زیر بهطور خاص هنگام استفاده از مدل پیشنمایش Gemini 3.1 Flash TTS برای تولید گفتار اعمال میشوند:
- ناهماهنگی صدا با دستورالعملهای سریع: خروجی مدل ممکن است همیشه دقیقاً با گوینده انتخاب شده مطابقت نداشته باشد و باعث شود صدا متفاوت از حد انتظار باشد. برای جلوگیری از تُنهای ناهماهنگ (مانند صدای بم یک مرد که سعی میکند مانند یک دختر جوان صحبت کند)، مطمئن شوید که لحن نوشتاری و متن سریع شما به طور طبیعی با مشخصات گوینده انتخاب شده همسو باشد.
- کیفیت خروجیهای طولانیتر: کیفیت و ثبات گفتار ممکن است با خروجیهای تولید شدهای که بیش از چند دقیقه طول دارند، شروع به کاهش کند. توصیه میکنیم رونوشتهای خود را به بخشهای کوچکتر تقسیم کنید.
- بازگشت گاهبهگاه توکنهای متنی: این مدل گاهی اوقات به جای توکنهای صوتی، توکنهای متنی را برمیگرداند و باعث میشود سرور درخواست را با خطای
500رد کند. از آنجا که این اتفاق به طور تصادفی در درصد بسیار کمی از درخواستها رخ میدهد، شما باید منطق تلاش مجدد خودکار را در برنامه خود پیادهسازی کنید تا این موارد را مدیریت کند. - رد اشتباه طبقهبندیکنندهی دستور: دستورات مبهم ممکن است در فعالسازی طبقهبندیکنندهی سنتز گفتار ناموفق باشند و منجر به رد درخواست (
PROHIBITED_CONTENT) شوند یا باعث شوند مدل دستورالعملهای سبک شما و یادداشتهای کارگردان را با صدای بلند بخواند. دستورات خود را با اضافه کردن یک مقدمهی واضح که به مدل دستور میدهد گفتار را سنتز کند، اعتبارسنجی کنید و به طور واضح مشخص کنید که متن گفتاری واقعی از کجا شروع میشود.
قدم بعدی چیست؟
- کتاب آشپزی نسل صوتی را امتحان کنید.
- رابط برنامهنویسی زندهی Gemini گزینههای تولید صدای تعاملی را ارائه میدهد که میتوانید با سایر روشها ترکیب کنید.
- برای کار با ورودیهای صوتی، به راهنمای درک صدا مراجعه کنید.