অডিও ট্রান্সক্রিপশন

জেমিনি এপিআই, জেমিনি ৩.৫ ট্রান্সক্রাইব মডেল ( 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")

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
)

print(response.text)

জাভাস্ক্রিপ্ট

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

const ai = new GoogleGenAI({});

const audioFile = await ai.files.upload({
  file: "path/to/sample.mp3",
  mimeType: "audio/mp3",
});

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
});

console.log(response.text);

বিশ্রাম

# First upload the file via the Files API, then pass its URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ]
  }'

সংক্ষিপ্ত বিবরণ

জেমিনি ৩.৫ ট্রান্সক্রাইব স্পিচ-টু-টেক্সট কাজের জন্য বিশেষভাবে তৈরি। এটি বিভিন্ন ধরনের উচ্চারণভঙ্গি, পারিপার্শ্বিক কোলাহল এবং বহুভাষিক কথোপকথন সামলাতে পারে।

মূল সক্ষমতাগুলোর মধ্যে রয়েছে:

  • স্বয়ংক্রিয় স্পিচ রিকগনিশন (ASR): ৮৫টিরও বেশি লোকেলে স্বয়ংক্রিয়ভাবে ভাষা শনাক্ত করে। ম্যানুয়াল কনফিগারেশন ছাড়াই বাক্যের মধ্যে এবং বাক্যের মাঝে কোড-সুইচিং পরিচালনা করে।
  • নিজস্ব শব্দভান্ডার: ১,০০০টি পর্যন্ত বাক্যাংশ প্রেরণের মাধ্যমে বিষয়-নির্দিষ্ট পরিভাষা, সংক্ষিপ্ত রূপ এবং বিশেষ্য পদের প্রতি শনাক্তকরণকে পক্ষপাতদুষ্ট করে।
  • স্পিকার ডায়ারাইজেশন: একাধিক বক্তার মধ্যে পার্থক্য নিরূপণ করে এবং কথিত অংশগুলোকে স্বতন্ত্র লেবেলে চিহ্নিত করে।
  • শব্দ-স্তরের টাইমস্ট্যাম্প: প্রতিটি শনাক্তকৃত শব্দের জন্য সুনির্দিষ্ট শুরু এবং শেষের সময়ের অফসেট তৈরি করে।
  • স্মার্ট ট্রান্সক্রিপশন: কথার জড়তা, অপ্রয়োজনীয় শব্দ ও পুনরাবৃত্তি দূর করে এবং কাঠামোগত বিন্যাস প্রয়োগ করে।
  • ফরম্যাটিং এবং নর্মালাইজেশন: বড় হাতের অক্ষর, বিরামচিহ্ন এবং বিপরীত টেক্সট নর্মালাইজেশন প্রয়োগ করে, যেমন "twenty six million dollars"-কে "$26M"-এ রূপান্তর করা।

অডিও কন্টেন্টের ওপর সাধারণ যুক্তি-তর্ক বা প্রশ্নোত্তরের জন্য, ‘অডিও আন্ডারস্ট্যান্ডিং’ ব্যবহার করুন। টেক্সট-টু-স্পিচ অডিও সিন্থেসিসের জন্য, ‘টেক্সট-টু-স্পিচ’ ব্যবহার করুন।

ভাষা সনাক্তকরণ এবং ইঙ্গিত

ডিফল্টরূপে, মডেলটি স্বয়ংক্রিয়ভাবে কথ্য ভাষা শনাক্ত করে। বক্তারা যখন কোড-সুইচ করেন, তখন এটি গতিশীলভাবে ভাষা পরিবর্তন করে।

স্বয়ংক্রিয় সনাক্তকরণ ব্যবহার করতে, language_codes বাদ দিন অথবা একটি খালি তালিকা প্রদান করুন:

পাইথন

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            language_codes=[],
        )
    ),
)

জাভাস্ক্রিপ্ট

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
  config: {
    audioTranscriptionConfig: {
      languageCodes: [],
    },
  },
});

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "audioTranscriptionConfig": {
        "languageCodes": []
      }
    }
  }'

