জেমিনি এপিআই, জেমিনি ৩.৫ ট্রান্সক্রাইব মডেল ( gemini-3.5-transcribe ) ব্যবহার করে অডিও ফাইলের স্পিচকে টেক্সটে রূপান্তর করে। জেমিনির অডিও বোঝার ক্ষমতার উপর ভিত্তি করে, এটি স্বয়ংক্রিয় ভাষা শনাক্তকরণ, স্পিকার ডায়ারাইজেশন, শব্দ-স্তরের টাইমস্ট্যাম্প এবং কাস্টম শব্দভান্ডারের ইঙ্গিত সহ নির্ভুল ট্রান্সক্রিপশন প্রদান করে। এটিতে একটি স্মার্ট ট্রান্সক্রিপশন মোডও রয়েছে, যার মধ্যে রয়েছে কথার জড়তা দূরীকরণ এবং স্মার্ট ফরম্যাটিং।
একটি অডিও ফাইল ট্রান্সক্রাইব করতে, অডিওটি আপলোড করুন এবং gemini-3.5-transcribe এ পাঠান:
পাইথন
from google import genai
client = genai.Client()
audio_file = client.files.upload(file="path/to/sample.mp3")
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
)
print(interaction.output_text)
জাভাস্ক্রিপ্ট
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const audioFile = await client.files.upload({
file: "path/to/sample.mp3",
config: { mime_type: "audio/mp3" },
});
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
});
console.log(interaction.output_text);
বিশ্রাম
# First upload the file via the Files API, then pass its URI:
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
]
}'
সংক্ষিপ্ত বিবরণ
জেমিনি ৩.৫ ট্রান্সক্রাইব স্পিচ-টু-টেক্সট কাজের জন্য বিশেষভাবে তৈরি। এটি বিভিন্ন ধরনের উচ্চারণভঙ্গি, পারিপার্শ্বিক কোলাহল এবং বহুভাষিক কথোপকথন সামলাতে পারে।
মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- স্বয়ংক্রিয় স্পিচ রিকগনিশন (ASR): ৮৫টিরও বেশি লোকেলে স্বয়ংক্রিয়ভাবে ভাষা শনাক্ত করে। ম্যানুয়াল কনফিগারেশন ছাড়াই বাক্যের মধ্যে এবং বাক্যের মাঝে কোড-সুইচিং পরিচালনা করে।
- নিজস্ব শব্দভান্ডার: ১,০০০টি পর্যন্ত বাক্যাংশ প্রেরণের মাধ্যমে বিষয়-নির্দিষ্ট পরিভাষা, সংক্ষিপ্ত রূপ এবং বিশেষ্য পদের প্রতি শনাক্তকরণকে পক্ষপাতদুষ্ট করে।
- স্পিকার ডায়ারাইজেশন: একাধিক বক্তার মধ্যে পার্থক্য নিরূপণ করে এবং কথিত অংশগুলোকে স্বতন্ত্র লেবেলে চিহ্নিত করে।
- শব্দ-স্তরের টাইমস্ট্যাম্প: প্রতিটি শনাক্তকৃত শব্দের জন্য সুনির্দিষ্ট শুরু এবং শেষের সময়ের অফসেট তৈরি করে।
- স্মার্ট ট্রান্সক্রিপশন: কথার জড়তা, অপ্রয়োজনীয় শব্দ ও পুনরাবৃত্তি দূর করে এবং কাঠামোগত বিন্যাস প্রয়োগ করে।
- ফরম্যাটিং এবং নর্মালাইজেশন: বড় হাতের অক্ষর, বিরামচিহ্ন এবং বিপরীত টেক্সট নর্মালাইজেশন প্রয়োগ করে, যেমন "twenty six million dollars"-কে "$26M"-এ রূপান্তর করা।
অডিও কন্টেন্টের ওপর সাধারণ যুক্তি-তর্ক বা প্রশ্নোত্তরের জন্য, ‘অডিও আন্ডারস্ট্যান্ডিং’ ব্যবহার করুন। টেক্সট-টু-স্পিচ অডিও সিন্থেসিসের জন্য, ‘টেক্সট-টু-স্পিচ’ ব্যবহার করুন।
ভাষা সনাক্তকরণ এবং ইঙ্গিত
ডিফল্টরূপে, মডেলটি স্বয়ংক্রিয়ভাবে কথ্য ভাষা শনাক্ত করে। বক্তারা যখন কোড-সুইচ করেন, তখন এটি গতিশীলভাবে ভাষা পরিবর্তন করে।
স্বয়ংক্রিয় সনাক্তকরণ ব্যবহার করতে, language_codes বাদ দিন অথবা একটি খালি তালিকা প্রদান করুন:
পাইথন
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
generation_config={
"transcription_config": {
"language_codes": [],
}
},
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
generation_config: {
transcription_config: {
language_codes: [],
},
},
});
বিশ্রাম
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
],
"generation_config": {
"transcription_config": {
"language_codes": []
}
}
}'
যদি আপনি ভাষাটি আগে থেকে জানেন, তাহলে ট্রান্সক্রিপশনের নির্ভুলতা বাড়াতে language_codes এ BCP-47 ভাষা কোড উল্লেখ করুন ( সমর্থিত ভাষাসমূহ দেখুন):
পাইথন
generation_config = {
"transcription_config": {
"language_codes": ["es-ES"],
}
}
জাভাস্ক্রিপ্ট
const generationConfig = {
transcription_config: {
language_codes: ["es-ES"],
},
};
বিশ্রাম
{
"generation_config": {
"transcription_config": {
"language_codes": ["es-ES"]
}
}
}
কাস্টম শব্দভান্ডার
আপনি স্পিচ মডেলটিকে অপ্রচলিত শব্দ, প্রযুক্তিগত পরিভাষা, ব্র্যান্ডের নাম বা বিশেষ্য পদের দিকে চালিত করতে পারেন। custom_vocabulary অ্যারেতে ১,০০০টি পর্যন্ত শব্দ সরবরাহ করুন (সাধারণত ১০০টি পর্যন্ত শব্দ ব্যবহার করলে সেরা ফলাফল পাওয়া যায়):
পাইথন
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
generation_config={
"transcription_config": {
"custom_vocabulary": ["Gemini", "Kubernetes", "BigQuery"],
}
},
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
generation_config: {
transcription_config: {
custom_vocabulary: ["Gemini", "Kubernetes", "BigQuery"],
},
},
});
বিশ্রাম
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
],
"generation_config": {
"transcription_config": {
"custom_vocabulary": ["Gemini", "Kubernetes", "BigQuery"]
}
}
}'
বক্তার ডায়েরি লেখা
স্পিকার ডায়ারাইজেশন রেকর্ডিং-এ থাকা বিভিন্ন কণ্ঠস্বর শনাক্ত করে এবং প্রতিটি অংশকে spk_1 বা spk_2 এর মতো একটি স্পিকার আইডেন্টিফায়ার দিয়ে ট্যাগ করে। এতে সর্বোচ্চ ৮ জন স্পিকারকে সাপোর্ট করা হয় (৩ বা তার বেশি স্পিকারের অ্যাট্রিবিউশন পরীক্ষামূলক পর্যায়ে রয়েছে)।
mode এর মধ্যে diarization_mode কনফিগার করে ডায়ারাইজেশন সক্রিয় করুন:
পাইথন
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
generation_config={
"transcription_config": {
"mode": {
"type": "verbatim",
"diarization_mode": "speaker",
},
}
},
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
generation_config: {
transcription_config: {
mode: {
type: "verbatim",
diarization_mode: "speaker",
},
},
},
});
বিশ্রাম
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
],
"generation_config": {
"transcription_config": {
"mode": {
"type": "verbatim",
"diarization_mode": "speaker"
}
}
}
}'
শব্দ-স্তরের টাইমস্ট্যাম্প
শব্দ-স্তরের টাইমস্ট্যাম্প অডিও স্ট্রিমে থাকা প্রতিটি শনাক্তকৃত শব্দের সঠিক শুরু এবং শেষের অবস্থান নির্দেশ করে।
mode এর মধ্যে timestamp_granularities কনফিগার করে টাইমস্ট্যাম্প সক্রিয় করুন।
পাইথন
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
generation_config={
"transcription_config": {
"mode": {
"type": "verbatim",
"timestamp_granularities": ["word"],
},
}
},
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
generation_config: {
transcription_config: {
mode: {
type: "verbatim",
timestamp_granularities: ["word"],
},
},
},
});
বিশ্রাম
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
],
"generation_config": {
"transcription_config": {
"mode": {
"type": "verbatim",
"timestamp_granularities": ["word"]
}
}
}
}'
স্পিকার লেবেল এবং শব্দের টাইমস্ট্যাম্প উভয়ই পেতে, আপনি mode মধ্যে diarization_mode এবং timestamp_granularities একত্রিত করতে পারেন:
পাইথন
generation_config = {
"transcription_config": {
"custom_vocabulary": ["Gemini"],
"mode": {
"type": "verbatim",
"diarization_mode": "speaker",
"timestamp_granularities": ["word"],
},
}
}
জাভাস্ক্রিপ্ট
const generationConfig = {
transcription_config: {
custom_vocabulary: ["Gemini"],
mode: {
type: "verbatim",
diarization_mode: "speaker",
timestamp_granularities: ["word"],
},
},
};
বিশ্রাম
{
"generation_config": {
"transcription_config": {
"custom_vocabulary": ["Gemini"],
"mode": {
"type": "verbatim",
"diarization_mode": "speaker",
"timestamp_granularities": ["word"]
}
}
}
}
ট্রান্সক্রিপশন মোড
Gemini 3.5 Transcribe, mode প্যারামিটারের মাধ্যমে দুটি ট্রান্সক্রিপশন মোড সমর্থন করে:
-
verbatim(ডিফল্ট) : বলা প্রতিটি কথার হুবহু শব্দে শব্দে প্রতিলিপি প্রদান করে, যেখানে অপ্রয়োজনীয় শব্দ ("উম", "আহ", "লাইক", "ইউ নো"), পুনরাবৃত্তি, বিরতি এবং ভুল শুরু অক্ষুণ্ণ থাকে। টাইমস্ট্যাম্প এবং স্পিকার ডায়ারাইজেশন এই মোডের মধ্যেই কনফিগার করা হয় ({"type": "verbatim", ...})। -
smart(স্মার্ট ট্রান্সক্রিপশন) : ইন্টেলিজেন্ট পোস্ট-প্রসেসিং প্রয়োগের মাধ্যমে ট্রান্সক্রিপ্টকে পড়ার জন্য অপ্টিমাইজ করে:- সাবলীলতার অভাব দূরীকরণ : কথোপকথনের অপ্রয়োজনীয় শব্দ, তোতলামি এবং কথা শুরু করতে ভুল হওয়া দূর করে।
- ইনলাইন স্ব-সংশোধন : বলা কথার ভুল সরাসরি সংশোধন করে (উদাহরণস্বরূপ, "চলো মঙ্গলবারে দেখা করি, আসলে না, বুধবার দুপুর দুইটায়" হয়ে যায় "চলো বুধবার দুপুর ২:০০ টায় দেখা করি" )।
- স্বয়ংক্রিয় কাঠামোগত বিন্যাস : কথিত বক্তব্যকে স্বয়ংক্রিয়ভাবে অনুচ্ছেদ, সংখ্যাযুক্ত তালিকা, বুলেট পয়েন্ট, ফরম্যাট করা তারিখ, মুদ্রা এবং সংখ্যায় বিন্যস্ত করে।
- ব্যাকরণগত পরিমার্জন : স্বাভাবিক বিরামচিহ্ন, বাক্যের বিন্যাস এবং সাবলীলতা প্রয়োগ করে।
| কথ্য অডিও | verbatim আউটপুট | smart (স্মার্ট ট্রান্সক্রিপশন) আউটপুট |
|---|---|---|
| উম, তাহলে মিটিংটার জন্য আমার মনে হয় আমাদের অ্যালিসকে আমন্ত্রণ জানানো উচিত এবং, দাঁড়ান না, বব আর ক্যারলকে। | আচ্ছা, মিটিংয়ের জন্য আমার মনে হয় আমাদের অ্যালিসকে আমন্ত্রণ জানানো উচিত, আর দাঁড়ান, না, বব আর ক্যারলকেও। | আমার মনে হয়, সভার জন্য আমাদের বব ও ক্যারলকে আমন্ত্রণ জানানো উচিত। |
| প্রথম কাজ: বাজেট পর্যালোচনা, দ্বিতীয় কাজ: সময়সীমা চূড়ান্ত করা, তৃতীয় কাজ: সারসংক্ষেপ পাঠানো। | প্রথম বিষয়: বাজেট পর্যালোচনা, দ্বিতীয় বিষয়: সময়সীমা চূড়ান্ত করা, তৃতীয় বিষয়: সারসংক্ষেপ পাঠানো। | ১. বাজেট পর্যালোচনা করুন ২. সময়সীমা চূড়ান্ত করুন ৩. সারসংক্ষেপ পাঠান |
পাইথন
interaction = client.interactions.create(
model="gemini-3.5-transcribe",
input=[
{
"type": "audio",
"uri": audio_file.uri,
"mime_type": audio_file.mime_type,
}
],
generation_config={
"transcription_config": {
"mode": {
"type": "smart",
},
}
},
)
print(interaction.output_text)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: "gemini-3.5-transcribe",
input: [
{
type: "audio",
uri: audioFile.uri,
mime_type: audioFile.mimeType,
},
],
generation_config: {
transcription_config: {
mode: {
type: "smart",
},
},
},
});
console.log(interaction.output_text);
বিশ্রাম
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.5-transcribe",
"input": [
{
"type": "audio",
"uri": "YOUR_FILE_URI",
"mime_type": "audio/mp3"
}
],
"generation_config": {
"transcription_config": {
"mode": {
"type": "smart"
}
}
}
}'
ট্রান্সক্রিপশন আউটপুট পার্সিং
সম্পূর্ণ ট্রান্সক্রিপ্ট টেক্সটটি interaction.output_text এ ফেরত দেওয়া হয়।
যখন timestamp_granularities বা diarization_mode সক্রিয় করা হয়, তখন API-টি ইন্টারঅ্যাকশন কন্টেন্টের সাথে সংযুক্ত বিস্তারিত শব্দ-স্তরের টীকাও ফেরত দেয়।
শব্দের টাইমস্ট্যাম্প এবং বক্তার পালা বের করে সেগুলোর ওপর পুনরাবৃত্তি করার পদ্ধতি নিচে দেওয়া হলো:
পাইথন
def extract_word_annotations(interaction):
words = []
for step in getattr(interaction, "steps", []) or []:
for content in getattr(step, "content", []) or []:
for annotation in getattr(content, "annotations", []) or []:
if getattr(annotation, "type", None) == "word_info":
words.append(annotation)
return words
words = extract_word_annotations(interaction)
for w in words:
speaker = f"[{w.speaker}] " if getattr(w, "speaker", None) else ""
start = getattr(w, "start_offset", "")
end = getattr(w, "end_offset", "")
timing = f"({start} -> {end}) " if start and end else ""
print(f"{speaker}{timing}{w.text}")
জাভাস্ক্রিপ্ট
function extractWordAnnotations(interaction) {
const words = [];
for (const step of interaction.steps ?? []) {
for (const content of step.content ?? []) {
for (const annotation of content.annotations ?? []) {
if (annotation.type === "word_info") {
words.push(annotation);
}
}
}
}
return words;
}
const words = extractWordAnnotations(interaction);
for (const w of words) {
const speaker = w.speaker ? `[${w.speaker}] ` : "";
const timing = (w.start_offset && w.end_offset) ? `(${w.start_offset} -> ${w.end_offset}) ` : "";
console.log(`${speaker}${timing}${w.text}`);
}
বিশ্রাম
{
"id": "interactions/abc123xyz",
"status": "completed",
"steps": [
{
"id": "step_001",
"type": "model_output",
"content": [
{
"type": "text",
"text": "Hello world",
"annotations": [
{
"type": "word_info",
"text": "Hello",
"speaker": "spk_1",
"start_offset": "0.100s",
"end_offset": "0.450s"
},
{
"type": "word_info",
"text": "world",
"speaker": "spk_1",
"start_offset": "0.500s",
"end_offset": "0.850s"
}
]
}
]
}
]
}
সমর্থিত ভাষা
Gemini 3.5 Transcribe-এর জন্য নিম্নলিখিত ভাষা এবং BCP-47 ভাষা কোডগুলি সমর্থিত:
| ভাষা | বিসিপি-৪৭ কোড | ভাষা | বিসিপি-৪৭ কোড |
|---|---|---|---|
| আফ্রিকান | af-ZA | জাপানি | ja-JP |
| আমহারিক | am-ET | জাভানিজ | jv-ID |
| আরবি (মিশর) | ar-EG | কাবুভেরদিয়ানু | kea-CV |
| আর্মেনীয় | hy-AM | কন্নড় | kn-IN |
| অসমীয়া | as-IN | কাজাখ | kk-KZ |
| আজারবাইজানীয় | az-AZ | কোরিয়ান | ko-KR |
| বেলারুশীয় | be-BY | কিরগিজ | ky-KG |
| বাংলা (বাংলাদেশ) | bn-BD | লাতভিয়ান | lv-LV |
| বাংলা (ভারত) | bn-IN | লিঙ্গালা | ln-CD |
| বসনীয় | bs-BA | লিথুয়ানিয়ান | lt-LT |
| বুলগেরীয় | bg-BG | ম্যাসিডোনিয়ান | mk-MK |
| বুলগেরীয় (অ্যারোমানিয়ান) | rup-BG | মালয় | ms-MY |
| বর্মী | my-MM | মালয়ালম | ml-IN |
| ক্যান্টনিজ (ঐতিহ্যবাহী) | yue-Hant-HK | মাল্টিজ | mt-MT |
| কাতালান | ca-ES | ম্যান্ডারিন চীনা (সরলীকৃত) | cmn-Hans-CN |
| সেবুয়ানো | ceb | মারাঠি | mr-IN |
| মধ্য খেমার | km-KH | মঙ্গোলীয় | mn-MN |
| ক্রোয়েশীয় | hr-HR | নেপালি | ne-NP |
| চেক | cs-CZ | নরওয়েজিয়ান | nb-NO |
| ড্যানিশ | da-DK | ওড়িয়া | or-IN |
| ডাচ | nl-NL | পোলিশ | pl-PL |
| ইংরেজি (গ্রেট ব্রিটেন) | en-GB | পর্তুগিজ (ব্রাজিল) | pt-BR |
| ইংরেজি (ভারত) | en-IN | পর্তুগিজ (পর্তুগাল) | pt-PT |
| ইংরেজি (মার্কিন যুক্তরাষ্ট্র) | en-US | পাঞ্জাবি | pa-IN |
| এস্তোনিয়ান | et-EE | পাঞ্জাবি (গুরুমুখী লিপি) | pa-Guru-IN |
| ফারসি | fa-IR | রোমানিয়ান | ro-RO |
| ফিলিপিনো | fil-PH | রাশিয়ান | ru-RU |
| ফিনিশ | fi-FI | সার্বিয়ান | sr-RS |
| ফরাসি | fr-FR | সিন্ধি (আরবি লিপি) | sd-Arab-IN |
| গ্যালিসিয়ান | gl-ES | স্লোভাক | sk-SK |
| জর্জিয়ান | ka-GE | স্লোভেনীয় | sl-SI |
| জার্মান | de-DE | স্প্যানিশ (লাতিন আমেরিকা) | es-419 |
| গ্রীক | el-GR | স্প্যানিশ (মার্কিন যুক্তরাষ্ট্র) | es-US |
| গুজরাটি | gu-IN | সোয়াহিলি (কেনিয়া) | sw-KE |
| হাউসা | ha-NG | সুইডিশ | sv-SE |
| হিব্রু | he-IL | তাজিক | tg-TJ |
| হিন্দি | hi-IN | তেলুগু | te-IN |
| হাঙ্গেরীয় | hu-HU | থাই | th-TH |
| আইসল্যান্ডীয় | is-IS | তুর্কি | tr-TR |
| ভারতীয় ইংরেজি | en-IN | ইউক্রেনীয় | uk-UA |
| ইন্দোনেশিয়ান | id-ID | উজবেক | uz-UZ |
| ইতালীয় | it-IT | ভিয়েতনামী | vi-VN |
প্যারামিটার রেফারেন্স
generation_config এর মধ্যে থাকা transcription_config অবজেক্টে ফিল্ডগুলি সেট করে ট্রান্সক্রিপশন কনফিগার করুন:
| মাঠ | প্রকার | বর্ণনা |
|---|---|---|
language_codes | স্ট্রিংগুলির অ্যারে | BCP-47 ভাষা কোডসমূহ (যেমন, ["en-US"] )। যদি এটি বাদ দেওয়া হয় বা খালি ( [] ) থাকে, তাহলে মডেলটি স্বয়ংক্রিয়ভাবে ভাষা শনাক্ত করে এবং কোড-সুইচিং পরিচালনা করে। |
custom_vocabulary | স্ট্রিংগুলির অ্যারে | স্পিচ রিকগনিশনকে প্রভাবিত করার জন্য ১,০০০টি পর্যন্ত নিজস্ব পরিভাষা, সংক্ষিপ্ত রূপ বা বিশেষ নাম ব্যবহার করা যাবে। |
mode | অবজেক্ট বা স্ট্রিং | ট্রান্সক্রিপশন মোড কনফিগারেশন। এটি একটি মোড অবজেক্ট ( {"type": "smart"} অথবা {"type": "verbatim", ...} ) অথবা একটি স্ট্রিং এনাম ( "smart" , "verbatim" ) গ্রহণ করে। ডিফল্ট হিসেবে ভার্ব্যাটিম ট্রান্সক্রিপশন ব্যবহৃত হয়। |
mode.type | স্ট্রিং | মোড শনাক্তকারী ( "smart" বা "verbatim" )। |
mode.timestamp_granularities | স্ট্রিংগুলির অ্যারে | (শুধুমাত্র ভার্ব্যাটিম মোডে) ফেরত দেওয়া টাইমস্ট্যাম্পের সূক্ষ্মতা। শব্দের শুরু এবং শেষের অফসেট সক্রিয় করতে ["word"] পাস করুন। |
mode.diarization_mode | স্ট্রিং | (শুধুমাত্র ভার্ব্যাটিম মোডে) ডায়ারাইজেশন মোড। স্বতন্ত্র বক্তাদের শনাক্ত ও চিহ্নিত করতে "speaker" পাস করুন। |
সর্বোত্তম অনুশীলন
- পরিষ্কার অডিও প্রদান করুন: অডিও রেকর্ডিংয়ে কণ্ঠস্বরের স্পষ্ট পৃথকীকরণ নিশ্চিত করুন এবং মারাত্মক ক্লিপিং এড়িয়ে চলুন।
- জানা থাকলে ভাষার ইঙ্গিত দিন: আপনি যদি অডিওর ভাষা আগে থেকে জানেন, তাহলে নির্ভুলতা সর্বোচ্চ করতে
language_codesউল্লেখ করুন। - নিজস্ব শব্দভান্ডার তৈরির লক্ষ্য:
custom_vocabularyসাধারণ দৈনন্দিন শব্দের পরিবর্তে শুধুমাত্র স্বতন্ত্র পরিভাষা, ব্র্যান্ডের নাম বা বিশেষ্য পদ অন্তর্ভুক্ত করুন। - বড় রেকর্ডিংয়ের জন্য ফাইলস এপিআই (Files API) ব্যবহার করুন: কয়েক সেকেন্ডের বেশি দৈর্ঘ্যের ফাইলের ক্ষেত্রে,
client.files.uploadব্যবহার করে ফাইলটি আপলোড করুন এবং প্রাপ্ত ফাইল ইউআরআই (URI) মডেলটিতে পাঠান।
সীমাবদ্ধতা
- অডিওর সময়কাল: স্ট্যান্ডার্ড ইউনারি রিকোয়েস্ট ১ ঘন্টা পর্যন্ত অডিও ফাইল সাপোর্ট করে। স্পিকার ডায়ারাইজেশন বা ওয়ার্ড-লেভেল টাইমস্ট্যাম্পের মতো ফিচারগুলো চালু থাকলে অডিও প্রসেসিং ৩০ মিনিটে সীমাবদ্ধ থাকে।
- শব্দ-স্তরের টাইমস্ট্যাম্প: শব্দ-স্তরের টাইমস্ট্যাম্প সক্রিয় করলে সামগ্রিক ট্রান্সক্রিপশনের নির্ভুলতা হ্রাস পেতে পারে।
- স্পিকার ডায়ারাইজেশন: স্পিকার ডায়ারাইজেশন সর্বোচ্চ ৮ জন স্পিকারকে সমর্থন করে। ৩ বা তার বেশি স্পিকারের ক্ষেত্রে স্পিকার অ্যাট্রিবিউশন পরীক্ষামূলক পর্যায়ে রয়েছে।
- নিজস্ব শব্দভান্ডার: আপনি
custom_vocabularyতে সর্বোচ্চ ১,০০০টি শব্দ প্রদান করতে পারেন, তবে সাধারণত ১০০টি পর্যন্ত শব্দ ব্যবহার করলে সবচেয়ে ভালো ফলাফল পাওয়া যায়। - মোড সামঞ্জস্যতা: স্মার্ট ট্রান্সক্রিপশন (
"type": "smart")timestamp_granularitiesবাdiarization_modeসাথে একত্রিত করা যাবে না।
এরপর কী?
- লাইভ এপিআই ব্যবহার করে লাইভ ট্রান্সক্রিপশন গাইডের সাহায্যে রিয়েল-টাইম অডিও স্ট্রিম করুন।
- অডিও কন্টেন্ট বিশ্লেষণ, সারসংক্ষেপ বা অনুসন্ধান করতে অডিও আন্ডারস্ট্যান্ডিং অন্বেষণ করুন।
- টেক্সট-টু-স্পিচ ব্যবহার করে কীভাবে টেক্সট থেকে অডিও তৈরি করতে হয় তা শিখুন।
- মডেলের মূল্য এবং টোকেনের সীমা জানতে মূল্য নির্ধারণ পৃষ্ঠাটি দেখুন।
- মিডিয়া ফাইল আপলোড ও পরিচালনা করার বিস্তারিত তথ্যের জন্য ফাইলস এপিআই গাইডটি দেখুন।