تصور کریں کہ آپ سیول میں کسی سپلائر یا سان پاؤلو میں کسی گاہک کے ساتھ ویڈیو کال میں شامل ہو رہے ہیں اور بالکل اسی طرح بات کر رہے ہیں جیسے آپ اپنے برابر والے کمرے میں موجود کسی ساتھی سے کرتے ہیں۔ کوئی مترجم خاموش (mute) بیٹھا انتظار نہیں کر رہا۔ کوئی کی بورڈ پر جھک کر چیٹ باکس میں ٹائپ نہیں کر رہا۔ ریئل ٹائم AI وائس ٹرانسلیشن اس وقت اسے ممکن بنا رہی ہے۔ انسانی تعلق کو ختم کرنے کے بجائے، یہ ان رکاوٹوں کو دور کرتی ہے جو لوگوں کو ایک دوسرے سے دور رکھتی ہیں۔ لیکن ایک ایسا نظام بنانا جو واقعی ایک فطری گفتگو محسوس ہو، حقیقت میں بہت مشکل ہے۔ آپ صرف الفاظ کو تبدیل نہیں کر رہے، بلکہ آپ سافٹ ویئر کے اندر انسانی گفتگو کے بہاؤ کو دوبارہ ترتیب دے رہے ہیں۔

پائپ لائن کے پانچ درجے

ایک فعال نظام پانچ الگ الگ حصوں میں تقسیم ہوتا ہے۔ اگر ایک کو بھی چھوڑ دیا جائے یا کمزور کر دیا جائے، تو پورا دھوکہ ٹوٹ جاتا ہے۔

Voice Communication Layer بنیاد ہے۔ یہ مائیکروفون کیپچر، شور کو کم کرنے (noise suppression)، گونج کے خاتمے (echo cancellation) اور انٹرنیٹ پر پیکٹ کی منتقلی کو سنبھالتی ہے۔ اسے ایک ڈیجیٹل فون لائن کے طور پر سمجھیں۔ اگر یہ لیئر پیکٹس گرا دیتی ہے یا جیٹر (jitter) پیدا کرتی ہے، تو باقی پائپ لائن کو خراب ڈیٹا کے ساتھ کام کرنا پڑتا ہے۔ زیادہ تر ٹیمیں یہاں WebRTC استعمال کرتی ہیں کیونکہ یہ پیئر ٹو پیئر (peer-to-peer) کنکشنز کو سنبھالتی ہے اور اس میں پہلے سے موجود آواز کے حفاظتی اقدامات (acoustic safeguards) شامل ہیں۔

اگلا مرحلہ Speech-to-Text (STT) ہے۔ آپ کو آنے والی آواز کو جلد از جلد تحریری الفاظ میں تبدیل کرنے کی ضرورت ہے۔ اسٹریمنگ STT انجن خاموشی کا انتظار نہیں کرتے۔ جیسے ہی لفظوں کے ٹکڑے (syllables) آتے ہیں، وہ جزوی ٹرانسکرپٹس (partial transcripts) جاری کرتے رہتے ہیں۔ یہ رویہ ضروری ہے۔ اگر آپ کا STT ماڈیول وقفے کا انتظار کرنے تک ڈیٹا جمع (buffer) کرتا رہتا ہے، تو آپ پہلے ہی قیمتی ملی سیکنڈز ضائع کر چکے ہوتے ہیں۔ جدید اسٹریمنگ امپلیمنٹیشنز مسلسل آنے والی آڈیو کو پروسیس کرتی ہیں اور جیسے جیسے مزید سیاق و سباق (context) ملتا ہے، اپنے اندازوں کی اصلاح کرتی رہتی ہیں۔

Machine Translation (MT) درمیان میں کام کرتا ہے۔ یہ خام متن (raw text) لیتا ہے اور اسے ہدف کی زبان میں دوبارہ لکھتا ہے۔ ابتدائی نظام صرف جملوں کے ٹکڑوں کو بدلنے کے علاوہ کچھ نہیں کرتے تھے۔ موجودہ ٹرانسفارمر پر مبنی ماڈلز (transformer-based models) گرامر (syntax) اور طویل فاصلے کے تعلقات (long-range dependencies) کو کہیں بہتر طریقے سے سنبھالتے ہیں، لیکن انہیں اب بھی محتاط انٹیگریشن کی ضرورت ہوتی ہے۔ آپ کو ایک ایسا MT ماڈیول چاہیے جو اسٹریمنگ ان پٹ قبول کرے تاکہ وہ بولنے والے کے بات مکمل کرنے سے پہلے ہی جملے کے ٹک

سیاق و سباق واقعی مشکل ہوتا ہے۔ انگریزی میں، لفظ "duck" ایک جانور ہو سکتا ہے، ایک فعل ہو سکتا ہے جس کا مطلب سر جھکانا ہے، یا بعض لہجوں میں پیار سے پکارا جانے والا لفظ بھی ہو سکتا ہے۔ ایک ایسا انجن جو لفظ کو تنہا دیکھے گا وہ غلط اندازہ لگائے گا۔ اسٹریمینگ ایمپلیفیکیشن (streaming amplification) اسے مزید مشکل بنا دیتی ہے کیونکہ سسٹم کو پورا جملہ اس کے معنی واضح کرنے سے پہلے ہی لفظ کا فیصلہ کرنا پڑتا ہے۔ کچھ ٹیمیں اس کا حل STT انجن میں چھوٹے "رول بیک ونڈوز" (rollback windows) بنا کر نکالتی ہیں، جس سے اسے ٹرانسکرپٹ میں ترمیم کرنے کی اجازت ملتی ہے اگر بعد کی آڈیو اس کی تشریح کو بدل دے۔