যদি আপনি ভাষাটি আগে থেকে জানেন, তাহলে ট্রান্সক্রিপশনের নির্ভুলতা বাড়াতে language_codes এ BCP-47 ভাষা কোড উল্লেখ করুন ( সমর্থিত ভাষাসমূহ দেখুন):

পাইথন

config = types.GenerateContentConfig(
    audio_transcription_config=types.AudioTranscriptionConfig(
        language_codes=["es-ES"],
    )
)

জাভাস্ক্রিপ্ট

const config = {
  audioTranscriptionConfig: {
    languageCodes: ["es-ES"],
  },
};

বিশ্রাম

{
  "generationConfig": {
    "audioTranscriptionConfig": {
      "languageCodes": ["es-ES"]
    }
  }
}

কাস্টম শব্দভান্ডার

আপনি স্পিচ মডেলটিকে অপ্রচলিত শব্দ, প্রযুক্তিগত পরিভাষা, ব্র্যান্ডের নাম বা বিশেষ্য পদের দিকে চালিত করতে পারেন। custom_vocabulary অ্যারেতে ১,০০০টি পর্যন্ত শব্দ সরবরাহ করুন (সাধারণত ১০০টি পর্যন্ত শব্দ ব্যবহার করলে সেরা ফলাফল পাওয়া যায়):

পাইথন

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            custom_vocabulary=["Gemini", "Kubernetes", "BigQuery"],
        )
    ),
)

জাভাস্ক্রিপ্ট

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
  config: {
    audioTranscriptionConfig: {
      customVocabulary: ["Gemini", "Kubernetes", "BigQuery"],
    },
  },
});

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "audioTranscriptionConfig": {
        "customVocabulary": ["Gemini", "Kubernetes", "BigQuery"]
      }
    }
  }'

বক্তার ডায়েরি লেখা

স্পিকার ডায়ারাইজেশন রেকর্ডিং-এ থাকা বিভিন্ন কণ্ঠস্বর শনাক্ত করে এবং প্রতিটি অংশকে spk_1 বা spk_2 এর মতো একটি স্পিকার আইডেন্টিফায়ার দিয়ে ট্যাগ করে। এতে সর্বোচ্চ ৮ জন স্পিকারকে সাপোর্ট করা হয় (৩ বা তার বেশি স্পিকারের অ্যাট্রিবিউশন পরীক্ষামূলক পর্যায়ে রয়েছে)।

ডায়ারাইজেশন সক্ষম করতে diarization True সেট করুন:

পাইথন

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            diarization=True,
        )
    ),
)

জাভাস্ক্রিপ্ট

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
  config: {
    audioTranscriptionConfig: {
      diarization: true,
    },
  },
});

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "audioTranscriptionConfig": {
        "diarization": true
      }
    }
  }'

শব্দ-স্তরের টাইমস্ট্যাম্প

শব্দ-স্তরের টাইমস্ট্যাম্প অডিও স্ট্রিমে থাকা প্রতিটি শনাক্তকৃত শব্দের সঠিক শুরু এবং শেষের অবস্থান নির্দেশ করে।

word_timestamp True সেট করে টাইমস্ট্যাম্প সক্রিয় করুন:

পাইথন

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            word_timestamp=True,
        )
    ),
)

জাভাস্ক্রিপ্ট

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
  config: {
    audioTranscriptionConfig: {
      wordTimestamp: true,
    },
  },
});

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "audioTranscriptionConfig": {
        "wordTimestamp": true
      }
    }
  }'

স্পিকার লেবেল এবং ওয়ার্ড টাইমস্ট্যাম্প উভয়ই পেতে, আপনি একটিমাত্র অনুরোধে diarization এবং word_timestamp একত্রিত করতে পারেন:

পাইথন

config = types.GenerateContentConfig(
    audio_transcription_config=types.AudioTranscriptionConfig(
        diarization=True,
        word_timestamp=True,
        custom_vocabulary=["Gemini"],
    )
)

জাভাস্ক্রিপ্ট

const config = {
  audioTranscriptionConfig: {
    diarization: true,
    wordTimestamp: true,
    customVocabulary: ["Gemini"],
  },
};

