জেমিনি এপিআই, জেমিনির টেক্সট-টু-স্পিচ (টিটিএস) তৈরির ক্ষমতা ব্যবহার করে টেক্সট ইনপুটকে একক বক্তা বা একাধিক বক্তার অডিওতে রূপান্তর করতে পারে। টেক্সট-টু-স্পিচ (টিটিএস) তৈরি প্রক্রিয়াটি নিয়ন্ত্রণযোগ্য , যার অর্থ হলো আপনি স্বাভাবিক ভাষা ব্যবহার করে কথোপকথনের কাঠামো তৈরি করতে এবং অডিওর ধরন , উচ্চারণ , গতি ও সুর নিয়ন্ত্রণ করতে পারেন।
টিটিএস (TTS) সক্ষমতাটি লাইভ এপিআই (Live API) -এর মাধ্যমে প্রদত্ত স্পিচ জেনারেশন থেকে ভিন্ন, যা ইন্টারেক্টিভ, কাঠামোবিহীন অডিও এবং মাল্টিমোডাল ইনপুট ও আউটপুটের জন্য ডিজাইন করা হয়েছে। যেখানে লাইভ এপিআই গতিশীল কথোপকথনের প্রেক্ষাপটে বিশেষভাবে পারদর্শী, সেখানে জেমিনি এপিআই (Gemini API)-এর মাধ্যমে টিটিএস এমন সব পরিস্থিতির জন্য বিশেষভাবে তৈরি করা হয়েছে যেখানে স্টাইল ও সাউন্ডের উপর সূক্ষ্ম নিয়ন্ত্রণের সাথে হুবহু টেক্সট আবৃত্তির প্রয়োজন হয়, যেমন পডকাস্ট বা অডিওবুক তৈরি।
এই নির্দেশিকাটি আপনাকে দেখাবে কীভাবে টেক্সট থেকে একক-বক্তা এবং একাধিক-বক্তার অডিও তৈরি করতে হয়।
শুরু করার আগে
নিশ্চিত করুন যে আপনি ‘সমর্থিত মডেল’ বিভাগে তালিকাভুক্ত জেমিনি টেক্সট-টু-স্পিচ (টিটিএস) সক্ষমতা সম্পন্ন জেমিনি ২.৫ মডেলের কোনো একটি সংস্করণ ব্যবহার করছেন। সর্বোত্তম ফলাফলের জন্য, আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে কোন মডেলটি সবচেয়ে উপযুক্ত, তা বিবেচনা করুন।
বিল্ড করা শুরু করার আগে এআই স্টুডিওতে জেমিনি টিটিএস মডেলগুলো পরীক্ষা করে নিলে তা আপনার জন্য সহায়ক হতে পারে।
একক-স্পিকার টিটিএস
টেক্সটকে একক-বক্তার অডিওতে রূপান্তর করতে, রেসপন্স মোডালিটি 'অডিও'-তে সেট করুন এবং একটি ভয়েস নেম সহ একটি speech_config অবজেক্ট পাস করুন। আপনাকে আগে থেকে তৈরি আউটপুট ভয়েসগুলো থেকে একটি ভয়েস নেম বেছে নিতে হবে।
এই উদাহরণটি মডেল থেকে প্রাপ্ত আউটপুট অডিও একটি ওয়েভ ফাইলে সংরক্ষণ করে:
পাইথন
from google import genai
import wave
import base64
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_format={"type": "audio"},
generation_config={
"speech_config": [
{"voice": "Kore"}
]
}
)
wave_file('out.wav', base64.b64decode(