آواز کی فطری کیفیت اس سے کہیں زیادہ اہمیت رکھتی ہے جتنا کہ زیادہ تر انجینئرز توقع کرتے ہیں۔ لوگ روبوٹک آوازوں سے نفرت کرتے ہیں۔ Neural TTS ماڈلز انسانی گفتگو سے لہجے کے نمونے (prosody patterns) کاپی کر کے آواز میں جذبات برقرار رکھتے ہیں۔ اگر اصل بولنے والا پرجوش یا فکر مند محسوس ہو رہا ہے، تو ترجمہ شدہ آؤٹ پٹ میں بھی وہ توانائی ہونی چاہیے، بجائے اس کے کہ ہر لائن موسم کی رپورٹ کی طرح سنائی جائے۔ اصل آڈیو سے پنکچویشن (punctuation) کے اشارے یا لہجے کے نشانات (intonation markers) کو TTS ماڈیول میں منتقل کرنا اس انسانی ساخت کو برقرار رکھنے میں مدد دیتا ہے۔

گفتگو بے ترتیب ہوتی ہے۔ لوگ ایک دوسرے کے کام میں مداخلت کرتے ہیں، اپنی بات واپس لیتے ہیں، "uh" جیسے الفاظ بولتے ہیں، اور ایسے جملے شروع کرتے ہیں جو وہ کبھی مکمل نہیں کرتے۔ آپ کے سسٹم کو ان وقفوں کو ذہانت سے سنبھالنے کے لیے Voice Activity Detection (VAD) کی ضرورت ہے۔ ایک اچھا VAD اصل گفتگو اور پس منظر کے شور کے درمیان فرق کر سکتا ہے، لیکن یہ ایک ہی باری کے دوران مختصر وقفے اور گفتگو کے حقیقی اختتام کے درمیان بھی فرق کرتا ہے۔ اگر VAD بہت زیادہ حساس ہو جائے، تو یہ جوابات کے آغاز کو کاٹ دیتا ہے۔ اگر یہ بہت زیادہ محتاط ہو، تو یہ ترجمہ انجن کو خاموشی بھیجتا ہے، جس سے کمپیوٹنگ کے وسائل ضائع ہوتے ہیں اور بہاؤ میں عجیب سے وقفے پیدا ہو جاتے ہیں۔

اسکیل اور سیکیورٹی

پہلے ہی ڈیزائن کے مرحلے سے اسکیل (scale) کے لیے تیاری کریں۔ ایک مونو لیتھ (monolith) جو ایک کال کا ترجمہ آسانی سے کر لیتا ہے، وہ ہزاروں بیک وقت ہونے والی گفتگو کے بوجھ تلے ڈھہ جائے گا۔ مائیکرو سروسز (microservices) کا استعمال کریں تاکہ آپ ہر مرحلے کو آزادانہ طور پر اسکیل کر سکیں۔ اگر آپ کا TTS کیو (queue) اس لیے پیچھے رہ جاتا ہے کیونکہ ایک زبان کو دوسری کے مقابلے میں زیادہ فونٹک پیچیدگی کی ضرورت ہے، تو آپ STT کلسٹر کو چھیڑے بغیر مزید TTS ورکرز چلا سکتے ہیں۔ اگر آپ کی MT سروس کسی مخصوص زبان کے جوڑے پر رکاوٹ کا شکار ہوتی ہے، تو آپ صرف اسی حصے کو الگ کر کے اسکیل کر سکتے ہیں۔

سیکیورٹی پر کوئی سمجھوتہ نہیں کیا جا سکتا۔ آواز کا ڈیٹا بائیومیٹرک اور انتہائی ذاتی ہوتا ہے۔ ٹرانسٹ میں خام آڈیو (raw audio) کی حفاظت کے لیے اینڈ ٹو اینڈ انکرپشن (end-to-end encryption) کا استعمال کریں۔ خام آواز کا ڈیٹا اس وقت تک محفوظ نہ کریں جب تک کہ آپ کے پاس کوئی مخصوص اور ظاہر شدہ وجہ نہ ہو، جیسے کہ ماڈل کی بہتری کے لیے صارف کی واضح رضامندی۔ اس کے باوجود، ریکارڈنگز کو انکرپٹ شدہ حالت میں محفوظ کریں اور ایک سخت شیڈول کے تحت انہیں ختم کر دیں۔ آواز کا ترجمہ کرنے والا ایسا سسٹم جو کال کے مواد کو لیک کر دے یا خفیہ طور پر گفتگو کو محفوظ رکھے، وہ صارف کے اعتماد کو مستقل طور پر تباہ کر دیتا ہے۔

تعمیر شروع کریں

ڈویلپرز کو اب اوپن سورس STT ماڈلز، کلاؤڈ بیسڈ MT APIs، اور پری ٹرینڈ (pretrained) نیورل TTS چیک پوائنٹس تک رسائی حاصل ہے جو چند سال پہلے تک ملنا ناممکن تھے۔ تمام اجزاء موجود ہیں۔ فن تعمیر (architecture) سمجھ میں آ چکا ہے۔

چھوٹے پیمانے سے آغاز کریں۔ مائیکروفون کی دو سیکنڈ کی آڈیو کو اسٹریمینگ STT انجن کے ذریعے گزاریں۔