واجهة برمجة تطبيقات الكلام في جافا

كانت واجهة برمجة تطبيقات جافا للكلام (JSAPI) واجهة برمجة تطبيقات لدعم أنظمة التعرف على الأوامر والتحكم ، وأنظمة الإملاء، ومُركِّبات الكلام عبر منصات متعددة . على الرغم من أن JSAPI تُعرِّف واجهة فقط، إلا أن هناك العديد من التطبيقات التي أنشأتها جهات خارجية، مثل FreeTTS . لم يتم دمجها مطلقًا في Java SE أو Java EE .

أصبحت الآن مكتبة قديمة، حيث تم تحديثها آخر مرة في عام 2006. [ 1 ]

التقنيات الأساسية

يتم دعم تقنيتين أساسيتين للكلام من خلال واجهة برمجة تطبيقات Java Speech API: توليف الكلام والتعرف على الكلام .أُرشف بتاريخ 4 فبراير 2023 في أرشيف الإنترنت (Wayback Machine) .

توليف الكلام

تُوفّر تقنية توليف الكلام عملية عكسية لإنتاج كلام اصطناعي من نص مُولّد بواسطة تطبيق أو تطبيق صغير أو مستخدم. ويُشار إليها غالبًا بتقنية تحويل النص إلى كلام.

الخطوات الرئيسية في إنتاج الكلام من النص هي كما يلي:

  • تحليل البنية: يعالج النص المدخل لتحديد بداية ونهاية الفقرات والجمل وغيرها من البنى. في معظم اللغات، تُستخدم علامات الترقيم وبيانات التنسيق في هذه المرحلة.
  • معالجة النصوص المسبقة: تحلل النص المدخل بحثًا عن تراكيب لغوية خاصة. في اللغة الإنجليزية، تتطلب الاختصارات، والمختصرات، والتواريخ، والأوقات، والأرقام، ومبالغ العملات، وعناوين البريد الإلكتروني، وغيرها الكثير، معالجة خاصة. وتحتاج اللغات الأخرى إلى معالجة خاصة لهذه التراكيب، كما أن لمعظم اللغات متطلبات خاصة أخرى.

ينتج عن هاتين الخطوتين الأوليين نصٌّ منطوقٌ مُشتقٌّ من النص المكتوب. فيما يلي أمثلة على الفروقات بين النص المكتوب والنص المنطوق:

يقع مستشفى سانت ماثيو في شارع مين. -> "يقع مستشفى سانت ماثيو في الشارع الرئيسي" أضف 20 دولارًا إلى الحساب رقم 55374. -> "أضف عشرين دولارًا إلى الحساب خمسة خمسة، ثلاثة سبعة أربعة."

الخطوات المتبقية تحول النص المنطوق إلى كلام:

  • تحويل النص إلى صوت: يحول كل كلمة إلى صوت. الصوت هو الوحدة الأساسية للصوت في اللغة.
  • تحليل العروض: يعالج بنية الجملة والكلمات والأصوات لتحديد العروض المناسبة للجملة.
  • إنتاج شكل الموجة: يستخدم معلومات الصوتيات والنبرة لإنتاج شكل الموجة الصوتية لكل جملة.

قد ترتكب أجهزة توليف الكلام أخطاءً في أي من خطوات المعالجة المذكورة أعلاه. تتمتع الأذن البشرية بحساسية عالية لاكتشاف هذه الأخطاء، ولكن يمكن للمطورين، من خلال عملهم الدقيق، تقليل الأخطاء وتحسين جودة مخرجات الكلام.

التعرف على الكلام

تتيح تقنية التعرف على الكلام لأجهزة الكمبيوتر القدرة على الاستماع إلى اللغة المنطوقة وتحديد ما قيل. بعبارة أخرى، تقوم هذه التقنية بمعالجة المدخلات الصوتية التي تحتوي على كلام عن طريق تحويلها إلى نص.

الخطوات الرئيسية لبرنامج التعرف على الكلام النموذجي هي كما يلي:

  • تصميم القواعد: يحدد الكلمات التي يمكن للمستخدم نطقها والأنماط التي يمكن أن تُنطق بها.
  • معالجة الإشارات : تقوم بتحليل خصائص الطيف (أي التردد) للصوت الوارد.
  • التعرف على الصوتيات: يقارن أنماط الطيف بأنماط الصوتيات في اللغة التي يتم التعرف عليها.
  • التعرف على الكلمات: يقارن تسلسل الأصوات المحتملة بالكلمات وأنماط الكلمات المحددة بواسطة القواعد النحوية النشطة.
  • توليد النتائج: يزود التطبيق بمعلومات حول الكلمات التي اكتشفها نظام التعرف في الصوت الوارد.

