
پروجیکٹ کون سا مسئلہ حل کرتا ہے
یہ پروجیکٹ کوئی تیار استعمال سافٹ ویئر پیکیج نہیں، بلکہ عملی سماعت اور مسلسل بہتری سے تیار کیا گیا AI صوتی پروڈکشن کا طریقۂ کار ہے۔ یہ چند عام مسائل کو حل کرتا ہے: سانس کی آواز کا خاموشی میں اکیلا رہ جانا، سانس اور مکالمے کے درمیان بہت زیادہ وقفہ، توقف کے بعد آواز کا اچانک رسمی ہو جانا، ماڈل کا جملے دہرانا یا چھوڑ دینا، اور مکالمہ کاٹنے کے بعد ماحول کی آواز کا قدرتی طور پر نہ مل پانا۔
مکمل عمل چار چیزوں کے گرد گھومتا ہے: ElevenLabs v4 سے آواز بنانا، آڈیو پر ffmpeg کے ذریعے کارروائی کرنا، Whisper سے متن کی نقل بنا کر جانچ کرنا، اور پھر NumPy سے بلندی، پچ اور سیمپل پوزیشن کا تجزیہ کرنا۔
بنیادی نتیجہ یہ نہیں کہ “زیادہ سانسیں شامل کریں”، بلکہ یہ ہے کہ “سانس کو درست جگہ رکھیں”: منہ کھولنے سے پہلے کی مختصر سانس پہلے لفظ کے ساتھ جڑی ہو، جملے کے آخر میں قدرتی طور پر سانس نکلے، اور جملے کے اندر کی سانس آدھے جملے کے درمیان برقرار رہے۔
اہم صلاحیتیں اور طریقے
- سانس کو مکالمے کے قریب رکھنا: منہ کھولنے سے پہلے کی ہلکی مختصر سانس شناخت کریں، صرف خاموشی کو منتقل کریں، اور سانس کو مکالمے سے تقریباً 0.08 سیکنڈ کے فاصلے پر رکھیں۔
- اچانک بلند آواز کی اصلاح: ہر صوتی حصے کی بلندی ناپیں، اور جو حصہ میڈین سے 4 dB سے زیادہ بلند ہو اسے مناسب حد تک کم کریں۔
- بغیر نقصان کے جملہ کاٹنا: خشک آواز کی خاموش جگہ سے کاٹیں، پھر لوپ ہونے والی ماحول کی آواز دوبارہ بچھائیں، تاکہ پہلے سے منظور شدہ اداکاری زیادہ سے زیادہ برقرار رہے۔
- تکرار اور چھوڑی گئی عبارت کی شناخت: ترکیب کے بعد Whisper سے نقل تیار کریں، “سنی گئی عبارت” اور “کہی جانی چاہیے تھی” کا تقابل کریں، اور خرابی کی صورت میں دوبارہ تخلیق کریں۔
- حرکت اور آواز کی ہم زمانی: آواز کا نشان اسی جملے پر لکھیں جہاں حرکت حقیقتاً شروع ہوتی ہے، نہ کہ ہر مکالماتی دور کے آغاز پر۔
- روزمرہ کے لہجے کی تشکیل: صرف آواز کو نرم نہ کریں، بلکہ کردار کی رفتار، پچ، اعتماد کی سطح اور بولنے کی عادت واضح کریں۔
ماحول کی تیاری
ضروری اوزار
- ElevenLabs v4: متن کو آواز میں تبدیل کرنے کے لیے۔ پروجیکٹ میں عملی طور پر v4 استعمال کیا گیا ہے۔
- ffmpeg: آڈیو کو ڈی کوڈ، کاٹنے، جوڑنے، دوبارہ نمونہ بندی اور برآمد کرنے کے لیے۔
- Whisper: تیار شدہ نتیجے کی دوبارہ نقل بنانے، تکرار، چھوٹے گئے جملوں اور مواد کے انحراف کی شناخت کے لیے۔
- NumPy: آڈیو ارے، باہمی تعلق، بلندی کے حساب اور حصوں کی منتقلی کے لیے۔
README کا عملی ماحول macOS ہے۔ اس میں کوئی مقررہ انسٹالیشن اسکرپٹ فراہم نہیں کیا گیا، اس لیے ہر اوزار کو اس کی سرکاری ہدایات کے مطابق الگ انسٹال کریں، اور تصدیق کریں کہ ffmpeg، Whisper اور Python کا ماحول درست طور پر چل رہا ہے۔
تجزیے کے مرحلے میں داخل ہونے سے پہلے آڈیو کو یکساں سیمپل ریٹ والی مونو لہری شکل میں ڈی کوڈ کریں، اور مقررہ قدم کے مطابق حساب شدہ دو ڈیٹا سیٹ تیار کریں: ہر فریم کی پچ f0 اور ہر فریم کی RMS بلندی rms۔ اصل عمل میں فریم کا قدم 10 ملی سیکنڈ ہے۔ بلندی کا تجزیاتی ونڈو سرحد کو کئی دسیوں ملی سیکنڈ تک دھندلا دیتا ہے، اس لیے حصے منتقل کرتے وقت تھوڑا اضافی مارجن رکھیں۔
ہمیشہ آواز کی دو نقلیں محفوظ کریں
ہر تخلیق کے بعد درج ذیل ورژن محفوظ کریں:
- خشک آواز: صرف انسانی آواز، ماحول یا حرکتی آواز کے بغیر۔
- تر آواز: انسانی آواز کے نیچے ماحول کی آواز بچھایا ہوا آخری ورژن۔
خشک آواز صرف سانس کی پیمائش کے لیے مفید نہیں، بلکہ بعد میں کوئی جملہ حذف کرنے، کوئی حصہ بدلنے یا پس منظر دوبارہ بچھانے کے وقت اصل اداکاری بھی محفوظ رکھتی ہے۔ صرف آخری مکس شدہ نتیجہ محفوظ نہ کریں۔
پہلا مرحلہ: سانس کی ہدایات درست لکھیں
“嗯”، “哈” یا سانس کے ٹیگ کو لمبی خاموشیوں کے درمیان ایک ایک سطر میں نہ رکھیں۔ اس طرح تیار ہونے والی آواز میں عموماً واضح پچ ہوتی ہے، بلندی عام گفتگو کے قریب ہوتی ہے، اور دونوں طرف لمبی مردہ خاموشی ہوتی ہے، جس سے یہ ایک الگ صوتی اثر معلوم ہوتی ہے۔
بہتر ہے کہ سانس کو مکالمے والی سطر میں لکھیں:
[low, breathy, wet]
[inhales] مجھے دیکھو… [exhales]
[long pause]
嗯… مت چھپو… 嗯…哈…- سطر کے آغاز میں صرف مختصر سانس کے ٹیگ استعمال کریں، مثلاً
[inhales]،[exhales]یا[sighs]۔ - ٹیگ اور مکالمے کے درمیان نقطوں کی ایک اور قطار نہ رکھیں۔
- جملے کے آخر میں قدرتی طور پر ایک سانس، یا دو تین ہلکی صوتی ادائیں شامل کی جا سکتی ہیں۔
- خالی وقفے میں صرف ایک سطر
[long pause]لکھیں، اس کے اندر الگ الگ ہمہمے نہ رکھیں۔ - جملے کے اندر بھی سانس شامل کی جا سکتی ہے؛ ایک جملے میں آغاز، درمیان اور اختتام میں سے ایک دو جگہیں کافی ہیں۔
دو [long pause] مسلسل لکھنے سے وقفہ لازماً نمایاں طور پر لمبا نہیں ہوتا۔ پروجیکٹ کے عملی تجربے میں ایک ٹیگ تقریباً 0.96 سیکنڈ کی خاموشی پیدا کرتا ہے، جبکہ مسلسل دو ٹیگ تقریباً 1.04 سیکنڈ پیدا کرتے ہیں۔ اس لیے درست دورانیے کا انحصار ٹیگ کے لفظی متن پر نہ کریں۔
دوسرا مرحلہ: آواز کو قابلِ پیمائش “حصوں” میں تقسیم کریں
یہاں “حصہ” مسلسل سنائی دینے والی آواز کا ایک ٹکڑا ہے۔ ہر حصے کے لیے تین اشاریے ناپیں: دورانیہ، اوسط بلندی، اور ان فریموں کا تناسب جن میں پچ موجود ہے۔ یہ معمول کے مکالمے، حقیقی سانس اور پچ والے الگ ہمہمے میں فرق کرنے میں مدد دیتے ہیں۔
def is_breath(f0, rms, a, b):
dur = (b - a) * 0.01
voiced = (f0[a:b] > 0).mean()
db = 20 * np.log10(rms[a:b].mean() + 1e-9)
return 0.12 <= dur <= 0.9 and voiced < 0.15 and db < -29اصل پروجیکٹ میں عام حدود یہ ہیں:
- دبی ہوئی، سانس بھری گفتگو: تقریباً 0.5 سے 2 سیکنڈ، بلندی تقریباً −22 سے −27 dB، اور پچ والے فریم تقریباً دو دسویں سے چار دسویں۔
- سانس اندر لینا، باہر نکالنا یا سرسراہٹ: تقریباً 0.3 سے 0.65 سیکنڈ، بلندی تقریباً −32 سے −40 dB، اور پچ والے فریم تقریباً ایک دسویں۔
- الگ اور منقطع ہمہمہ: تقریباً 0.4 سے 0.5 سیکنڈ، بلندی −25 dB تک پہنچ سکتی ہے، پچ والے فریم چھ دسویں سے زیادہ، اور دونوں طرف عموماً 0.6 سے 1 سیکنڈ کی خاموشی۔
یہ حدیں مخصوص لہجے اور نمونوں سے حاصل ہوئی ہیں، اس لیے انہیں ہر آواز کے لیے عمومی معیار نہ سمجھیں۔ زیادہ قابلِ اعتماد طریقہ یہ ہے کہ پہلے سننے والے سے مسئلہ نشان زد کروائیں، پھر ملحقہ معمول کے حصوں سے اسی لہجے کی اپنی حدود بنائیں۔
تیسرا مرحلہ: منہ کھولنے سے پہلے کی سانس کو مکالمے کے قریب لائیں
اشارے درست لکھے جانے کے باوجود ماڈل سانس اور مکالمے کے درمیان خود 0.3 سیکنڈ یا اس سے زیادہ خاموشی چھوڑ سکتا ہے۔ اشاروں سے دسیوں ملی سیکنڈ کی پوزیشن قابو کرنا مشکل ہے، اس لیے تخلیق کے بعد آڈیو حصے کو منتقل کرنا ضروری ہے۔
کارروائی سے پہلے اور بعد کی ساخت یوں سمجھی جا سکتی ہے:
پہلے: پچھلا جملہ → خاموشی A → سانس → خاموشی B → اگلا جملہ
بعد میں: پچھلا جملہ → زیادہ لمبی خاموشی → سانس → 0.08 سیکنڈ → اگلا جملہکارروائی کے دوران صرف سانس اور خاموشی کی جگہیں بدلیں؛ سانس یا مکالمے کو نہ بدلیں اور پورے حصے کا کل دورانیہ بھی تبدیل نہ کریں۔ اس طرح موجودہ ٹائم لائن، آواز کی بچھائی اور رفتار کے اعداد و شمار متاثر نہیں ہوں گے۔
منتقلی کے لیے موزوں امیدوار حصے میں یہ خصوصیات ہونی چاہییں:
- اسے ہلکی، مختصر اور واضح پچ سے عاری سانس قرار دیا گیا ہو۔
- اس کے بعد تقریباً 0.14 سے 1.5 سیکنڈ کے اندر بولنے والا حصہ آتا ہو۔
- اس سے پہلے کم از کم تقریباً 0.3 سیکنڈ کی خالی جگہ موجود ہو۔
- جملے کے درمیان، پہلے نصف جملے کے فوراً بعد آنے والی سانس کو منتقل نہ کریں، تاکہ اصل قدرتی سانس خراب نہ ہو۔
README کے عملی تجربے میں مطلوبہ وقفہ تقریباً 0.08 سیکنڈ ہے۔ منتقلی کے وقت سانس کے آغاز کے ساتھ تقریباً 0.02 سیکنڈ اور اختتام کے ساتھ تقریباً 0.03 سیکنڈ اضافی حصہ رکھیں، اور نئی جگہ پر ابتدا اور اختتام دونوں پر تقریباً 4 ملی سیکنڈ کی فیدنگ کریں تاکہ جوڑ کم محسوس ہو۔
چوتھا مرحلہ: توقف کے بعد آنے والی “رسمی آواز” درست کریں
کچھ آوازیں طویل توقف کے بعد زیادہ صاف، زیادہ بلند اور کم سانس بھری عام گفتگو کی حالت میں واپس آ جاتی ہیں۔ مثال میں غیر معمولی مختصر جملہ آس پاس کے مواد سے 6 dB سے زیادہ بلند تھا، اور پچ والے فریموں کا تناسب تقریباً تین دسویں سے بڑھ کر چھ دسویں ہو گیا۔
پہلے اشاروں سے امکان کم کریں
- توقف کے بعد پہلے ایک سانس شامل کریں، یا ہلکی ہمہماتی آواز کے ساتھ مکالمے میں داخل ہوں۔
- جملے کے آخر کو کھینچ کر ختم کریں، ہر بار صاف سوالیہ یا ختمے کے انداز میں نہ بولیں۔
- دو تین الفاظ کے مختصر جملے کو ملحقہ جملے کے ساتھ جوڑ دیں، تاکہ اسے الگ سے صاف نشریاتی انداز میں نہ پڑھا جائے۔
- لہجہ دوبارہ واضح کرنا ہو تو چھوٹا ٹیگ بات کے آغاز میں رکھیں، اسے ہمیشہ الگ سطر نہ بنائیں۔
[long pause]
嗯… [low, breathy] مت چھپو…اگر حصے کاٹنے والا ہر سطر کے آغاز میں موجود لہجے کے ٹیگ پر نیا حصہ بناتا ہے، تو سطر کے اندر یہ انداز استعمال کرنے سے جوڑ اور پچ کی اچانک تبدیلی بھی کم ہو سکتی ہے۔
پھر پروگرام سے غیر معمولی بلندی دبائیں
ہر حصے کی بلندی الگ حساب کریں، اور موجودہ پیراگراف کے تمام گفتگویی حصوں کے میڈین کو حوالہ بنائیں۔ اگر کوئی حصہ 4 dB سے زیادہ بلند ہو تو اسے صرف تقریباً 2 dB زیادہ تک کم کریں، زیادہ سے زیادہ 6 dB کمی کے ساتھ، اور ابتدا و اختتام پر تقریباً 25 ملی سیکنڈ کا تدریجی لفافہ استعمال کریں۔
ہر حصے کو الگ ناپنا ضروری ہے، ہر جملے کو نہیں۔ آدھے سیکنڈ کی مختصر بلند آواز کو بعد کے لمبے جملے کے ساتھ اوسط کرنے پر 6 dB کی خرابی حد سے نیچے دب سکتی ہے۔ پروگرام صرف آواز کی بلندی درست کر سکتا ہے؛ کم سانس والے صوتی رنگ کو براہِ راست واپس نہیں لا سکتا، اس لیے اشاروں اور بعد کی کارروائی دونوں کا استعمال ضروری ہے۔
پانچواں مرحلہ: ترکیب کے فوراً بعد نقل کے ذریعے معیار کی جانچ کریں
ماڈل کبھی کبھار ایک جملہ دو تین بار پڑھ دیتا ہے، یا آخری جملہ بالکل چھوڑ دیتا ہے۔ اصل مسودہ مکمل طور پر درست ہو سکتا ہے، اس لیے ہر تیار شدہ حصے کی ایک بار نقل سے جانچ ہونی چاہیے۔
پروجیکٹ دو طرح کے اشارے استعمال کرتا ہے:
- مربع بریکٹ والے ٹیگ اور عام صوتی الفاظ ہٹا کر کم از کم چھ چینی حروف کے ایسے حصے تلاش کریں جو نقل میں بار بار آئے ہوں، جبکہ اصل مسودے میں صرف ایک بار ہوں۔
- نقل کے حروف کی تعداد اور اصل مسودے کے حروف کی تعداد کا تقابل کریں؛ اگر یہ متوقع تعداد سے تقریباً دو دسویں کم ہو تو اسے ممکنہ طور پر جملہ نگل جانے کی علامت سمجھیں۔
خرابی ملنے پر ایک بار دوبارہ تخلیق کریں، پھر دونوں ورژن کو اسکور دیں اور کم اسکور والا ورژن رکھیں۔ صوتی الفاظ اکثر درست طور پر نقل نہیں ہوتے، اس لیے “嗯،哈،啊،呃” جیسے حروف کو بنیادی حساب کے لیے استعمال نہ کریں۔
براہِ راست فون کال میں Whisper کو 20 یا 30 سیکنڈ کی آڈیو نقل کرنے میں تقریباً تین سیکنڈ لگ سکتے ہیں۔ موجودہ حصے کے چلنے کے دوران اگلے حصوں کو پس منظر میں جانچا جا سکتا ہے؛ پہلے حصے میں تاخیر چھپانے کے لیے پلے بیک کا وقت نہیں ہوتا، اس لیے پہلے “دورانیہ ÷ مؤثر حروف کی تعداد” سے تیز جانچ کریں۔ اصل مثال میں معمول کی حد فی حرف تقریباً 0.41 سے 0.62 سیکنڈ تھی؛ حد سے باہر ہونے پر مکمل نقل شروع کریں۔
چھٹا مرحلہ: دوبارہ تخلیق کیے بغیر ایک جملہ حذف کریں
اگر سننے والے کو کوئی مخصوص اداکاری پسند آ گئی ہو تو صرف ایک جملہ حذف کرنے کی خاطر پورا حصہ دوبارہ نہ پڑھوائیں۔ ہر تخلیق ایک نیا موقع ہوتی ہے، اور سانس، توقف اور جملے کے اختتامی جزئیات کو درست طور پر دہرانا مشکل ہوتا ہے۔
- خاموشی تلاش کریں: پہلے تقریباً 50 ملی سیکنڈ کے یونٹ میں بلندی کا نقشہ بنائیں، پھر امیدوار چھوٹے حصوں کی الگ الگ نقل تیار کر کے تصدیق کریں کہ وہ مکالمہ، سانس یا خاموشی ہیں۔
- خشک آواز سے کاٹیں: دونوں سروں کے جوڑ کو سب سے خاموش مقام پر رکھیں، اور ہر ٹکڑے کے آغاز و اختتام پر چند درجن ملی سیکنڈ کی فید اِن اور فید آؤٹ برقرار رکھیں۔
- آواز دوبارہ بچھائیں: پہلے سے ماحول کی آواز بچھے ہوئے نتیجے کو براہِ راست نہ کاٹیں، ورنہ لوپ کی تال جوڑ پر بدل سکتی ہے۔
- دوبارہ نقل بنائیں: تصدیق کریں کہ نتیجے میں صرف مطلوبہ جملے باقی ہیں۔
- ہر سیمپل کا تقابل کریں: جانچیں کہ غیر ترمیم شدہ حصے اب بھی اصل آواز سے مطابقت رکھتے ہیں۔
اگر معلوم نہ ہو کہ تر آواز میں لوپ کے لیے کون سا مواد استعمال ہوا تھا، تو انسانی آواز کے مکمل طور پر خاموش حصے سے تیار شدہ لہری شکل نکالیں، پھر امیدوار مواد کو لوپ کر کے باہمی تعلق کا حساب کریں۔ سب سے زیادہ تعلق والی پوزیشن مواد کا مرحلہ بتا سکتی ہے، جبکہ نقطہ ضرب پس منظر کے گین کا اندازہ دے سکتی ہے۔ مثال میں دونوں مواد کا تعلق 0.99 تک پہنچا، اور اندازہ شدہ گین بالترتیب تقریباً 0.200 اور 0.241 تھا۔
تقابل سیمپل کی سطح تک درست ہونا چاہیے۔ چند درجن سیمپل کی غلط ترتیب بھی مماثلت کو نمایاں طور پر کم کر سکتی ہے اور “غلط مواد بچھا ہے” کا غلط تاثر پیدا کر سکتی ہے۔ ترتیب درست کرنے کے بعد مثال کے غیر ترمیم شدہ حصوں کی مماثلت 0.996 سے 0.998 تک رہی۔
ساتواں مرحلہ: آواز کو درست وقت سے شروع کریں
پروجیکٹ اشاروں میں موجود حسبِ ضرورت ٹیگ سے بنیادی آواز کی قسم طے کرتا ہے، پھر ElevenLabs کو بھیجنے سے پہلے ان ٹیگ کو ہٹا دیتا ہے۔ بنیادی اصول یہ ہے: آواز جس جملے سے شروع ہو، ٹیگ بھی اسی جملے پر لکھا جائے۔
licking: آہستہ تر آواز کے لیے۔fingering: نسبتاً چپچپی حرکتی آواز کے لیے؛ تیز حالت میںfast fingeringلکھا جا سکتا ہے۔sucking: آہستہ تر آواز کے لیے۔thrust: صرف اس جملے سے پہلے ظاہر ہو جہاں حرکت حقیقتاً شروع ہو؛ اسے پورے دور کے آغاز پر پہلے سے نہ رکھیں۔still: موجودہ لوپ ہونے والی آواز روکنے کے لیے۔
اگر ٹیگ حصوں کی تقسیم کو متحرک کرتا ہو تو حرکت کے حقیقی آغاز پر نیا جوڑ برقرار رکھنا مفید ہے؛ باقی چھوٹے ٹیگ، جو صرف لہجہ دوبارہ واضح کرنے کے لیے ہیں، انہیں حتی الامکان بات کے آغاز کے اندر رکھیں۔
آٹھواں مرحلہ: روزمرہ گفتگو کا لہجہ ڈیزائن کریں
“غیر فطری” کا مطلب لازماً یہ نہیں کہ آواز کافی نرم نہیں۔ اصل پروجیکٹ نے پہلے پرانے ماڈل کو ElevenLabs v4 میں اپ گریڈ کیا اور زیادہ پرسکون، زیادہ نرم اشارے آزمائے، مگر سننے والے کے خیال میں کردار اس سے کوئی اور شخص بن گیا۔ آخرکار مؤثر سمت کردار کے اپنے اندازِ گفتگو کو واضح کرنا تھی۔
منتخب بنیادی اشارہ یہ تھا:
[low, slow, confident, a little teasing]متعلقہ ترتیب v4 اور 0.35 استحکام تھی۔ جملے کے آغاز میں بے ترتیب طور پر [exhales]، [chuckles softly]، ایک “嗯……” یا کچھ بھی نہیں شامل کیا جا سکتا ہے۔ ہر بار شامل نہ کریں، ورنہ قدرتی تنوع ایک مقررہ تکیہ کلام بن جائے گا۔
- صرف ترکیب کے لیے بھیجے جانے والے متن کو تبدیل کریں؛ چیٹ انٹرفیس اور تاریخ میں موجود اصل متن کو نہ بدلیں۔
- اگر جملہ پہلے ہی صوتی لفظ سے شروع ہو تو اسے دوبارہ نہ جوڑیں۔
- موجودہ لہجے کے ٹیگ یا خالص انگریزی مواد کو خودکار پیکجنگ سے براہِ راست خارج کیا جا سکتا ہے۔
- فون کال کے لیے الگ اشاروں کا نظام استعمال کریں؛ روزمرہ آواز کے بے ترتیب جملے کے آغاز کو اس پر لاگو نہ کریں۔
اعلیٰ تکنیکیں اور عام خامیاں
اشاروں کے اصولوں میں لکھیں کہ “کیا کرنا ہے”
“کسی خاص آواز کو نہ لکھیں” جیسا جملہ متن بنانے والے کو اسے مکمل طور پر استعمال کرنے سے روک سکتا ہے۔ زیادہ قابلِ اعتماد طریقہ یہ ہے کہ مطلوبہ قسم، مقام اور کم از کم تعدد واضح طور پر لکھیں، جبکہ کبھی کبھار آنے والی بلند آواز یا غیر معمولی ادائیگی کی شناخت پروگرام کے سپرد کریں۔
ایک ہی سانس دوبارہ استعمال نہ کریں
پسندیدہ اصل حصے کو نئے ورژن میں منتقل کرتے وقت اسی تخلیق سے مواد لیا جا سکتا ہے، مگر ایک ہی سانس کو دو مقامات پر دوبارہ استعمال نہ کریں۔ ورنہ سننے والا محسوس کر سکتا ہے کہ عین وہی جزئیات نقل کی گئی ہیں۔
قابلِ تلاش مواد کا ذخیرہ بنائیں
تسلیم شدہ سانس لینے، سسکارنے اور مختصر سانسوں کو اصل فائل، وقت کی حد اور استعمال کی جگہ کے مطابق محفوظ کریں۔ اگر بعد میں سانس کا کوئی ٹیگ صرف خاموشی پیدا کرے، تو مواد کے ذخیرے سے ایک سانس شامل کی جا سکتی ہے۔ README یہ بھی واضح کرتا ہے کہ خودکار طور پر سانس شامل کرنے کے لیے اب بھی ٹائم اسٹیمپ والا انٹرفیس درکار ہے؛ صرف یہ دیکھ کر کہ "جملے کے اندر خاموشی موجود ہے" سانس کی کمی اور عام وقفے کو الگ نہیں کیا جا سکتا۔
براہِ راست فون کال میں بات کاٹنے سے نمٹیں
جب نظام نے ابھی جواب چلانا شروع نہ کیا ہو اور دوسرا فریق بولنا شروع کر دے، تو جو پرانا جواب ابھی آواز میں نہیں آیا اسے ترک کر کے براہِ راست نئے مواد پر کارروائی کریں۔ نئی بات کو پرانے جواب کے ختم ہونے تک محفوظ نہ رکھیں، ورنہ ایک ہی جملے کا جواب دو مرتبہ دیا جا سکتا ہے۔ جن مختصر آوازوں کو متن میں تبدیل نہیں کیا جا سکتا، ان کے لیے اصل عمل میں خودکار طور پر صوتی تاثر شامل کرنے کا انتظار کا وقت 2.5 سیکنڈ سے بڑھا کر 4.5 سیکنڈ کر دیا گیا ہے، تاکہ حقیقی گفتگو سے پہلے فعال ہونے کا امکان کم ہو۔
پہلے مسئلہ سنیں، پھر طے کریں کہ کیا ناپنا ہے
بلندیِ صوت، پچ، خاموشی کا دورانیہ، الفاظ کا تناسب اور باہمی تعلق صرف پہلے سے دریافت شدہ مسائل کی تصدیق کر سکتے ہیں۔ یہ اکیلے یہ فیصلہ نہیں کر سکتے کہ "تاثر درست ہے یا نہیں"۔ اب بھی سب سے مؤثر طریقہ یہی ہے کہ پہلے سننے والا غیر فطری مقام کی نشان دہی کرے، پھر اس کے مطابق پیمانے بنائے جائیں۔
تجویز کردہ مکمل ورک فلو
- ایسا متن لکھیں جس میں آواز کے انداز، سانس، وقفوں اور صوتی اثرات کے نشانات شامل ہوں۔
- صرف بعد از پروسیسنگ کے لیے استعمال ہونے والے صوتی اثرات کے نشانات ہٹا کر باقی متن ElevenLabs v4 کو بھیجیں۔
- خشک آواز محفوظ کریں اور Whisper سے نقلِ تحریر کر کے تکرار، جملوں کے چھوٹ جانے اور مواد کے انحراف کو جانچیں۔
f0اورrmsکا حساب کریں، پھر آڈیو کو گفتاری حصوں، سانس کے حصوں اور دیگر صوتی حصوں میں تقسیم کریں۔- جملہ شروع ہونے سے پہلے کی سانس کو مکالمے سے تقریباً 0.08 سیکنڈ کے فاصلے پر منتقل کریں، جبکہ جملے کے اندر کی سانس برقرار رکھیں۔
- ہر حصے میں اچانک صوتی بلندی کا پتا لگائیں اور غیر معمولی حصوں پر ہموار کمیِ صوت لگائیں۔
- حرکت کے نشانات کے مطابق مسلسل صوتی اثرات شامل کریں اور تر آواز کا ورژن برآمد کریں۔
- دوبارہ نقلِ تحریر کریں، پھر کل دورانیہ، طویل خاموشیوں کی تعداد، سانس کی جگہ اور غیر ترمیم شدہ حصوں کی نمونہ سطح کی مماثلت جانچیں۔
- سننے والے کے منظور کردہ اصل ٹکڑوں اور ان کی وقت کی حدود محفوظ کریں؛ صرف حتمی مکس برقرار نہ رکھیں۔
اختتامیہ
قدرتی AI آواز زیادہ سانس کے ٹیگ جوڑنے سے حاصل نہیں ہوتی۔ زیادہ قابلِ اعتماد طریقہ یہ ہے کہ سانس کو گفتگو کے ساتھ مربوط رکھا جائے، حرکتی آواز درست لمحے سے شروع ہو، ہر ترکیبی نتیجے کی نقلِ تحریر سے جانچ کی جائے، اور ایڈیٹنگ کی ضرورت پڑنے پر اصل اداکاری کو حتی الامکان محفوظ رکھا جائے۔
پرامپٹ یہ طے کرتا ہے کہ "کیا لکھنا ہے" اور "کس لہجے میں کہنا ہے"، جبکہ پروگرام چند درجن ملی سیکنڈ کی پوزیشن، غیر معمولی صوتی بلندی، تکرار، چھوٹ جانے والی قرأت اور نمونہ سطح کی جوڑ کاری سنبھالتا ہے۔ دونوں کے امتزاج سے ہی اتفاقاً تیار ہونے والی ایک اچھی آواز کو قابلِ تکرار پیداواری عمل میں بدلا جا سکتا ہے۔ مزید پس منظر کے لیے ElevenLabs پرامپٹ گائیڈ، ElevenLabs سانس کی آواز کی وضاحت اور گفتاری سانس لینے کی تحقیق ملاحظہ کریں۔
