تحويل الكلام إلى نص باستخدام واجهة برمجة تطبيقات تحويل الكلام إلى نص

تتيح لك واجهة برمجة تطبيقات Cloud Speech API تحويل الكلام إلى نص من الملفات الصوتية بأكثر من 80 لغة.

سنسجّل في هذا الدرس التطبيقي ملفًا صوتيًا ونرسله إلى Cloud Speech API لتحويل الصوت إلى نص.

ما ستتعرَّف عليه

  • إنشاء طلب Speech API واستدعاء واجهة برمجة التطبيقات باستخدام curl
  • استدعاء واجهة برمجة تطبيقات الكلام مع ملفات صوتية بلغات مختلفة

الأشياء التي تحتاج إليها

  • مشروع Google Cloud Platform
  • متصفح، مثل Chrome أو Firefox

كيف ستستخدم هذا البرنامج التعليمي؟

قراءة القراءة فقط قراءة القراءة وإكمال التدريبات

كيف تقيِّم تجربتك مع Google Cloud Platform؟

مبتدئ متوسط محترف

إعداد البيئة الذاتية

إذا لم يكن لديك حساب على Google (Gmail أو Google Apps)، يجب إنشاء حساب. تسجيل الدخول إلى وحدة تحكُّم Google Cloud Platform (console.cloud.google.com) وإنشاء مشروع جديد:

لقطة شاشة من 2016-02-10 الساعة 12:45:26.png

عذرًا! وسيُشار إليه لاحقًا في هذا الدرس التطبيقي بعنوان PROJECT_ID.

بعد ذلك، ستحتاج إلى تفعيل الفوترة في Cloud Console لاستخدام موارد Google Cloud.

من المفترض ألا يكلفك العمل على هذا الدرس التطبيقي أكثر من بضعة دولارات، ولكن قد يترتّب عليك أكثر إذا قررت استخدام المزيد من الموارد أو إذا تركتها قيد التشغيل (راجع قسم "عرض الأسعار التقديري" في نهاية هذا المستند).

يكون المستخدمون الجدد لخدمة Google Cloud Platform مؤهَّلين للاستفادة من فترة تجريبية مجانية تبلغ 300 دولار أمريكي.

انقر على رمز القائمة في أعلى يمين الشاشة.

اختَر لوحة بيانات APIs & Services (واجهات برمجة التطبيقات والخدمات) من القائمة المنسدلة.

انقر على Enable APIs and Services (تفعيل واجهات برمجة التطبيقات والخدمات).

بعد ذلك، ابحَث عن "speak" في مربّع البحث. انقر على Google Cloud Speech API:

انقر على تفعيل لتفعيل Cloud Speech API:

انتظر لبضع ثوانٍ حتى يتم تفعيله. سترى ذلك بعد أن يتم تفعيلها:

Google Cloud Shell هو بيئة سطر أوامر تعمل في السحابة الإلكترونية. يتمّ تحميل هذا الجهاز الافتراضي الذي يعتمد على Debian إلى جميع أدوات التطوير التي ستحتاجها (gcloud وbq وgit وغيرها) وتوفّر دليلاً رئيسيًا دائمًا بحجم 5 غيغابايت. سنستخدم Cloud Shell لإنشاء طلبنا لـ Speech API.

لبدء استخدام Cloud Shell، انقر على الرمز &quot؛تفعيل Google Cloud Shell" لقطة شاشة يوم 2015-06-08 الساعة 5.30.32 مساءً.png في أعلى يسار شريط العناوين.

يتم فتح جلسة Cloud Shell داخل إطار جديد في أسفل وحدة التحكّم وتعرض رسالة سطر أوامر. انتظر حتى يظهر user@project:~$ رسالة مطالبة

نظرًا لأننا سنستخدم curl لإرسال طلب إلى Speech API، سنحتاج إلى إنشاء مفتاح واجهة برمجة تطبيقات لإدخال عنوان URL للطلب. لإنشاء مفتاح واجهة برمجة تطبيقات، انتقِل إلى قسم واجهات برمجة التطبيقات &amp؛ الخدمات &gt؛ بيانات الاعتماد في لوحة بيانات المشروع:

بعد ذلك، انقر على إنشاء بيانات اعتماد:

في القائمة المنسدلة، اختَر مفتاح واجهة برمجة التطبيقات:

بعد ذلك، انسخ المفتاح الذي أنشأته للتو واختَر Close (إغلاق) (لا تقيّد المفتاح).

الآن وبعد أن حصلت على مفتاح واجهة برمجة التطبيقات، احفظه في متغيّر بيئة لتجنُّب الحاجة إلى إدراج قيمة مفتاح واجهة برمجة التطبيقات في كل طلب. ويمكنك إجراء ذلك في Cloud Shell. تأكد من استبدال <your_api_key> بالمفتاح الذي نسخته للتو.

