1. تقریباً 1. آواز ماڈلوں کا جائزہ
1.1. OpenAI کے ٹی ٹی ایس اور ایس ٹی ایس ماڈل متعارف کرون
ٹیکسٹ-ٹو-آواز (ٹی ٹی ایس) ماڈل
OpenAI کا ٹی ٹی ایس ماڈل متنی ڈیٹا کو آوازی خروج میں تبدیل کرسکتا ہے۔ یہ عمل متن کی تجزیہ، آوازی ترتیب الگوریتمز کا استعمال، اور آواز کی معیار کی ترتیب پر مشتمل ہوتا ہے۔ یہ کمپیوٹر کو کسی بھی لکھی گئی متن کو پڑھنے کی صلاحیت دیتا ہے، جس سے مواد کو سمجھنا اور رسائی حاصل کرنا زیادہ آسان ہوتا ہے۔ ٹی ٹی ایس نابینا افراد، ڈرائیورز یا وہ لوگ جو معلومات کو سن کر حاصل کرنا ترجیح دیتے ہیں کے لیے اہم ٹیکنالوجی ہے۔
آواز-سے-متن (ایس ٹی ایس) ماڈل
ٹیکسٹ-ٹو-آواز کے ماڈل کی متوازی میں، ایس ٹی ایس ماڈل بولی ہوئی معلومات کو لکھی گئی متن میں تبدیل کرسکتا ہے۔ اصل آڈیو داخل کرنے کے وقت، ایس ٹی ایس سسٹم پہلے آواز کی پتہ لگائی کرتی ہے، اور پھر خصوصیات کی نکال کشی کرتی ہے۔ پھر یہ آوازی سگنل کو آکوسٹک اور زبانی ماڈلز کا استعمال کرتے ہوئے لغو کرتی ہے، جو آخر کار متنی خروج پیدا کرتی ہے۔ ایس ٹی ایس ٹیکنالوجی بات چیت کی شناخت، میٹنگ ٹرانسکرپشن، اور ریل ٹائم کیپشن جنریشن سیناریوز میں وسیع پیشکش ہوتی ہے۔
1.2. درخواست کے سیناریوز
- ویبلاگ کی آوازی پڑھائی
- بہت بولی بنیاد پر زبانوں کی آوازی تخلیق
3. ٹیکسٹ-ٹو-آواز اے پی آئی
3.1. تیزان سے پرچم
اس حصہ میں ہم دکھائیں گے کہ آپ کیسے کرل کمانڈ اور پائتھن کلائنٹ کا استعمال کرکے جلدی سے متن کو آواز میں تبدیل کرسکتے ہیں۔ خاص طور پر اگر آپ ڈویلپر ہیں یا غیر تکنیکی صارف ہیں تو آپ صرف ایک اے پی آئی کی درخواست بھیج کر آسانی سے آوازی فائلیں پیدا کرسکتے ہیں۔
کرل کمانڈ کا استعمال کرکے درخواست بھیجنا
آواز بنانے کے لئے کرل کمانڈ لائن ٹول کا استعمال کرنے کیلئے مندرجہ ذیل اقدامات کریں:
- یقینی بنائیں کہ آپ کے سسٹم پر کرل انسٹال ہے اور آپ کے پاس ایک درست OpenAI اے پی آئی کی ٹیکن ہے۔
- مندرجہ ذیل کرل کمانڈ کا استعمال کریں تاکہ متن کو آواز میں تبدیل کیا جاسکے:
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Today is a great day to build products people love!",
"voice": "alloy"
}' \
--output speech.mp3
مندرجہ بالا کمانڈ میں، $OPENAI_API_KEY
آپ کی اے پی آئی کی ٹیکن کو ظاہر کرتا ہے، input
فیلڈ وہ متن ہے جس کول آپ آواز میں تبدیل کرنا چاہتے ہیں، model
فیلڈ آواز ماڈل کا استعمال کرتا ہے، اور voice
پیرامیٹر آواز منتخب کرتا ہے۔ یہاں، ہم alloy
سینتھیٹک دھات کی آواز منتخب کرتے ہیں۔ آخری --output
امکان پر اصل فائل کے نام اور شکل کو ظاہر کرتا ہے۔
پائتھن کلائنٹ کا استعمال
اگر آپ پایتھن پروگرامنگ زبان استعمال کرنا ترجیح دیتے ہیں تو آپ مندرجہ ذیل کوڈ مثال کا استعمال کرسکتے ہیں:
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Today is a great day to build products people love!"
)
response.stream_to_file("output.mp3")
اس کوڈ سنپیٹ میں، ہم پہلے openai
لائبریری امپورٹ کرتے ہیں، اور OpenAI کلائنٹ کا ایک مثال بناتے ہیں۔ پھر ہم audio.speech.create
میتھڈ کا استعمال کرکے درخواست بھیجتے ہیں، جس میں ماڈل، آواز، اور تبدیل کرنے والے متن کو مختار کیا جاتا ہے۔ آخر میں، ہم stream_to_file
میتھڈ کا استعمال کرکے پیدا شدہ آوازی سٹریم کو فائل میں سیو کرتے ہیں۔
3.2. آوازی معیار اور آواز منتخب کرنا
پروجیکٹ کے لیے صحیح آوازی معیار اور آواز منتخب کرنا بہترین صارف تجربہ کو یقینی بنانے کا اہم قدم ہے۔ ہماری اے پی آئی میں آوازی ماڈلز کے لیے دو اختیارات فراہم کی جاتی ہیں: tts-1
اور tts-1-hd
.
-
tts-1
: کم لیٹنسی فراہم کرتا ہے، ریل ٹائم ایپلیکیشنز کے لیے مناسب ہے، لیکن نسبتاً کم آواز کی معیار کے ساتھ۔ -
tts-1-hd
: زیادہ خوبصورت آوازی خروج فراہم کرتا ہے، نا ریل ٹائم ایپلیکیشنز کی پروفیل، بلکہ غیر ریل ٹائم ہائی کوالٹی آوازی تخلیق کی ضروریات کے لیے مناسب ہے۔
اس کے علاوہ، OpenAI کے ٹی ٹی ایس اے پی آئی مختلف آوازی اختیارات فراہم کرتا ہے:
- Alloy
- Echo
- Fable
- Onyx
- Nova
- Shimmer
پروجیکٹ کی ضروریات اور ٹارگیٹ اوڈینس کی توجہ میں رکھتے ہوئے، آپ مختلف آوازی نمونے ٹیسٹ کرکے سب سے موزوں آواز منتخب کرسکتے ہیں۔ بات چیت کی سٹائل، بولنے کی رفتار، اور انٹونیشن جیسے فاکٹرز کو دیکھتے ہوئے ایک آواز منتخب کریں جو مناسب جذبات اور پیشہ ورانہ پیشکش کرتی ہو۔
3.3. سپورٹڈ آوٹپٹ فارمیٹس اور زبانیں
OpenAI کا ٹی ٹی ایس اے پی آئی ڈیفالٹ طور پر ایم پی تین آوٹپٹ فارمیٹ کو فالو کرتا ہے لیکن دیگر مختلف آواز فارمیٹس کو بھی سپورٹ کرتا ہے:
- Opus: انٹرنیٹ اسٹریمنگ اور کم لیٹنسی کے لئے مناسب ہے۔
- AAC: ڈیجیٹل آڈیو کمپریشن کے لیے استعمال ہوتا ہے، جو یوٹیوب، اینڈرائیڈ، اور آئی او ایس جیسی پلیٹ فارمز کی ترجیح ہے۔
- FLAC: آڈیو پرستاروں کیلئے آرکائیونگ کے لئے استعمال ہونے والا بغیر خسارے کے آڈیو کمپریشن فارمیٹ ہے۔
زبانی دعم کے حوالے سے، اے پی آئی بنیادی طور پر وسپر ماڈل کا پیچھا کرتا ہے، جو بہت سی قومی زبانوں کی حمایت کے لئے وائیڈ رینج فراہم کرتا ہے۔
3.4. ریل-ٹائم آڈیو اسٹریمنگ کی فعالیت
حقیقی وقت کی درخواستوں کو پورا کرنے کے لئے ہمارا API ریل-ٹائم آڈیو اسٹریمنگ کی حمایت فراہم کرتا ہے۔ نیچے ایک پائتھن مثال دی گئی ہے جو ریل-ٹائم آڈیو اسٹریمنگ کو لاگو کرنے کے لئے ہے:
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="ہیلو ورلڈ! یہ ایک اسٹریمنگ ٹیسٹ ہے۔",
)
response.stream_to_file("output.mp3")
4. تبدیلی سے متن API
4.1. فوراً شروع کریں
اس باب میں، ہم بنیادی طور پر خود کار (Automatic) متن سے بولنا کی API کی کارکردگی کی تھوڑی سی تفصیل پیش کریں گے۔
پہلے، آپ کے پاس ایک درست OpenAI API کی کمیاب API چیاہے اور ایک آڈیو فائل کو تیار کرنا ہوگا۔
آپ curl
کمانڈ کا استعمال کر کے ایک POST درخواست بھیجنے کے لئے ایک API کے مترادف فائل شامل کر سکتے ہیں۔ OPENAI_API_KEY
کو آپ کی API کی محفوظ کردہ حاصل کریں اور ان درست فائل پیش کر سکتے ہیں۔
curl --request POST \
--url https://api.openai.com/v1/audio/transcriptions \
--header 'Authorization: Bearer OPENAI_API_KEY' \
--header 'Content-Type: multipart/form-data' \
--form file=@/path/to/your/audio/file.mp3 \
--form model=whisper-1
اوپر دی گئی کمانڈ کو نافذ کرنے کے بعد، آپ کو ایک JSON فارمیٹ کردہ جواب ملے گا جو ترجمہ شدہ متن کی معلومات رکھتا ہے۔
مثال کے طور پر:
{
"text": "تصور کریں وہ سب سے بہترین خیال جو آپ نے کبھی سوچا ہے، اور آپ کو دیکھنا پڑتا ہے کہ وہ بڑھتا کیسے ہے جو کہ سو گنا، ہزار گنا زیادہ ہوسکتا ہے۔ ..."
}
4.2. حمایت شدہ فائل فارمیٹ اور سائزز
یہ API مختلف عام آڈیو فائل فارمیٹ کی حمایت فراہم کرتا ہے تاکہ مختلف مناظر میں مختلف ضروریات کو پورا کیا جاسکے۔ معمولی طور پر حمایت شدہ فائل فارمیٹ شامل ہیں لیکن ان سے محدود نہیں ہیں mp3
، mp4
، mpeg
، mpga
، m4a
، wav
، webm
وغیرہ۔ یہ صارفین کو مختلف ماخذ سے آڈیو فائل دستیاب کرانے کی آسانی فراہم کرتا ہے۔
جیسا کہ فائل سائز کے لئے، موجودہ API کا حد 25MB سے زیادہ نہیں ہے۔ یہ یہ مطلب ہے کہ اگر آپ کی آڈیو فائل 25MB سے زیادہ ہے تو آپ کو اسے 25MB سے کم چھوٹے ٹکڑوں میں تقسیم کرنا ہوگا، یا زیادہ مؤثر کمپریشن فارمیٹ استعمال کرنا ہوگا۔ مثال کے طور پر، mp3
اور opus
فارمیٹ معمولاً مؤثر کمپریشن فراہم کرتے ہیں، جو فائل سائز کو کم کرتے ہیں بغیر آڈیو کی کوئی بڑی تبدیلی کیے بغیر۔
اگر آپ کوئی 25MB سے زیادہ فائل سے نمٹنا پڑتا ہے، تو آپ PyDub
کتابخانے کا استعمال کر کے اپنی آڈیو کو شگاف خور ہونے کا سوچ سکتے ہیں:
from pydub import AudioSegment
audio_file = AudioSegment.from_file("your_large_audio_file.mp3")
interval = 10 * 60 * 1000 # 10 منٹ
chunks = make_chunks(audio_file, interval)
for i, chunk in enumerate(chunks):
chunk_name = f"audio_chunk{i}.mp3"
chunk.export(chunk_name, format="mp3")
اوپر دی گئی کوڈ میں، make_chunks
فعل ایک بڑی آڈیو فائل کو 10 منٹ کے وقفوں میں مختلف آڈیو ٹکڑو میں تقسیم کرے گا۔ یہ ٹکڑے تمام API کی طرف سے مقرر کردہ فائل سائز حد کے اندر ہوں گے اور ان کو علیحدہ علیحدہ OpenAI API کے لئے تشریح کے لیے اپلوڈ کیا جا سکتا ہے۔
براہ کرم نوٹ کریں کہ جبکہ PyDub
ہمیں آڈیو فائلو کو ہینڈل کرنے کی آسان تریکی فراہم کرتا ہے، تو اس کا استعمال کرتے وقت تیسری شخص کے سافٹ ویئر کی حفاظت اور مستحکمی کو مد نظر رکھنا مہم ہے۔ OpenAI تیسری شخص کے سافٹ ویئر کے لیے کوئی ضمانت فراہم نہیں کرتا ہے۔