বিশ্রাম

{
  "generationConfig": {
    "audioTranscriptionConfig": {
      "diarization": true,
      "wordTimestamp": true,
      "customVocabulary": ["Gemini"]
    }
  }
}

ট্রান্সক্রিপশন মোড

Gemini 3.5 Transcribe, mode প্যারামিটারের মাধ্যমে দুটি ট্রান্সক্রিপশন মোড সমর্থন করে:

  • VERBATIM (ডিফল্ট) : বলা প্রতিটি কথার হুবহু শব্দে-শব্দে প্রতিলিপি প্রদান করে, যেখানে অপ্রয়োজনীয় শব্দ ("উম", "আহ", "লাইক", "ইউ নো"), পুনরাবৃত্তি, বিরতি এবং ভুল শুরু অক্ষুণ্ণ থাকে। টাইমস্ট্যাম্প বা স্পিকার ডায়ারাইজেশন ব্যবহার করার সময় এটি আবশ্যক।
  • SMART (স্মার্ট ট্রান্সক্রিপশন) : ইন্টেলিজেন্ট পোস্ট-প্রসেসিং প্রয়োগের মাধ্যমে ট্রান্সক্রিপ্টকে পড়ার জন্য অপ্টিমাইজ করে:
    • সাবলীলতার অভাব দূরীকরণ : কথোপকথনের অপ্রয়োজনীয় শব্দ, তোতলামি এবং কথা শুরু করতে ভুল হওয়া দূর করে।
    • ইনলাইন স্ব-সংশোধন : বলা কথার ভুল সরাসরি সংশোধন করে (উদাহরণস্বরূপ, "চলো মঙ্গলবারে দেখা করি, আসলে না, বুধবার দুপুর দুইটায়" হয়ে যায় "চলো বুধবার দুপুর ২:০০ টায় দেখা করি" )।
    • স্বয়ংক্রিয় কাঠামোগত বিন্যাস : কথিত বক্তব্যকে স্বয়ংক্রিয়ভাবে অনুচ্ছেদ, সংখ্যাযুক্ত তালিকা, বুলেট পয়েন্ট, ফরম্যাট করা তারিখ, মুদ্রা এবং সংখ্যায় বিন্যস্ত করে।
    • ব্যাকরণগত পরিমার্জন : স্বাভাবিক বিরামচিহ্ন, বাক্যের বিন্যাস এবং সাবলীলতা প্রয়োগ করে।
কথ্য অডিও VERBATIM আউটপুট SMART (স্মার্ট ট্রান্সক্রিপশন) আউটপুট
উম, তাহলে মিটিংটার জন্য আমার মনে হয় আমাদের অ্যালিসকে আমন্ত্রণ জানানো উচিত এবং, দাঁড়ান না, বব আর ক্যারলকে। আচ্ছা, মিটিংয়ের জন্য আমার মনে হয় আমাদের অ্যালিসকে আমন্ত্রণ জানানো উচিত, আর দাঁড়ান, না, বব আর ক্যারলকেও। আমার মনে হয়, সভার জন্য আমাদের বব ও ক্যারলকে আমন্ত্রণ জানানো উচিত।
প্রথম কাজ: বাজেট পর্যালোচনা, দ্বিতীয় কাজ: সময়সীমা চূড়ান্ত করা, তৃতীয় কাজ: সারসংক্ষেপ পাঠানো। প্রথম বিষয়: বাজেট পর্যালোচনা, দ্বিতীয় বিষয়: সময়সীমা চূড়ান্ত করা, তৃতীয় বিষয়: সারসংক্ষেপ পাঠানো। ১. বাজেট পর্যালোচনা করুন
২. সময়সীমা চূড়ান্ত করুন
৩. সারসংক্ষেপ পাঠান

পাইথন

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[audio_file],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            mode="SMART",
        )
    ),
)
print(response.text)

জাভাস্ক্রিপ্ট

