Java Speech API
جاوا اسپیچ اے پی آئی (جے ایس اے پی آئی) کمانڈ اینڈ کنٹرول ریکگنیزرس، ڈکٹیشن سسٹمز، اور اسپیچ سنتھسائزرز کے کراس پلیٹ فارم سپورٹ کے لیے ایک ایپلیکیشن پروگرامنگ انٹرفیس ہے۔ اگرچہ جے ایس اے پی آئی صرف ایک انٹرفیس کی وضاحت کرتا ہے، لیکن تیسرے فریق کے ذریعہ بنائے گئے کئی نفاذ ہیں، مثال کے طور پر فری ٹی ٹی ایس۔ بنیادی ٹیکنالوجیز جاوا اسپیچ اے پی آئی کے ذریعے تقریر کی دو بنیادی ٹیکنالوجیز کی حمایت کی جاتی ہے: تقریر کی ترکیب اور تقریر کی شناخت۔ تقریر کی ترکیب تقریر کی ترکیب کسی ایپلی کیشن، ایپلٹ، یا صارف کے ذریعہ تیار کردہ متن سے مصنوعی تقریر تیار کرنے کا الٹا عمل فراہم کرتی ہے۔ اسے اکثر ٹیکسٹ ٹو اسپیچ ٹیکنالوجی کہا جاتا ہے۔ متن سے تقریر تیار کرنے کے اہم مراحل مندرجہ ذیل ہیں: ساخت کا تجزیہ: ان پٹ متن پر عمل کرتا ہے تاکہ اس بات کا تعین کیا جا سکے کہ پیراگراف، جملے اور دیگر ڈھانچے کہاں سے شروع ہوتے ہیں اور کہاں ختم ہوتے ہیں۔ زیادہ تر زبانوں کے لیے، اس مرحلے میں تعیین اور فارمیٹنگ ڈیٹا استعمال کیا جاتا ہے۔ ٹیکسٹ پری پروسیسنگ: زبان کی خصوصی تعمیرات کے لیے ان پٹ ٹیکسٹ کا تجزیہ کرتا ہے۔ انگریزی میں، مخففات، مخففات، تاریخوں، اوقات، نمبروں، کرنسی کی رقم، ای میل پتے، اور بہت سی دوسری شکلوں کے لیے خصوصی علاج کی ضرورت ہوتی ہے۔ دیگر زبانوں کو ان شکلوں کے لیے خصوصی پروسیسنگ کی ضرورت ہوتی ہے، اور زیادہ تر زبانوں میں دیگر خصوصی تقاضے ہوتے ہیں۔ ان پہلے دو مراحل کا نتیجہ تحریری متن کی بولی ہوئی شکل ہے۔ تحریری اور بولی جانے والی تحریروں کے درمیان فرق کی مثالیں یہ ہیں: سینٹ میتھیو کا ہسپتال مین سینٹ پر ہے۔-> "سینٹ میتھیو کا ہسپتال مین اسٹریٹ پر ہے" اکاؤنٹ میں 55374 $20 شامل کریں۔ -> "بیس ڈالر کو پانچ پانچ، تین سات چار کھاتے میں شامل کریں۔" بقیہ مراحل بولی جانے والی متن کو تقریر میں تبدیل کرتے ہیں: متن سے صوتیات میں تبدیلی: ہر لفظ کو صوتیات میں تبدیل کرتا ہے۔ فونیم کسی زبان میں آواز کی ایک بنیادی اکائی ہے۔ پروسوڈی تجزیہ: جملے کے لیے مناسب پروسوڈی کا تعین کرنے کے لیے جملے کے ڈھانچے، الفاظ اور صوتیات پر کارروائی کرتا ہے۔ ویوفارم پروڈکشن: ہر جملے کے لیے آڈیو ویوفارم تیار کرنے کے لیے فونیم اور پروسوڈی معلومات کا استعمال کرتا ہے۔ اسپیچ سنتھسائزر اوپر بیان کردہ کسی بھی پروسیسنگ مرحلے میں غلطیاں کر سکتے ہیں۔ انسانی کان ان غلطیوں کا پتہ لگانے کے لیے اچھی طرح سے تیار ہیں، لیکن ڈویلپرز کی طرف سے محتاط کام غلطیوں کو کم کر سکتا ہے اور تقریر کے آؤٹ پٹ کے معیار کو بہتر بنا سکتا ہے۔ تقریر کی شناخت تقریر کی شناخت کمپیوٹرز کو بولی جانے والی زبان سننے اور جو کہا گیا ہے اس کا تعین کرنے کی صلاحیت فراہم کرتی ہے۔ دوسرے لفظوں میں، یہ تقریر پر مشتمل آڈیو ان پٹ کو متن میں تبدیل کرکے اس پر کارروائی کرتا ہے۔ ایک عام تقریر پہچاننے والے کے اہم مراحل مندرجہ ذیل ہیں: گرائمر ڈیزائن: ان الفاظ کی وضاحت کرتا ہے جو صارف بول سکتا ہے اور ان نمونوں کی جس میں وہ بول سکتے ہیں۔ سگنل پروسیسنگ: آنے والی آڈیو کی سپیکٹرم (یعنی فریکوئنسی) خصوصیات کا تجزیہ کرتا ہے۔ فونیم کی پہچان: سپیکٹرم کے نمونوں کا موازنہ تسلیم شدہ زبان کے فونیم کے نمونوں سے کرتا ہے۔ لفظ کی شناخت: فعال گرائمرز کے ذریعہ بیان کردہ الفاظ اور نمونوں کے خلاف ممکنہ صوتیوں کی ترتیب کا موازنہ کرتا ہے۔ نتیجہ پیدا کرنا: ایپلیکیشن کو ان الفاظ کے بارے میں معلومات فراہم کرتا ہے جو پہچاننے والے نے آنے والے آڈیو میں دریافت کیے ہیں۔ گرائمر جاوا اسپیچ اے پی آئی میں ایک آبجیکٹ ہے جو اس بات کی نشاندہی کرتا ہے کہ صارف سے کون سے الفاظ کہنے کی توقع کی جاتی ہے اور وہ الفاظ کس نمونے میں ہو سکتے ہیں۔ تقریر کو پہچاننے والوں کے لیے گرامر اہم ہیں کیونکہ وہ پہچان کے عمل کو محدود کرتے ہیں۔ یہ رکاوٹیں پہچان کو تیز اور زیادہ درست بناتی ہیں کیونکہ پہچاننے والے کو عجیب جملوں کی جانچ کرنے کی ضرورت نہیں ہوتی ہے۔ جاوا اسپیچ API 1 دو بنیادی گرائمر اقسام کی حمایت کرتا ہے: قاعدہ گرائمر اور ڈکٹیشن گرائمر۔ یہ اقسام مختلف طریقوں سے مختلف ہوتی ہیں، بشمول ایپلی کیشنز کس طرح گرائمرز کو ترتیب دیتی ہیں ؛ ان کی اجازت والے جملوں کی اقسام ؛ نتائج کیسے فراہم کیے جاتے ہیں ؛ مطلوبہ کمپیوٹیشنل وسائل کی مقدار ؛ اور ایپلی کیشن ڈیزائن میں ان کا استعمال کیسے کیا جاتا ہے۔ قاعدہ گرائمرز کی وضاحت جے ایس اے پی آئی 1 میں جے ایس جی ایف، جاوا اسپیچ گرائمر فارمیٹ کے ذریعے کی گئی ہے۔ جاوا اسپیچ API کی کلاسیں اور انٹرفیس مختلف کلاسیں اور انٹرفیس جو جاوا اسپیچ API بناتے ہیں انہیں درج ذیل تین پیکجوں میں تقسیم کیا گیا ہے: javax.speech: عام اسپیچ انجن کے لیے کلاسز اور انٹرفیس پر مشتمل ہے۔ javax.speech.synthesis: تقریر کی ترکیب کے لیے کلاسز اور انٹرفیس پر مشتمل ہے۔ javax.speech.recognition: تقریر کی شناخت کے لیے کلاسز اور انٹرفیس پر مشتمل ہے۔ انجن منیجر کلاس ایک فیکٹری کلاس کی طرح ہے جو تمام جاوا اسپیچ API ایپلی کیشنز کے ذریعہ استعمال ہوتی ہے۔ یہ تقریر کی ترکیب اور تقریر کی شناخت کے انجنوں تک رسائی کو فعال کرنے کے لیے جامد طریقے فراہم کرتا ہے۔ انجن انٹرفیس عام کارروائیوں کو سمیٹتا ہے جو جاوا اسپیچ API کے مطابق اسپیچ انجن کو اسپیچ ایپلی کیشنز کے لیے فراہم کرنا چاہیے۔ اسپیچ ایپلی کیشنز بنیادی طور پر افعال انجام دینے کے لیے طریقے استعمال کر سکتی ہیں جیسے اسپیچ انجن کی خصوصیات اور حالت کو بازیافت کرنا اور اسپیچ انجن کے لیے وسائل مختص کرنا اور ان کو حذف کرنا۔ اس کے علاوہ، انجن انٹرفیس اسپیچ انجن کے ذریعہ تیار کردہ یا پروسیس شدہ آڈیو اسٹریم کو روکنے اور دوبارہ شروع کرنے کے طریقہ کار کو بے نقاب کرتا ہے۔ آڈیو منیجر اسٹریمز میں ہیرا پھیری کر سکتا ہے۔ انجن انٹرفیس کو سنتھسائزر اور ریکگنیزر انٹرفیس کے ذریعہ ذیلی درجہ بند کیا گیا ہے، جو تقریر کی اضافی ترکیب اور تقریر کی شناخت کی فعالیت کی وضاحت کرتا ہے۔ سنتھسائزر انٹرفیس اسپیچ ایپلی کیشنز کے لیے جاوا اسپیچ اے پی آئی کے مطابق اسپیچ سنتھسیس انجن کے آپریشنز کو شامل کرتا ہے۔ جاوا اسپیچ API ایونٹ ہینڈلنگ پر مبنی ہے۔ اسپیچ انجن سے پیدا ہونے والے واقعات کی شناخت کی جا سکتی ہے اور ضرورت کے مطابق ان کو سنبھالا جا سکتا ہے۔ تقریر کے واقعات کو انجن لسٹنر انٹرفیس کے ذریعے سنبھالا جا سکتا ہے، خاص طور پر ریکگنیزر لسٹنر اور سنتھسائزر لسٹنر کے ذریعے۔ متعلقہ وضاحتیں جاوا اسپیچ API جاوا کمیونٹی پروسیس (JCP) سے پہلے لکھا گیا تھا اور جاوا پلیٹ فارم، اسٹینڈرڈ ایڈیشن (جاوا SE) کو نشانہ بنایا گیا تھا۔ اس کے بعد، جے سی پی کے تحت جاوا اسپیچ اے پی آئی 2 (جے ایس اے پی آئی 2) کو جے ایس آر 113 کے طور پر بنایا گیا۔ یہ اے پی آئی جاوا پلیٹ فارم، مائیکرو ایڈیشن (جاوا ایم ای) کو نشانہ بناتا ہے، لیکن جاوا ایس ای کی تعمیل بھی کرتا ہے۔ جے ایس اے پی آئی 1 اوپن سورس جے ایس اے پی آئی 2 ریپر کے لیے سن/اوریکل جاوا ڈاکس کے ذریعے جاوا اسپیچ اے پی آئی عمومی سوالات یہ ٹیکنالوجی مختلف حفاظتی مقاصد کے لیے استعمال کی جا رہی ہے۔