القواعد النحوية هي كائن في واجهة برمجة تطبيقات Java Speech API، تُحدد الكلمات التي يُتوقع من المستخدم نطقها، والأنماط التي قد تظهر بها هذه الكلمات. تُعدّ القواعد النحوية مهمة لأنظمة التعرف على الكلام لأنها تُقيّد عملية التعرف. هذه القيود تجعل التعرف أسرع وأكثر دقة، إذ لا يحتاج النظام إلى التحقق من الجمل الشاذة.

تدعم واجهة برمجة تطبيقات Java Speech API 1 نوعين أساسيين من القواعد النحوية: قواعد القواعد وقواعد الإملاء. يختلف هذان النوعان في جوانب عديدة، منها كيفية إعداد التطبيقات للقواعد النحوية، وأنواع الجمل التي تسمح بها، وكيفية عرض النتائج، ومقدار الموارد الحاسوبية المطلوبة، وكيفية استخدامها في تصميم التطبيقات. تُعرَّف قواعد القواعد النحوية في JSAPI 1 بواسطة JSGF ، وهو تنسيق قواعد Java Speech Grammar Format.

فئات وواجهات برمجة تطبيقات Java Speech

يتم تجميع الفئات والواجهات المختلفة التي تشكل واجهة برمجة تطبيقات Java Speech في الحزم الثلاث التالية:

  • javax.speechيحتوي على فئات وواجهات لمحرك كلام عام.
  • javax.speech.synthesisيحتوي على فئات وواجهات لتوليف الكلام.
  • javax.speech.recognitionيحتوي على فئات وواجهات للتعرف على الكلام.

يُشبه هذا javax.speech.EngineManagerالصنف صنف المصنع الذي تستخدمه جميع تطبيقات Java Speech API. فهو يوفر طرقًا ثابتةً لتمكين الوصول إلى محركات توليف الكلام والتعرف عليه. javax.speech.Engineوتُغلف الواجهة العمليات العامة التي ينبغي أن يوفرها محرك الكلام المتوافق مع Java Speech API لتطبيقات الكلام.

تستخدم تطبيقات الكلام بشكل أساسي طرقًا لتنفيذ إجراءات مثل استرجاع خصائص وحالة محرك الكلام، وتخصيص موارد له وإلغاء تخصيصها. بالإضافة إلى ذلك، javax.speech.Engineتوفر الواجهة آليات لإيقاف واستئناف تدفق الصوت الذي يُنشئه أو يُعالجه محرك الكلام. كما javax.speech.AudioManagerيمكنها معالجة التدفقات. javax.speech.Engineوتُوسّع هذه الواجهة بواسطة واجهتي javax.speech.synthesis.Synthesizerو javax.speech.recognition.Recognizer، اللتين تُحددان وظائف إضافية لتوليف الكلام والتعرف عليه. javax.speech.synthesis.Synthesizerوتُغلف هذه الواجهة عمليات محرك توليف الكلام المتوافق مع واجهة برمجة تطبيقات Java Speech API لتطبيقات الكلام.

تعتمد واجهة برمجة تطبيقات Java Speech على معالجة الأحداث. يمكن تحديد الأحداث التي يُنشئها محرك الكلام ومعالجتها حسب الحاجة. ويمكن معالجة أحداث الكلام من خلال الواجهة javax.speech.EngineListener، وتحديدًا من خلال javax.speech.recognition.RecognizerListenerو javax.speech.synthesis.SynthesizerListener.

تمت كتابة واجهة برمجة تطبيقات Java Speech API قبل عملية مجتمع Java (JCP) وكانت تستهدف منصة Java، الإصدار القياسي (Java SE). لاحقًا، تم إنشاء واجهة برمجة تطبيقات Java Speech API 2 (JSAPI2) كمعيار JSR 113 ضمن JCP. تستهدف هذه الواجهة منصة Java، الإصدار المصغر (Java ME)، ولكنها متوافقة أيضًا مع Java SE.

انظر أيضاً

مراجع

  1. صن مايكروسيستمز. "الأسئلة الشائعة حول واجهة برمجة تطبيقات جافا للكلام" . oracle.com . صن مايكروسيستمز . تم الاطلاع عليه بتاريخ 10 يونيو 2026 .