const response = await ai.models.generateContent({
  model: "gemini-3.5-transcribe",
  contents: [audioFile],
  config: {
    audioTranscriptionConfig: {
      mode: "SMART",
    },
  },
});
console.log(response.text);

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-transcribe:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "fileData": {
              "fileUri": "YOUR_FILE_URI",
              "mimeType": "audio/mp3"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "audioTranscriptionConfig": {
        "mode": "SMART"
      }
    }
  }'

ট্রান্সক্রিপশন আউটপুট পার্সিং

সম্পূর্ণ প্রতিলিপিটি response.text এ ফেরত দেওয়া হয়।

যখন word_timestamp বা diarization সক্রিয় করা হয়, তখন API-টি সম্ভাব্য অংশগুলোর সাথে সংযুক্ত বিস্তারিত শব্দ-স্তরের টীকা এবং বক্তার লেবেলও ফেরত দেয়।

শব্দের টাইমস্ট্যাম্প এবং বক্তার পালা বের করে সেগুলোর ওপর পুনরাবৃত্তি করার পদ্ধতি নিচে দেওয়া হলো:

পাইথন

def extract_word_transcriptions(response):
    words = []
    for candidate in getattr(response, "candidates", []) or []:
        content = getattr(candidate, "content", None)
        for part in getattr(content, "parts", []) or []:
            transcription = getattr(part, "audio_transcription", None)
            if transcription:
                speaker = getattr(transcription, "speaker_label", "")
                for word_info in getattr(transcription, "words", []) or []:
                    word = getattr(word_info, "word", "")
                    start = getattr(word_info, "start_offset", "")
                    end = getattr(word_info, "end_offset", "")
                    words.append({
                        "word": word,
                        "speaker": speaker,
                        "start_offset": start,
                        "end_offset": end,
                    })
    return words

words = extract_word_transcriptions(response)

for w in words:
    speaker = f"[{w['speaker']}] " if w["speaker"] else ""
    timing = f"({w['start_offset']} -> {w['end_offset']}) " if w["start_offset"] and w["end_offset"] else ""
    print(f"{speaker}{timing}{w['word']}")

জাভাস্ক্রিপ্ট

function extractWordTranscriptions(response) {
  const words = [];
  for (const candidate of response.candidates ?? []) {
    for (const part of candidate.content?.parts ?? []) {
      const transcription = part.audioTranscription;
      if (transcription) {
        const speaker = transcription.speakerLabel ?? "";
        for (const wordInfo of transcription.words ?? []) {
          words.push({
            word: wordInfo.word ?? "",
            speaker: speaker,
            startOffset: wordInfo.startOffset ?? "",
            endOffset: wordInfo.endOffset ?? "",
          });
        }
      }
    }
  }
  return words;
}

const words = extractWordTranscriptions(response);

for (const w of words) {
  const speaker = w.speaker ? `[${w.speaker}] ` : "";
  const timing = (w.startOffset && w.endOffset) ? `(${w.startOffset} -> ${w.endOffset}) ` : "";
  console.log(`${speaker}${timing}${w.word}`);
}

বিশ্রাম

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "audioTranscription": {
              "speakerLabel": "spk_1",
              "words": [
                {
                  "word": "Hello",
                  "startOffset": "0.100s",
                  "endOffset": "0.450s"
                },
                {
                  "word": "world",
                  "startOffset": "0.500s",
                  "endOffset": "0.850s"
                }
              ]
            }
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ]
}

সমর্থিত ভাষা

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

প্যারামিটার রেফারেন্স

GenerateContentConfig এর audio_transcription_config অবজেক্টের মধ্যে ফিল্ডগুলি সেট করে ট্রান্সক্রিপশন কনফিগার করুন:

