واجهة برمجة تطبيقات الكلام من مايكروسوفت
واجهة برمجة تطبيقات الكلام ( SAPI) هي واجهة برمجة تطبيقات طورتها مايكروسوفت لتمكين استخدام تقنيات التعرف على الكلام وتوليف الكلام ضمن تطبيقات ويندوز . وقد صدرت حتى الآن عدة إصدارات من هذه الواجهة، والتي تم تضمينها إما كجزء من حزمة تطوير برامج الكلام (Speech SDK) أو كجزء من نظام تشغيل ويندوز نفسه. ومن التطبيقات التي تستخدم SAPI: مايكروسوفت أوفيس ، ومايكروسوفت إيجنت ، ومايكروسوفت سبيتش سيرفر .
بشكل عام، صُممت جميع إصدارات واجهة برمجة التطبيقات (API) بحيث يُمكن لمطور البرامج كتابة تطبيقٍ يُتيح التعرف على الكلام وتوليفه باستخدام مجموعة قياسية من الواجهات، يُمكن الوصول إليها من لغات برمجة متنوعة. إضافةً إلى ذلك، يُمكن لشركات خارجية إنتاج محركات خاصة بها للتعرف على الكلام وتحويل النص إلى كلام، أو تكييف المحركات الموجودة للعمل مع واجهة برمجة التطبيقات (SAPI). من حيث المبدأ، طالما أن هذه المحركات تتوافق مع الواجهات المُحددة، يُمكن استخدامها بدلاً من المحركات التي تُوفرها مايكروسوفت.
بشكل عام، تُعدّ واجهة برمجة تطبيقات الكلام (Speech API) مكونًا مجانيًا قابلًا لإعادة التوزيع، ويمكن تضمينه مع أي تطبيق يعمل بنظام ويندوز ويرغب في استخدام تقنية الكلام. كما أن العديد من إصدارات محركات التعرف على الكلام وتوليفه (وإن لم تكن جميعها) قابلة لإعادة التوزيع مجانًا.
صدرت مجموعتان رئيسيتان من واجهة برمجة تطبيقات الكلام من مايكروسوفت (SAPI). تتشابه الإصدارات من 1 إلى 4 من SAPI فيما بينها، مع إضافة ميزات جديدة في كل إصدار أحدث. أما SAPI 5، فقد كانت واجهة جديدة كليًا، صدرت عام 2000. ومنذ ذلك الحين، صدرت عدة إصدارات فرعية من هذه الواجهة.
البنية الأساسية
يمكن اعتبار واجهة برمجة تطبيقات الكلام (SAPI) بمثابة واجهة أو برنامج وسيط يربط بين التطبيقات ومحركات الكلام (التعرف على الكلام وتوليفه). في إصدارات SAPI من 1 إلى 4، كان بإمكان التطبيقات التواصل مباشرةً مع المحركات. تضمنت واجهة برمجة التطبيقات تعريفًا مجردًا للواجهة تلتزم به التطبيقات والمحركات. كما كان بإمكان التطبيقات استخدام كائنات مبسطة عالية المستوى بدلًا من استدعاء الدوال مباشرةً على المحركات.
في SAPI 5، لا تتواصل التطبيقات والمحركات مباشرةً مع بعضها البعض. بدلاً من ذلك، يتواصل كل منهما مع مكون وقت التشغيل ( sapi.dll ). يوجد واجهة برمجة تطبيقات (API) مُنفذة بواسطة هذا المكون تستخدمها التطبيقات، ومجموعة أخرى من الواجهات للمحركات.
في تطبيقات SAPI 5، تُصدر التطبيقات عادةً استدعاءات عبر واجهة برمجة التطبيقات (API) (على سبيل المثال، لتحميل قواعد التعرف، أو بدء عملية التعرف، أو توفير نص ليتم تركيبه). يقوم مكون وقت التشغيل sapi.dll بتفسير هذه الأوامر ومعالجتها، ويستدعي المحرك عند الضرورة عبر واجهات المحرك (على سبيل المثال، يتم تحميل القواعد من ملف في وقت التشغيل، ثم تُمرر بيانات القواعد إلى محرك التعرف لاستخدامها فعليًا في عملية التعرف). كما يُولّد محركا التعرف والتركيب أحداثًا أثناء المعالجة (على سبيل المثال، للإشارة إلى التعرف على عبارة أو لتحديد حدود الكلمات في الكلام المُركّب). تنتقل هذه الأحداث في الاتجاه المعاكس، من المحركات، عبر مكتبة DLL الخاصة بوقت التشغيل، وصولًا إلى مُستقبِل الأحداث في التطبيق.
بالإضافة إلى تعريف واجهة برمجة التطبيقات (API) ومكتبة التشغيل الديناميكية (DLL)، تُرفق مكونات أخرى مع جميع إصدارات SAPI لتكوين حزمة تطوير برمجيات الكلام (Speech SDK) كاملة. وتشمل المكونات التالية، الموجودة في معظم إصدارات حزمة تطوير برمجيات الكلام:
- ملفات تعريف واجهة برمجة التطبيقات - بصيغة MIDL كملفات رأسية بلغة C أو C++.
- مكونات وقت التشغيل - على سبيل المثال sapi.dll.
- تطبيق لوحة التحكم - لتحديد وتكوين برنامج التعرف على الكلام وبرنامج توليف الكلام الافتراضيين.
- محركات تحويل النص إلى كلام بلغات متعددة.
- محركات التعرف على الكلام بلغات متعددة.
- مكونات قابلة لإعادة التوزيع للسماح للمطورين بتجميع المحركات ووقت التشغيل مع كود التطبيق الخاص بهم لإنتاج تطبيق واحد قابل للتثبيت.
- نموذج لرمز التطبيق .
- نماذج المحركات - تطبيقات لواجهات المحرك الضرورية ولكن بدون معالجة حقيقية للكلام والتي يمكن استخدامها كنموذج لأولئك الذين يقومون بنقل محرك إلى SAPI.
- التوثيق .
الإصدارات
كان شويدونغ هوانغ شخصية رئيسية قادت جهود مايكروسوفت المبكرة في مجال SAPI.
عائلة SAPI 1-4 API
سابي 1
صدرت النسخة الأولى من SAPI في عام 1995، وكانت مدعومة على نظامي التشغيل Windows 95 و Windows NT 3.51 . تضمنت هذه النسخة واجهات برمجة تطبيقات منخفضة المستوى للتعرف المباشر على الكلام وتحويل النص إلى كلام، والتي يمكن للتطبيقات استخدامها للتحكم المباشر في المحركات، بالإضافة إلى واجهات برمجة تطبيقات مبسطة "عالية المستوى" للأوامر الصوتية والتحدث الصوتي.
سابي 3
تم إصدار SAPI 3.0 في عام 1997. وقد أضاف دعمًا محدودًا للتعرف على الكلام الإملائي (الكلام المنفصل، وليس المستمر)، وتطبيقات عينة إضافية ومصادر صوتية.
سابي 4
صدرت SAPI 4.0 عام 1998. تضمنت هذه النسخة من SAPI واجهة برمجة تطبيقات COM الأساسية ، بالإضافة إلى فئات تغليف C++ لتسهيل البرمجة بلغة C++، وعناصر تحكم ActiveX لتمكين تطوير Visual Basic بتقنية السحب والإفلات . تم توفيرها كجزء من حزمة تطوير برمجية (SDK) تتضمن محركات التعرف والتوليف. كما تم توفيرها (مع محركات التوليف فقط) مع نظام التشغيل Windows 2000 .
كانت المكونات الرئيسية لواجهة برمجة التطبيقات SAPI 4 (والتي كانت جميعها متوفرة بلغات C++ وCOM وActiveX) هي:
- الأوامر الصوتية - كائنات عالية المستوى للتعرف على الكلام الخاص بالأوامر والتحكم
- الإملاء الصوتي - كائنات عالية المستوى للتعرف على الكلام أثناء الإملاء المستمر
- فويس توك - كائنات عالية المستوى لتوليف الكلام
- الاتصالات الصوتية - كائنات لكتابة تطبيقات التحدث عبر الهاتف
- التعرف المباشر على الكلام - عناصر للتحكم المباشر في محرك التعرف
- تحويل النص إلى كلام مباشر - عناصر للتحكم المباشر في محرك التوليف
- كائنات الصوت - للقراءة من وإلى جهاز أو ملف صوتي
عائلة واجهات برمجة التطبيقات SAPI 5
تم إصدار الإصدار 5.0 من Speech SDK ، الذي يتضمن وقت تشغيل SAPI 5.0، في عام 2000. وكان هذا إعادة تصميم كاملة عن الإصدارات السابقة، ولم تتمكن المحركات أو التطبيقات التي تستخدم إصدارات أقدم من SAPI من استخدام الإصدار الجديد دون تعديل كبير.
تضمن تصميم واجهة برمجة التطبيقات الجديدة فصلًا تامًا بين التطبيق والمحرك، بحيث تُوجَّه جميع الاستدعاءات عبر ملف sapi.dll الخاص بوقت التشغيل. ويهدف هذا التغيير إلى جعل واجهة برمجة التطبيقات أكثر استقلالية عن المحرك، مما يمنع التطبيقات من الاعتماد غير المقصود على ميزات محرك معين. إضافةً إلى ذلك، يهدف هذا التغيير إلى تسهيل دمج تقنية الكلام في التطبيق بشكل كبير، وذلك بنقل بعض أكواد الإدارة والتهيئة إلى وقت التشغيل.
كانت واجهة برمجة التطبيقات الجديدة في البداية واجهة COM خالصة، وكان استخدامها سهلاً فقط من خلال لغتي C/C++. أُضيفت لاحقًا دعم لغات VB ولغات البرمجة النصية. وكانت أنظمة التشغيل المدعومة تبدأ من Windows 98 و NT 4.0 فصاعدًا.
تشمل الميزات الرئيسية لواجهة برمجة التطبيقات ما يلي:
- مُعرِّف مشترك . بالنسبة لتطبيقات التعرف على الكلام على أجهزة سطح المكتب، يمكن استخدام كائن مُعرِّف يعمل في عملية منفصلة ( sapisvr.exe ). تتواصل جميع التطبيقات التي تستخدم المُعرِّف المشترك مع هذه النسخة الواحدة. يتيح ذلك مشاركة الموارد، ويزيل التنازع على الميكروفون، ويوفر واجهة مستخدم موحدة للتحكم في جميع تطبيقات الكلام.
- مُعرِّف داخل العملية . بالنسبة للتطبيقات التي تتطلب تحكمًا صريحًا في عملية التعرف، يمكن استخدام كائن مُعرِّف داخل العملية بدلاً من الكائن المشترك.
- كائنات القواعد النحوية . تُستخدم قواعد الكلام لتحديد الكلمات التي يستمع إليها نظام التعرف على الكلام. يُعرّف معيار SAPI 5 ترميز XML لتحديد القواعد النحوية، بالإضافة إلى آليات لإنشائها ديناميكيًا في التعليمات البرمجية. كما توجد طرق لتوجيه نظام التعرف على الكلام لتحميل نموذج لغة إملاء مُدمج.
- كائن الصوت . يقوم هذا الكائن بتوليف الكلام، مُنتجًا دفقًا صوتيًا من نص. يمكن استخدام لغة ترميز (مشابهة للغة XML، ولكنها ليست XML تمامًا) للتحكم في عملية التوليف.
- واجهات الصوت . يتضمن وقت التشغيل كائنات لإدخال الصوت من الميكروفون أو إخراجه إلى مكبرات الصوت (أو أي جهاز صوتي آخر)؛ بالإضافة إلى إرسال واستقبال ملفات الصوت. كما يُمكن كتابة كائن صوتي مخصص لبث الصوت من وإلى موقع غير قياسي.
- كائن معجم المستخدم . يسمح هذا بإضافة كلمات ونطق مخصصة من قِبل المستخدم أو التطبيق. تُضاف هذه الكلمات والنطق إلى المعاجم المدمجة في محرك التعرف أو التوليف.
- رموز الكائنات . هذا مفهوم يسمح بتسجيل محركات التعرف على الكلام وتحويل النص إلى كلام، والكائنات الصوتية، والمعاجم، وفئات أخرى من الكائنات، وتعدادها، وإنشائها بطريقة مشتركة.
SAPI 5.0
صدرت هذه النسخة في أواخر عام 2000 كجزء من حزمة تطوير البرامج الصوتية (Speech SDK) الإصدار 5.0، إلى جانب محركات التعرف على الكلام وتوليفه من الإصدار 5.0. دعمت محركات التعرف على الكلام الإملاء المستمر والتحكم، وصدرت بنسخ من الإنجليزية الأمريكية واليابانية والصينية المبسطة . في نظام الإنجليزية الأمريكية، توفرت نماذج صوتية خاصة لكلام الأطفال وكلام المكالمات الهاتفية. كان محرك توليف الكلام متوفرًا باللغتين الإنجليزية والصينية. كما صدرت هذه النسخة من واجهة برمجة التطبيقات (API) ومحركات التعرف على الكلام ضمن حزمة مايكروسوفت أوفيس إكس بي في عام 2001.
SAPI 5.1
تم إصدار هذه النسخة في أواخر عام 2001 كجزء من حزمة تطوير البرامج الصوتية (Speech SDK) الإصدار 5.1. أُضيفت واجهات متوافقة مع التشغيل الآلي إلى واجهة برمجة التطبيقات (API) للسماح باستخدامها من Visual Basic، ولغات البرمجة النصية مثل JScript ، والتعليمات البرمجية المُدارة . تم تضمين هذه النسخة من واجهة برمجة التطبيقات ومحركات تحويل النص إلى كلام في نظام التشغيل Windows XP . كما يتضمن Windows XP Tablet PC Edition وOffice 2003 هذه النسخة، ولكن مع محرك التعرف المُحسّن بشكل كبير (الإصدار 6) ودعم اللغة الصينية التقليدية .
SAPI 5.2
كانت هذه نسخة خاصة من واجهة برمجة التطبيقات (API) مخصصة للاستخدام في خادم مايكروسوفت للكلام الذي تم إصداره عام 2004. وقد أضافت هذه النسخة دعمًا للغتي ترميز SRGS و SSML ، بالإضافة إلى ميزات إضافية للخادم وتحسينات في الأداء. كما تم تزويد خادم الكلام بمحرك التعرف على الكلام المكتبي الإصدار 6 ومحرك التعرف على الكلام للخادم الإصدار 7.
SAPI 5.3
هذه هي نسخة واجهة برمجة التطبيقات (API) التي تأتي مع نظام التشغيل Windows Vista ، بالإضافة إلى محركات التعرف على الكلام وتوليفه الجديدة. وبما أن ميزة التعرف على الكلام في Windows أصبحت الآن جزءًا لا يتجزأ من نظام التشغيل، فإن حزمة تطوير البرامج (SDK) الخاصة بالكلام وواجهات برمجة التطبيقات (APIs) تُعد جزءًا من حزمة تطوير البرامج (SDK) الخاصة بنظام Windows . تتضمن واجهة برمجة التطبيقات SAPI 5.3 الميزات الجديدة التالية:
- يدعم البرنامج قواعد W3C XML الخاصة بالنطق لأغراض التعرف على الكلام وتوليفه. توفر لغة ترميز توليف الكلام (SSML) الإصدار 1.0 إمكانية تحديد خصائص الصوت، وسرعته، ومستوى صوته، ودرجة نبرته، وتشديده، ونطقه.
- تدعم مواصفات قواعد التعرف على الكلام ( SRGS) تعريف القواعد الخالية من السياق، مع وجود قيدين:
- لا يدعم استخدام SRGS لتحديد قواعد التردد المعدل ثنائي النغمة (نغمة اللمس).
- لا يدعم هذا النظام شكل باكوس-ناور المعزز (ABNF).
- يدعم SAPI 5.3 إضافة تعليقات توضيحية بلغة جافا سكريبت إلى قواعد SRGS لتفسيرها دلالياً، وذلك لتكملة النص المُتعرف عليه.
- تتيح خاصية الاختصارات المُخصصة من قِبل المستخدم في المعاجم إمكانية إضافة سلسلة نصية إلى المعجم وربطها بكلمة مختصرة. عند الإملاء، يمكن للمستخدم نطق الكلمة المختصرة، وسيقوم نظام التعرف على الكلمات بإرجاع السلسلة النصية الكاملة.
- توفر الأنواع الجديدة وظائف إضافية وسهولة في البرمجة.
- تحسينات في الأداء، وموثوقية محسّنة، وأمان.
- الإصدار الثامن من محرك التعرف على الكلام ("Microsoft Speech Recognizer")
SAPI 5.4
هذه نسخة محدثة من واجهة برمجة التطبيقات (API) التي تأتي مع نظام التشغيل ويندوز 7 .
أصوات سابي 5
يُعدّ صوت Microsoft Sam أحد الأصوات الشائعة في نظام SAPI 5. بالإضافة إلى ذلك، كان نظاما Microsoft Office XP و Office 2003 يُثبّتان صوتي L&H Michael وMichelle. ويُثبّت برنامج SAPI 5.1 SDK ثلاثة أصوات إضافية هي Mike و Mary ، بالإضافة إلى صوت اختبار إضافي يُعرف باسم Sample TTS Voice ، والذي يستخدم تسجيلات صوتية مُسبقة بدلاً من الأصوات المُصنّعة. يتضمن نظاما Windows Vista و 7 صوت Microsoft Anna الذي يحل محل Microsoft Sam، ويتميز بصوت أكثر طبيعية ووضوحًا؛ كما يُثبّت أيضًا على نظام Windows XP بواسطة Microsoft Streets & Trips 2006 والإصدارات الأحدث. وتتضمن النسخة الصينية من Vista و7 أيضًا صوتًا أنثويًا يُدعى Microsoft Lili . أما نظام Windows 8 والإصدارات الأحدث من Windows، فتتضمن أصوات Microsoft David و Zira و Hazel ، ويُثبّت الأخير افتراضيًا فقط على نظامي Windows 8 و 8.1 . وقد حلّت هذه الأصوات محل Microsoft Anna، وتتميز بصوت أكثر طبيعية ووضوحًا من الأصوات السابقة.
واجهة برمجة تطبيقات الكلام ذات التعليمات البرمجية المُدارة
تُضمَّن واجهة برمجة تطبيقات (API) للبرمجيات المُدارة كجزء من إطار عمل .NET Framework 3.0 . [ 1 ] وهي تُشابه في وظائفها واجهة برمجة تطبيقات البرمجيات المُدارة SAPI 5، ولكنها أكثر ملاءمةً للاستخدام في تطبيقات البرمجيات المُدارة. تتوفر واجهة برمجة التطبيقات الجديدة على أنظمة التشغيل Windows XP و Windows Server 2003 و Windows Vista و Windows Server 2008 .
يمكن أيضًا استخدام واجهة برمجة التطبيقات SAPI 5 الحالية من خلال التعليمات البرمجية المُدارة، ولكن بشكل محدود، وذلك بإنشاء رمز COM Interop (رمز مساعد مصمم لتسهيل الوصول إلى واجهات وفئات COM). يُجدي هذا نفعًا في بعض الحالات، إلا أن واجهة برمجة التطبيقات الجديدة ستوفر تجربة أكثر سلاسة تُضاهي استخدام أي مكتبة أخرى للتعليمات البرمجية المُدارة.
مع ذلك، يتمثل العائق الرئيسي أمام الانتقال من COM Interop في وجود تسريبات طفيفة للذاكرة في التنفيذ المُدار ، مما يؤدي إلى تجزئة الذاكرة ويستبعد استخدام المكتبة في أي تطبيقات غير بسيطة. وكحل بديل، اقترحت مايكروسوفت استخدام واجهة برمجة تطبيقات مختلفة، ذات عدد أقل من الأصوات. [ 2 ]
وظيفة الكلام في نظام التشغيل ويندوز فيستا
يتضمن نظام التشغيل ويندوز فيستا عددًا من الميزات الجديدة المتعلقة بالكلام، بما في ذلك:
- التحكم الصوتي في واجهة المستخدم الرسومية الكاملة لنظام التشغيل Windows والتطبيقات
- برنامج تعليمي جديد، ومعالج للميكروفون، وواجهة مستخدم للتحكم في التعرف على الكلام
- إصدار جديد من بيئة تشغيل واجهة برمجة تطبيقات الكلام: SAPI 5.3
- محرك التعرف على الكلام المدمج والمحدث (الإصدار 8)
- محرك توليف الكلام الجديد وصوت SAPI من مايكروسوفت آنا
- واجهة برمجة تطبيقات الكلام المُدارة (الاسم الرمزي: SpeechFX)
- يدعم التعرف على الكلام 8 لغات عند الإصدار: الإنجليزية الأمريكية، والإنجليزية البريطانية، والصينية التقليدية، والصينية المبسطة، واليابانية، والإسبانية، والفرنسية، والألمانية، مع إضافة المزيد من اللغات لاحقًا.
يستخدم برنامج Microsoft Agent بشكل خاص، وجميع تطبيقات الكلام الأخرى من Microsoft، بروتوكول SAPI 5.
التوافق
تتوافق واجهة برمجة تطبيقات الكلام مع أنظمة التشغيل التالية: [ 3 ] [ 4 ]
سابي 5
القائمة كما في إصدار SAPI 5.1: [ 3 ] [ 4 ]
- مايكروسوفت ويندوز سيرفر 2003
- مايكروسوفت ويندوز إكس بي (الإصدار المنزلي، والإصدار الاحترافي، وما إلى ذلك)
- مايكروسوفت ويندوز إصدار الألفية
- مايكروسوفت ويندوز 2000
- مايكروسوفت ويندوز 98
- مايكروسوفت ويندوز إن تي 4.0 ، حزمة الخدمة 6أ، باللغات الإنجليزية واليابانية والصينية المبسطة.
تتوافق الإصدارات الأحدث من SAPI 5 (مثل SAPI 5.3 وما فوق) مع أنظمة التشغيل التالية:
سابي 4
التطبيقات الرئيسية التي تستخدم SAPI
- يتضمن إصدار Microsoft Windows XP Tablet PC تقنية SAPI 5.1 ومحركات التعرف على الكلام 6.1 للغات الإنجليزية واليابانية والصينية (المبسطة والتقليدية).
- التعرف على الكلام في نظام التشغيل ويندوز فيستا والإصدارات الأحدث
- برنامج Microsoft Narrator في نظام التشغيل Windows 2000 والإصدارات الأحدث من أنظمة تشغيل Windows
- مايكروسوفت أوفيس إكس بي وأوفيس 2003
- مايكروسوفت إكسل 2002، ومايكروسوفت إكسل 2003، ومايكروسوفت إكسل 2007 لبيانات جداول البيانات الناطقة
- أوامر مايكروسوفت الصوتية لنظام التشغيل ويندوز بوكيت بي سي وويندوز موبايل
- Microsoft Plus! الأوامر الصوتية لـ Windows Media Player
- يستخدم برنامج Adobe Reader ميزة الإخراج الصوتي لقراءة محتوى المستند
- CoolSpeech ، تطبيق لتحويل النص إلى كلام يقرأ النصوص بصوت عالٍ من مصادر متنوعة
- قارئ الشاشة Window-Eyes
- قارئ الشاشة JAWS
- برنامج NonVisual Desktop Access (NVDA)، وهو قارئ شاشة مجاني ومفتوح المصدر
انظر أيضاً
- مقارنة بين أجهزة توليف الكلام
- قائمة برامج التعرف على الكلام
- SASDK – مجموعة تطوير تطبيقات الكلام من مايكروسوفت
مراجع
- ↑ مايكل دان. "توليف الكلام والتعرف عليه في .NET - امنح التطبيقات صوتًا" . أخبار مطوري ريدموند . تم الاسترجاع في 9 نوفمبر 2011 .أُرشف بتاريخ 14 يناير 2010 في أرشيف الإنترنت (Wayback Machine).
- ↑ النظام. الكلام يعاني من تسرب للذاكرة | مايكروسوفت كونكت . Connect.microsoft.com. تم الاطلاع عليه بتاريخ 27-09-2013.
- 1 2 شركة مايكروسوفت. "متطلبات نظام SAPI" . MSDN. مؤرشف من الأصل بتاريخ 22-08-2005 . تم الاطلاع عليه بتاريخ 12-04-2006 .
- ١ ٢ "مرحباً بكم في Microsoft Speech SDK - وثائق Microsoft Speech SDK" . documentation.help . تم الاطلاع عليه بتاريخ ٢٠ يونيو ٢٠٢٥ .
روابط خارجية
- واجهات برمجة تطبيقات مايكروسوفت
- برامج معالجة الكلام
- تقنية الصوت