export API_KEY=<YOUR_API_KEY>

يمكنك إنشاء طلبك لواجهة برمجة تطبيقات الكلام في ملف request.json. لإنشاء هذا الملف وتعديله، يمكنك استخدام أحد محرِّري سطر الأوامر المفضَّل لديك (nano أو vim أو emacs) أو استخدام محرِّر الويب المدمَج في Cloud Shell:

يمكنك إنشاء الملف في الدليل الرئيسي للرجوع إليه بسهولة وإضافة ما يلي إلى ملف request.json :

request.json

{
  "config": {
      "encoding":"FLAC",
      "languageCode": "en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
  }
}

نص الطلب يحتوي على كائن config وaudio. خلال config، سنعلِم واجهة Speech API كيفية معالجة الطلب. تُعلم المعلمة encoding واجهة برمجة التطبيقات بنوع الترميز الصوتي الذي تستخدمه للملف الصوتي الذي ترسله إلى واجهة برمجة التطبيقات. FLAC هو نوع الترميز لملفات .raw (يمكنك الاطِّلاع على المستندات لمعرفة نوع الترميز للحصول على مزيد من التفاصيل). هناك معلَمات أخرى يمكنك إضافتها إلى عنصر config، ولكن encoding هي المعلمة الوحيدة المطلوبة. سيتم تلقائيًا ضبط اللغة languageCode على اللغة الإنجليزية إذا تم استبعادها من الطلب.

في الكائن audio، يمكنك تمرير واجهة برمجة التطبيقات إما إلى معرف الموارد المنتظم (URI) للملف الصوتي في Cloud Storage أو الملف الصوتي بترميز base64. في ما يلي عناوين URL لخدمة Cloud Storage. وتتمثل الخطوة التالية في استدعاء Speech API.

يمكنك الآن تمرير نص طلبك، بالإضافة إلى متغير بيئة مفتاح واجهة برمجة التطبيقات الذي حفظته سابقًا، إلى Speech API باستخدام الأمر curl التالي (كل ذلك في سطر أوامر واحد):

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

يجب أن يظهر الرد الذي يعرضه هذا الأمر curl على النحو التالي:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

تعرض القيمة transcript نص الكلام لواجهة برمجة تطبيقات الكلام للملف الصوتي، بينما تشير القيمة confidence إلى مدى نجاح واجهة برمجة التطبيقات في تحويل الصوت إلى نص بشكل دقيق.

ستلاحظ أنّنا اتصلنا بطريقة recognize في طلبنا أعلاه. تدعم واجهة برمجة تطبيقات الكلام الكلام المكتوب بشكل متزامن وغير متزامن مع تحويل الصوت إلى نص. في هذا المثال، أرسلنا إليه ملفًا صوتيًا كاملاً، ولكن يمكنك أيضًا استخدام طريقة longrunningrecognize لإجراء بث مباشر تحويل الكلام إلى نص أثناء تواصل المستخدم.

هل أنت متعدد اللغات؟ توفّر واجهة برمجة تطبيقات الكلام تحويل الكلام إلى نص بأكثر من 100 لغة. يمكنك تغيير المعلمة languageCode في request.json. ويمكنك العثور على قائمة باللغات المعتمدة هنا.

لنجرّب ملفًا صوتيًا باللغة الفرنسية (استمع إليه هنا إذا كنت تريد معاينة). غيِّر طلب طلبك.json إلى ما يلي:

request.json

 {
  "config": {
      "encoding":"FLAC",
      "languageCode": "fr"
  },
  "audio": {
      "uri":"gs://speech-language-samples/fr-sample.flac"
  }
}

من المفترض أن يظهر لك الرد التالي:

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
          "confidence": 0.9710122
        }
      ]
    }
  ]
}

هذه جملة مأخوذة من قصة أطفال فرنسية شائعة. إذا كانت لديك ملفات صوتية بلغة أخرى، يمكنك محاولة إضافتها إلى Cloud Storage وتغيير المعلّمة languageCode في طلبك.

لقد تعلّمت كيفية إجراء تحويل صوتي إلى نص باستخدام واجهة برمجة تطبيقات الكلام. في هذا المثال، مرّرت واجهة برمجة تطبيقات معرّف الموارد المنتظم (URI) الخاصة بخدمة Google Cloud Storage للملف الصوتي. ويمكنك بدلاً من ذلك تمرير سلسلة مشفّرة من نوع base64 للمحتوى الصوتي.

المواضيع التي تناولناها

  • تمرير واجهة برمجة تطبيقات Speech API إلى معرّف الموارد المنتظم (URI) الخاص بخدمة Google Cloud Storage لملف صوتي
  • إنشاء طلب Speech API واستدعاء واجهة برمجة التطبيقات باستخدام curl
  • استدعاء واجهة برمجة تطبيقات الكلام مع ملفات صوتية بلغات مختلفة

الخطوات اللاحقة