মাঠ প্রকার বর্ণনা
language_codes স্ট্রিংগুলির অ্যারে BCP-47 ভাষা কোডসমূহ (যেমন, ["en-US"] )। যদি এটি বাদ দেওয়া হয় বা খালি ( [] ) থাকে, তাহলে মডেলটি স্বয়ংক্রিয়ভাবে ভাষা শনাক্ত করে এবং কোড-সুইচিং পরিচালনা করে।
custom_vocabulary স্ট্রিংগুলির অ্যারে স্পিচ রিকগনিশনকে প্রভাবিত করার জন্য ১,০০০টি পর্যন্ত নিজস্ব পরিভাষা, সংক্ষিপ্ত রূপ বা বিশেষ নাম ব্যবহার করা যাবে।
word_timestamp বুলিয়ান শব্দের শুরু ও শেষের অফসেট অন্তর্ভুক্ত করতে এটিকে True তে সেট করুন। এটি বাদ দিলে বা False সেট করলে, কোনো শব্দের টাইমস্ট্যাম্প ফেরত দেওয়া হবে না।
diarization বুলিয়ান স্বতন্ত্র বক্তাদের শনাক্ত ও চিহ্নিত করতে এটিকে True তে সেট করুন।
mode স্ট্রিং ট্রান্সক্রিপশন মোড। সমর্থিত মান: "VERBATIM" (ডিফল্ট) এবং "SMART" । টাইমস্ট্যাম্প এবং ডায়ারাইজেশনের সাথে সামঞ্জস্যপূর্ণ নয়।

সর্বোত্তম অনুশীলন

  • পরিষ্কার অডিও প্রদান করুন: অডিও রেকর্ডিংয়ে কণ্ঠস্বরের স্পষ্ট পৃথকীকরণ নিশ্চিত করুন এবং মারাত্মক ক্লিপিং এড়িয়ে চলুন।
  • জানা থাকলে ভাষার ইঙ্গিত দিন: আপনি যদি অডিওর ভাষা আগে থেকে জানেন, তাহলে নির্ভুলতা সর্বোচ্চ করতে language_codes উল্লেখ করুন।
  • নিজস্ব শব্দভান্ডার তৈরির লক্ষ্য: custom_vocabulary সাধারণ দৈনন্দিন শব্দের পরিবর্তে শুধুমাত্র স্বতন্ত্র পরিভাষা, ব্র্যান্ডের নাম বা বিশেষ্য পদ অন্তর্ভুক্ত করুন।
  • বড় রেকর্ডিংয়ের জন্য ফাইলস এপিআই (Files API) ব্যবহার করুন: কয়েক সেকেন্ডের বেশি দৈর্ঘ্যের ফাইলের জন্য, client.files.upload ব্যবহার করে ফাইলটি আপলোড করুন এবং ফেরত আসা ফাইলটি contents মডেলে পাস করুন।

সীমাবদ্ধতা

  • অডিওর সময়কাল: স্ট্যান্ডার্ড ইউনারি রিকোয়েস্ট ১ ঘন্টা পর্যন্ত অডিও ফাইল সাপোর্ট করে। স্পিকার ডায়ারাইজেশন বা ওয়ার্ড-লেভেল টাইমস্ট্যাম্পের মতো ফিচারগুলো চালু থাকলে অডিও প্রসেসিং ৩০ মিনিটে সীমাবদ্ধ থাকে।
  • শব্দ-স্তরের টাইমস্ট্যাম্প: শব্দ-স্তরের টাইমস্ট্যাম্প সক্রিয় করলে সামগ্রিক ট্রান্সক্রিপশনের নির্ভুলতা হ্রাস পেতে পারে।
  • স্পিকার ডায়ারাইজেশন: স্পিকার ডায়ারাইজেশন সর্বোচ্চ ৮ জন স্পিকারকে সমর্থন করে। ৩ বা তার বেশি স্পিকারের ক্ষেত্রে স্পিকার অ্যাট্রিবিউশন পরীক্ষামূলক পর্যায়ে রয়েছে।
  • নিজস্ব শব্দভান্ডার: আপনি custom_vocabulary তে সর্বোচ্চ ১,০০০টি শব্দ প্রদান করতে পারেন, তবে সাধারণত ১০০টি পর্যন্ত শব্দ ব্যবহার করলে সবচেয়ে ভালো ফলাফল পাওয়া যায়।
  • মোড সামঞ্জস্যতা: স্মার্ট ট্রান্সক্রিপশন ( mode: "SMART" ) word_timestamp বা diarization সাথে একত্রিত করা যাবে না।

এরপর কী?