عندما يبدأ PWA الخاص بك في الكلام

استخدام WaveNet لإضافة تركيب الكلام للمقالات

ما نتحدث عنه عندما نتحدث عن الكلام

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

الكيفية: تركيب الكلام

بعد إلقاء نظرة على بنية التطبيق الحالي ، تم تنفيذ سير العمل التالي لتحسين PWA من خلال توليف الكلام تلقائيًا ومشغل الصوت:

  1. تنفيذ التوليف عبر خدمة تحويل النص إلى كلام في GCP باستخدام خيار WaveNet السعر (كثيرًا) بدلاً من الخيار القياسي
  2. تخزين ملف mp3 الذي تم إنشاؤه في Firebase Storage ، وهو نظام ملفات بسيط مستضاف أيضًا في GCP ؛ يتكون اسم الملف من الرابط الثابت للمقالة والإعدادات المحلية المستخدمة ، والتي تعطيني معرفًا ضمنيًا وتتجنب إضافة مستند منفصل يحتفظ بالإشارة إلى جميع عناوين URL لخطاب معين
  3. ثم أتصل بالخطوتين أعلاه على خادم Vercel عند إنشاء أو تحديث صفحة مقالة ، والتي تحدث حاليًا كل 24 ساعة كحد أقصى
  4. استخدام التحميل البطيء لمشغل الويب في حالة توفر عنوان URL للصوت

من المهم أن تكون كسولًا

لا أرغب في الإضرار بأداء تحميل تطبيقات الويب (وبالتالي ترتيب محرك البحث) ، لذلك لا يتم تحميل مشغل الويب عند الطلب إلا بعد استيفاء شرطين:

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

لماذا ليست كل اللغات (في الوقت الحالي)؟

نظرًا لاستخدام WaveNet من Google كنموذج فعلي لتركيب الكلام ، يجب أن أضع تكاليف هذه الميزة في الاعتبار كنقطة رئيسية للقلق. يكلف استخدام WaveNet أربعة أضعاف تكلفة نموذج التوليف القياسي. ومع ذلك ، فقد اخترته لأن WaveNet يتفوق بشكل كبير على معظم الطرز الأخرى ، ليس فقط من Google نفسها ولكن أيضًا من IBM ، على سبيل المثال.

مجرد البداية

كانت هذه نظرة عامة سريعة على كيفية تنفيذ تركيب الكلام في الإصدار الأول من PWA. استغرق وقت الترميز بضع ساعات فقط ، حيث كنت أقوم بالفعل بتنفيذ معظم الإعداد من خلال كوني أحد عملاء GCP. تبدو المخرجات التي تم إنشاؤها جيدة بشكل لا يصدق ، مما يدل على نقاط القوة في WaveNet والأساليب القائمة على ML في الكلام وكذلك معالجة النص. قد يضيف التنفيذ المستقبلي القراءة بصوت عالٍ لجميع اللغات المدعومة. بناءً على الاستخدام والتكاليف في الأشهر القادمة ، سأحدد كيفية المتابعة في هذه الحالة.

توم