Audio Translation
Audio Translation برای ترجمه گفتار داخل فایل صوتی به متن زبانی دیگر استفاده میشود. در الگوی رایج، ورودی یک فایل صوتی است و خروجی، متن ترجمهشده است.
POST /v1/audio/translations
فعالبودن مسیر ترجمه صوت به نسخه، مدلها و تنظیمات فضای کاری شما بستگی دارد. اگر این مسیر در محیط شما فعال نیست، فعلاً ترجمه صوت را در سرویس خودتان orchestrate کنید و برای مصرف رسمی از مسیر گدارAI، وضعیت فعالسازی را بررسی کنید.
چه زمانی استفاده کنیم؟
از Audio Translation استفاده کنید وقتی:
- فایل صوتی به زبانی غیر از زبان مقصد دارید.
- میخواهید محتوای تماس، جلسه یا پیام صوتی را برای تیم فارسیزبان قابل فهم کنید.
- لازم است خروجی ترجمهشده را به جستوجو، خلاصهسازی یا تحلیل متنی بدهید.
- میخواهید زنجیره صوتی را از مسیر قابل پایش و قابل کنترل گدارAI عبور دهید.
اگر فقط متن همان زبان گفتار را میخواهید، Speech to Text انتخاب درستتری است.
قرارداد رایج درخواست
وقتی مسیر در محیط شما فعال باشد، درخواست معمولاً با فایل صوتی ارسال میشود:
- Python
- NodeJS
- REST API
- OpenAI Python SDK
- OpenAI NodeJS SDK
import requests
with open("meeting.mp3", "rb") as audio:
response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/audio/translations",
headers={"Authorization": "Bearer YOUR_GODARAI_TOKEN"},
data={
"model": "openai:default:whisper-1",
"response_format": "json",
},
files={"file": ("meeting.mp3", audio, "audio/mpeg")},
timeout=120,
)
response.raise_for_status()
print(response.json()["text"])
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("model", "openai:default:whisper-1");
form.append("response_format", "json");
form.append(
"file",
new Blob([await readFile("meeting.mp3")], { type: "audio/mpeg" }),
"meeting.mp3",
);
const response = await fetch("https://YOUR_WORKSPACE.godarai.ir/v1/audio/translations", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_GODARAI_TOKEN",
},
body: form,
});
if (!response.ok) {
throw new Error("Request failed with status " + response.status);
}
const translation = await response.json();
console.log(translation.text);
curl --request POST "https://YOUR_WORKSPACE.godarai.ir/v1/audio/translations" --header "Authorization: Bearer YOUR_GODARAI_TOKEN" --form "model=openai:default:whisper-1" --form "response_format=json" --form "file=@meeting.mp3;type=audio/mpeg"
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GODARAI_TOKEN",
base_url="https://YOUR_WORKSPACE.godarai.ir/v1",
)
with open("meeting.mp3", "rb") as audio:
translation = client.audio.translations.create(
model="openai:default:whisper-1",
file=audio,
response_format="json",
)
print(translation.text)
import { readFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_GODARAI_TOKEN",
baseURL: "https://YOUR_WORKSPACE.godarai.ir/v1",
});
const translation = await client.audio.translations.create({
model: "openai:default:whisper-1",
file: new File([await readFile("meeting.mp3")], "meeting.mp3", { type: "audio/mpeg" }),
response_format: "json",
});
console.log(translation.text);
مدل باید برای ترجمه صوت در فضای کاری شما مجاز باشد. اگر مدل فقط transcription پشتیبانی کند، خروجی ترجمه قابل اتکا یا در دسترس نخواهد بود.
فیلدهای رایج
| فیلد | کاربرد |
|---|---|
model | شناسه مدل صوتی سازگار با ترجمه. |
file | فایل صوتی ورودی. |
prompt | راهنمای کوتاه برای نامها، اصطلاحات یا زمینه، اگر مدل پشتیبانی کند. |
response_format | فرمت خروجی، مثل json یا متن ساده، بسته به مدل. |
برای نام افراد، محصولها و اصطلاحات تخصصی، یک prompt کوتاه میتواند کیفیت ترجمه را بهتر کند. آن را طولانی نکنید؛ فقط واژههای واقعاً مهم را بیاورید.
خروجی
{
"text": "این جلسه درباره برنامه مهاجرت به درگاه مدلهای زبانی است."
}
خروجی ترجمه معمولاً برای مراحل بعدی مثل خلاصهسازی، دستهبندی یا ثبت در سامانه پشتیبانی استفاده میشود.
تفاوت با Speech to Text
| موضوع | Speech to Text | Audio Translation |
|---|---|---|
| ورودی | فایل صوتی | فایل صوتی |
| خروجی | متن همان زبان گفتار | متن ترجمهشده |
| ریسک اصلی | خطای تشخیص گفتار | خطای تشخیص گفتار + خطای ترجمه |
| کاربرد | پیادهسازی و جستوجو | فهم محتوای زبان دیگر |
نکته آموزشی: ترجمه صوت دو مرحله ریسک دارد؛ اول فهم درست گفتار، بعد ترجمه درست معنا. برای دادههای حساس یا حقوقی، بازبینی انسانی را در مسیر نگه دارید.
کیفیت و محدودیتها
کیفیت خروجی به این عوامل وابسته است:
- وضوح صدا و نویز محیط.
- لهجه و سرعت گفتار.
- زبان مبدا و زبان مقصد.
- وجود اصطلاحات تخصصی یا نامهای خاص.
- طول فایل و محدودیتهای مدل.
برای تصمیمهای حقوقی، پزشکی، مالی یا منابع انسانی، خروجی ترجمه صوت را بدون بازبینی انسانی مبنا قرار ندهید. این خروجی باید کمککننده باشد، نه تنها منبع تصمیم.
حریم خصوصی
فایل صوتی و متن ترجمهشده میتوانند شامل داده شخصی و اطلاعات محرمانه باشند. قبل از ارسال:
- رضایت و سیاست نگهداری داده را مشخص کنید.
- فایلهای غیرضروری را ارسال نکنید.
- متن ترجمهشده را با سطح دسترسی مناسب ذخیره کنید.
- شناسه رد درخواست را برای عیبیابی نگه دارید، نه خود فایل حساس را در لاگهای عمومی.
خطاهای رایج
| نشانه | علت محتمل | راهحل |
|---|---|---|
| مسیر فعال نیست | قابلیت ترجمه صوت در محیط شما فعال نشده است. | وضعیت محیط و مدلهای مجاز را بررسی کنید. |
| خروجی به زبان مورد انتظار نیست | مدل یا قرارداد ترجمه با نیاز شما هماهنگ نیست. | مدل سازگار با ترجمه انتخاب کنید و نمونه واقعی آزمایش کنید. |
| ترجمه نامها اشتباه است | مدل زمینه کافی ندارد. | prompt کوتاه با نامها و اصطلاحات مهم اضافه کنید. |
| خطای فایل | فرمت، اندازه یا کیفیت فایل مناسب نیست. | فایل کوتاهتر، واضحتر و با فرمت رایجتر ارسال کنید. |
جمعبندی
Audio Translation برای تبدیل گفتار یک زبان به متن قابل استفاده در زبان دیگر است. آن را با Speech to Text یکی نکنید، کیفیت را با فایل واقعی بسنجید و برای محتوای حساس، بازبینی انسانی و کنترل دسترسی را در طراحی محصول نگه دارید.