الأمازون بولي هي خدمة تحول النص إلى كلام نابض بالحياة. إنه يمكّن من تطوير فئة كاملة من التطبيقات التي يمكنها تحويل النص إلى كلام بلغات متعددة.
يمكن استخدام هذه الخدمة بواسطة برامج الدردشة والكتب الصوتية وتطبيقات تحويل النص إلى كلام الأخرى جنبًا إلى جنب مع خدمات AWS AI أو خدمات التعلم الآلي (ML) الأخرى. على سبيل المثال، أمازون ليكس يمكن دمج Amazon Polly لإنشاء روبوت محادثة يشارك في محادثة ثنائية الاتجاه مع مستخدم ويقوم بمهام معينة بناءً على أوامر المستخدم. الأمازون النسخ, ترجمة أمازون، ويمكن دمج Amazon Polly لتحويل الكلام إلى نص بلغة المصدر وترجمته إلى لغة مختلفة والتحدث بها.
في هذا المنشور ، نقدم أسلوبًا مثيرًا للاهتمام لإبراز النص أثناء التحدث به باستخدام Amazon Polly. يمكن استخدام هذا الحل في العديد من تطبيقات تحويل النص إلى كلام للقيام بما يلي:
- أضف إمكانيات مرئية إلى الصوت في الكتب والمواقع والمدونات
- زيادة الفهم عندما يحاول العملاء فهم النص بسرعة أثناء نطقه
يمنح حلنا العميل (المتصفح ، في هذا المثال) ، القدرة على معرفة النص (الكلمة أو الجملة) الذي يتحدث به Amazon Polly في أي لحظة. يتيح ذلك للعميل تمييز النص ديناميكيًا أثناء نطقه. هذه القدرة مفيدة في تقديم المساعدة البصرية للكلام لحالات الاستخدام المذكورة سابقًا.
يمكن تمديد حلنا لأداء مهام إضافية إلى جانب تمييز النص. على سبيل المثال ، يمكن للمتصفح عرض الصور أو تشغيل الموسيقى أو أداء رسوم متحركة أخرى على الواجهة الأمامية أثناء نطق النص. هذه الإمكانية مفيدة لإنشاء كتب صوتية ديناميكية ومحتوى تعليمي وتطبيقات أكثر ثراءً لتحويل النص إلى كلام.
حل نظرة عامة
في جوهره ، يستخدم الحل Amazon Polly لتحويل سلسلة من النص إلى كلام. يمكن إدخال النص من المتصفح أو من خلال استدعاء واجهة برمجة التطبيقات إلى نقطة النهاية المكشوفة بواسطة حلنا. يتم تخزين الكلام الذي تولده Amazon Polly كملف صوتي (تنسيق MP3) بتنسيق خدمة تخزين أمازون البسيطة دلو (أمازون S3).
ومع ذلك ، باستخدام الملف الصوتي وحده ، لا يمكن للمتصفح العثور على أجزاء النص التي يتم نطقها في أي لحظة لأننا لا نملك معلومات دقيقة حول وقت نطق كل كلمة.
يوفر Amazon Polly طريقة للحصول على ذلك باستخدام علامات الكلام. يتم تخزين علامات الكلام في ملف نصي يعرض الوقت (يقاس بالملي ثانية من بداية الصوت) عند نطق كل كلمة أو جملة.
يعرض Amazon Polly كائنات علامة الكلام في دفق JSON محدد بسطر. يحتوي كائن علامة الكلام على الحقول التالية:
- الوقت: - الطابع الزمني بالمللي ثانية من بداية دفق الصوت المقابل
- النوع - نوع علامة الكلام (جملة ، كلمة ، viseme ، أو SSML)
- آبدأ - الإزاحة بالبايت (وليس بالأحرف) لبداية الكائن في نص الإدخال (لا يشمل علامات الرؤية)
- النهاية - الإزاحة بالبايت (وليس بالأحرف) لنهاية الكائن في نص الإدخال (لا تشمل علامات الرؤية)
- القيم - يختلف هذا حسب نوع علامة الكلام:
- اس اس ام ال - علامة SSML
- فيسيم - الاسم المرئي
- كلمة أو عقوبة - سلسلة فرعية من نص الإدخال كما هو محدد بواسطة حقلي البداية والنهاية
على سبيل المثال ، يمكن أن تمنحك الجملة "Mary had a little lamb" ملف علامات الكلام التالي إذا كنت تستخدمه SpeechMarkTypes
= ["كلمة" ، "جملة"] في استدعاء واجهة برمجة التطبيقات للحصول على علامات الكلام:
تبدأ كلمة "had" (في نهاية السطر 3) 373 مللي ثانية بعد أن يبدأ دفق الصوت ، ويبدأ عند البايت 5 ، وينتهي عند البايت 8 من نص الإدخال.
نظرة عامة على العمارة
يتم عرض بنية الحل الخاص بنا في الرسم البياني التالي.
يتم تخزين موقعنا الإلكتروني الخاص بالحل على Amazon S3 كملفات ثابتة (JavaScript ، HTML) ، والتي يتم استضافتها في الأمازون CloudFront (1) ويتم تقديمها إلى متصفح المستخدم النهائي (2).
عندما يقوم المستخدم بإدخال نص في المتصفح من خلال نموذج HTML بسيط ، تتم معالجته بواسطة JavaScript في المتصفح. هذا يستدعي API (3) من خلال بوابة أمازون API، لاستدعاء ملف AWS لامدا وظيفة (4). تقوم وظيفة Lambda باستدعاء Amazon Polly (5) لإنشاء ملفات الكلام (الصوت) وعلامات الكلام (JSON). يتم إجراء مكالمتين إلى Amazon Polly لجلب ملفات علامات الصوت والكلام. يتم إجراء المكالمات باستخدام وظائف JavaScript غير المتزامنة. ناتج هذه المكالمات هو ملفات علامات الصوت والكلام المخزنة في Amazon S3 (6a). لتجنب قيام العديد من المستخدمين بالكتابة فوق ملفات بعضهم البعض في حاوية S3 ، يتم تخزين الملفات في مجلد بطابع زمني. يقلل هذا من فرص قيام مستخدمين بالكتابة فوق ملفات بعضهما البعض في Amazon S3. بالنسبة لإصدار الإنتاج ، يمكننا استخدام أساليب أكثر قوة لفصل ملفات المستخدمين بناءً على معرف المستخدم أو الطابع الزمني والخصائص الفريدة الأخرى.
تقوم وظيفة Lambda بإنشاء عناوين URL موقعة مسبقًا لملفات علامات الكلام والكلام وإعادتها إلى المتصفح في شكل مصفوفة (7 ، 8 ، 9).
عندما يرسل المستعرض الملف النصي إلى نقطة نهاية API (3) ، فإنه يستعيد عنواني URL موقعين مسبقًا للملف الصوتي وملف علامات الكلام في استدعاء واحد متزامن (9). يشار إلى ذلك من خلال رمز المفتاح بجوار السهم.
تقوم وظيفة JavaScript في المستعرض بجلب ملف علامات الكلام والصوت من مقابض URL الخاصة بهم (10). يقوم بإعداد مشغل الصوت لتشغيل الصوت. (يتم استخدام علامة HTML الصوتية لهذا الغرض).
عندما ينقر المستخدم على زر التشغيل ، فإنه يوزع علامات الكلام التي تم استردادها في الخطوة السابقة لإنشاء سلسلة من الأحداث المحددة بوقت باستخدام المهلات. تستدعي الأحداث وظيفة رد الاتصال ، وهي وظيفة JavaScript أخرى تُستخدم لتمييز النص المنطوق في المتصفح. في نفس الوقت ، تقوم وظيفة JavaScript بدفق الملف الصوتي من عنوان URL الخاص به.
والنتيجة هي أن الأحداث يتم تشغيلها في الأوقات المناسبة لتمييز النص أثناء نطقه أثناء تشغيل الصوت. يوفر لنا استخدام مهلات JavaScript مزامنة الصوت مع النص المميز.
المتطلبات الأساسية المسبقة
لتشغيل هذا الحل ، أنت بحاجة إلى ملف حساب AWS مع إدارة الهوية والوصول AWS (IAM) لديه إذن لاستخدام Amazon CloudFront و Amazon API Gateway و Amazon Polly و Amazon S3 و AWS Lambda و AWS Step Functions.
استخدم Lambda لإنشاء علامات الكلام والكلام
الكود التالي يستدعي Amazon Polly synthesize_speech
تعمل مرتين لجلب ملف علامات الصوت والكلام. يتم تشغيلها كوظائف غير متزامنة ومنسقة لإرجاع النتيجة في نفس الوقت باستخدام الوعود.
على جانب JavaScript ، يتم تمييز النص بواسطة أداة التمييز (البداية ، النهاية ، الكلمة) ويتم تعيين الأحداث الموقوتة بواسطة setTimers()
:
النهج البديلة
بدلاً من النهج السابق ، يمكنك التفكير في بعض البدائل:
- قم بإنشاء كل من علامات الكلام والملفات الصوتية داخل جهاز حالة Step Functions. يمكن لجهاز الحالة استدعاء شرط الفرع المتوازي لاستدعاء وظيفتين مختلفتين في Lambda: واحدة لتوليد الكلام والأخرى لإنشاء علامات الكلام. يمكن العثور على رمز هذا في ملف باستخدام وظائف الخطوة مجلد فرعي في Github repo.
- يمكنك استدعاء Amazon Polly بشكل غير متزامن لإنشاء علامتي الصوت والكلام. يمكن استخدام هذا الأسلوب إذا كان محتوى النص كبيرًا أو لا يحتاج المستخدم إلى استجابة في الوقت الفعلي. لمزيد من التفاصيل حول إنشاء ملفات صوتية طويلة ، راجع إنشاء ملفات صوتية طويلة.
- اطلب من Amazon Polly إنشاء عنوان URL المحدد مسبقًا باستخدام ملف
generate_presigned_url
الاتصال بعميل Amazon Polly في Boto3. إذا اتبعت هذا النهج ، فإن Amazon Polly تنشئ علامات الصوت والكلام حديثًا في كل مرة. في نهجنا الحالي ، نقوم بتخزين هذه الملفات في Amazon S3. على الرغم من أنه لا يمكن الوصول إلى هذه الملفات المخزنة من المتصفح في إصدارنا من الكود ، يمكنك تعديل الكود لتشغيل الملفات الصوتية التي تم إنشاؤها مسبقًا عن طريق جلبها من Amazon S3 (بدلاً من إعادة إنشاء الصوت للنص مرة أخرى باستخدام Amazon Polly). لدينا المزيد أمثلة التعليمات البرمجية للوصول إلى Amazon Polly باستخدام Python في مكتبة أكواد AWS.
اصنع الحل
الحل الكامل متاح من موقعنا جيثو الريبو. لإنشاء هذا الحل في حسابك ، اتبع التعليمات الموجودة في ملف README.md. يتضمن الحل ملف تكوين سحابة AWS نموذج لتوفير الموارد الخاصة بك.
تنظيف
لتنظيف الموارد التي تم إنشاؤها في هذا العرض التوضيحي ، قم بتنفيذ الخطوات التالية:
- احذف حاويات S3 التي تم إنشاؤها لتخزين قالب CloudFormation (Bucket A) وكود المصدر (Bucket B) وموقع الويب (
pth-cf-text-highlighter-website-[Suffix]
). - احذف مكدس CloudFormation
pth-cf
. - احذف حاوية S3 التي تحتوي على ملفات الكلام (
pth-speech-[Suffix]
). تم إنشاء هذا المستودع بواسطة قالب CloudFormation لتخزين ملفات علامات الصوت والكلام التي تم إنشاؤها بواسطة Amazon Polly.
نبذة عامة
في هذا المنشور ، أظهرنا مثالًا على حل يمكنه تمييز النص أثناء التحدث باستخدام Amazon Polly. تم تطويره باستخدام ميزة علامات الكلام Amazon Polly ، والتي توفر لنا علامات للمكان الذي تبدأ فيه كل كلمة أو جملة في ملف صوتي.
الحل متاح كقالب CloudFormation. يمكن نشره كما هو مع أي تطبيق ويب يقوم بتحويل النص إلى كلام. قد يكون هذا مفيدًا لإضافة إمكانيات بصرية إلى الصوت في الكتب ، والأفاتار مع إمكانيات مزامنة الشفاه (باستخدام علامات الكلام المرئية) ، ومواقع الويب ، والمدونات ، ولمساعدة الأشخاص الذين يعانون من ضعف السمع.
يمكن تمديده لأداء مهام إضافية إلى جانب تمييز النص. على سبيل المثال ، يمكن للمتصفح عرض الصور وتشغيل الموسيقى وإجراء حركات أخرى على الواجهة الأمامية أثناء نطق النص. يمكن أن تكون هذه الإمكانية مفيدة لإنشاء كتب صوتية ديناميكية ومحتوى تعليمي وتطبيقات أكثر ثراءً لتحويل النص إلى كلام.
نرحب بك لتجربة هذا الحل ومعرفة المزيد عن خدمات AWS ذات الصلة من الروابط التالية. يمكنك تمديد الوظائف لاحتياجاتك الخاصة.
عن المؤلف
فاراد جي فاراداراجان هو مستشار موثوق به ورئيس قسم التكنولوجيا الميداني لعملاء الأعمال الرقمية الأصلية (DNB) في AWS. يساعدهم في تصميم وبناء حلول مبتكرة على نطاق واسع باستخدام منتجات وخدمات AWS. مجالات اهتمام فاراد هي استشارات استراتيجية تكنولوجيا المعلومات ، والهندسة المعمارية ، وإدارة المنتجات. خارج العمل ، يستمتع فاراد بالكتابة الإبداعية ومشاهدة الأفلام مع العائلة والأصدقاء والسفر.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- PlatoData.Network Vertical Generative Ai. تمكين نفسك. الوصول هنا.
- أفلاطونايستريم. ذكاء Web3. تضخيم المعرفة. الوصول هنا.
- أفلاطون السيارات / المركبات الكهربائية ، كربون، كلينتك ، الطاقة، بيئة، شمسي، إدارة المخلفات. الوصول هنا.
- BlockOffsets. تحديث ملكية الأوفست البيئية. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/highlight-text-as-its-being-spoken-using-amazon-polly/
- :لديها
- :يكون
- :ليس
- $ UP
- 1
- 10
- 100
- 11
- 12
- 17
- 19
- 22
- 23
- 33
- 7
- 8
- 9
- a
- القدرة
- من نحن
- الوصول
- يمكن الوصول
- الوصول
- حسابي
- مضيفا
- إضافي
- المستشار
- بعد
- مرة أخرى
- AI
- مساعدة
- وحده
- بالبدائل
- بالرغم ان
- أمازون
- بوابة أمازون API
- الأمازون بولي
- أمازون ويب سيرفيسز
- an
- و
- الرسوم المتحركة
- آخر
- أي وقت
- API
- تطبيق
- التطبيقات
- نهج
- اقتراب
- مناسب
- هندسة معمارية
- هي
- المناطق
- مجموعة
- AS
- At
- سمعي
- متاح
- الآلهة
- تجنب
- ترقب
- AWS
- AWS لامدا
- وظائف خطوة AWS
- الى الخلف
- على أساس
- BE
- لان
- البداية
- يجري
- بالإضافة إلى
- المدونة
- كُتُب
- على حد سواء
- الفرع
- المتصفح
- نساعدك في بناء
- الأعمال
- زر
- by
- دعوة
- دعوات
- CAN
- قدرات
- قدرة
- الحالات
- معين
- فرص
- الخصائص
- الأحرف
- chatbot
- chatbots
- فئة
- زبون
- الكود
- الجمع بين
- حالة
- بالتزامن
- نظر
- كنسولات
- الاستشارات
- يحتوي
- محتوى
- استمر
- محادثة
- تحويل
- تحول
- منسق
- جوهر
- المقابلة
- خلق
- خلق
- يخلق
- خلق
- الإبداع
- CTO
- حالياًّ
- العملاء
- عرض
- اعتمادا
- نشر
- تفاصيل
- المتقدمة
- التطوير التجاري
- مختلف
- رقمي
- مباشرة
- DNB
- do
- وثيقة
- لا
- فعل
- لا
- ديناميكي
- حيوي
- كل
- في وقت سابق
- تربوي
- تمكن
- النهاية
- نقطة النهاية
- ينتهي
- يشغل
- يدخل
- كامل
- خطأ
- أحداث
- كل
- مثال
- أمثلة
- مكشوف
- مد
- للعائلات
- الميزات
- قليل
- حقل
- مجال
- قم بتقديم
- ملفات
- نهاية
- اتباع
- متابعيك
- في حالة
- النموذج المرفق
- شكل
- وجدت
- الاصدقاء
- تبدأ من
- جبهة
- نهاية المقدمة
- وظيفة
- وظيفة
- وظائف
- بوابة
- توليد
- ولدت
- يولد
- GitHub جيثب:
- منح
- يعطي
- Go
- كان
- مقبض
- مقابض
- يملك
- he
- السمع
- يساعد
- تسليط الضوء
- سلط الضوء
- تسليط الضوء
- استضافت
- HTML
- HTTP
- HTTPS
- i
- ID
- هوية
- if
- صور
- in
- يشمل
- بما فيه
- وأشار
- معلومات
- مبتكرة
- إدخال
- في الداخل
- لحظة
- بدلًا من ذلك
- تعليمات
- مصلحة
- وكتابة مواضيع مثيرة للاهتمام
- إلى
- يتضرع
- IT
- انها
- جافا سكريبت
- جسون
- القفل
- علم
- لغة
- اللغات
- كبير
- تعلم
- تعلم
- الطول
- اسمحوا
- المكتبة
- خط
- وصلات
- القليل
- طويل
- آلة
- آلة التعلم
- صنع
- إدارة
- كثير
- علامة
- المذكورة
- ML
- تعديل
- الأكثر من ذلك
- أفلام
- متعدد
- موسيقى
- محلي
- حاجة
- إحتياجات
- جديد
- حديثا
- التالي
- موضوع
- الأجسام
- تحصل
- of
- عوض
- on
- ONE
- or
- أخرى
- لنا
- خارج
- الناتج
- في الخارج
- موازية
- أجزاء
- مجتمع
- نفذ
- ينفذ
- إذن
- المكان
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- بلايستشن
- لعبت
- لاعب
- منشور
- يقدم
- قدم
- سابق
- سابقا
- معالجتها
- المنتج
- ادارة المنتج
- الإنتــاج
- المنتجات
- وعد
- وعود
- ويوفر
- توفير
- تقديم
- غرض
- بسرعة
- في الوقت الحقيقي
- الافراج عن
- ذات الصلة
- الموارد
- استجابة
- نتيجة
- عائد أعلى
- عائدات
- قوي
- يجري
- s
- نفسه
- حجم
- يرسل
- عقوبة
- مسلسلات
- الخدمة
- خدماتنا
- طقم
- باكجات
- إظهار
- أظهرت
- يظهر
- جانب
- الاشارات
- معا
- حل
- الحلول
- مصدر
- شفرة المصدر
- تحدث
- محدد
- خطاب
- تحدث
- كومة
- بداية
- يبدأ
- الولايه او المحافظه
- خطوة
- خطوات
- تخزين
- متجر
- تخزين
- الإستراتيجيات
- مجرى
- تيارات
- خيط
- هذه
- رمز
- تزامن
- TAG
- المهام
- قالب
- النص إلى كلام
- أن
- •
- المصدر
- الدولة
- من مشاركة
- منهم
- تشبه
- عبر
- الوقت
- موقوت
- مرات
- الطابع الزمني
- إلى
- ترجمه
- السفر
- افضل
- محاولة
- يتحول
- اثنان
- نوع
- فهم
- فريد من نوعه
- URL
- us
- تستخدم
- مستعمل
- مستخدم
- المستخدمين
- يستخدم
- استخدام
- قيمنا
- القيم
- الإصدار
- وكان
- مراقبة
- طريق..
- we
- الويب
- تطبيق ويب
- خدمات ويب
- الموقع الإلكتروني
- المواقع
- ترحيب
- ابحث عن
- متى
- التي
- في حين
- من الذى
- كامل
- مع
- كلمة
- للعمل
- سوف
- جاري الكتابة
- أنت
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت