التسمية التوضيحية مع تحويل الكلام إلى نص

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

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

فيما يلي بعض السيناريوهات الشائعة للتسمية التوضيحية:

  • الدورات التدريبية عبر الإنترنت ومقاطع الفيديو الإرشادية
  • الأحداث الرياضية
  • مكالمات الصوت والفيديو

فيما يلي جوانب تجب مراعاتها عند استخدام التسمية التوضيحية:

  • اسمح للجمهور بمعرفة أن التسميات التوضيحية يتم إنشاؤها بواسطة خدمة تلقائية.
  • توسيط التسميات التوضيحية أفقياً على الشاشة، بخط كبير واضح.
  • ضع في اعتبارك ما إذا كنت تريد استخدام نتائج جزئية، ومتى تبدأ في عرض التسميات التوضيحية، وعدد الكلمات التي يجب إظهارها في كل مرة.
  • تعرف على بروتوكولات التسمية التوضيحية مثل SMPTE-TT.
  • ضع في اعتبارك تنسيقات الإخراج مثل SRT (نص SubRip) وWebVTT (مسارات نص فيديو ويب). يمكن تحميلها على معظم مشغلات الفيديو مثل VLC، وإضافة التسميات التوضيحية تلقائياً إلى الفيديو الخاص بك.

تلميح

جرب Speech Studio واختر عينة مقطع فيديو لمشاهدة نتائج التسمية التوضيحية المعالجة في الوقت الفعلي أو دون اتصال.

جرب Azure الذكاء الاصطناعي Video Indexer كعرض توضيحي لكيفية الحصول على تسميات توضيحية لمقاطع الفيديو التي تقوم بتحميلها.

يمكن أن تصاحب التسمية التوضيحية الكلام في الوقت الحقيقي أو الكلام المسجل مسبقا. سواء كنت تعرض تسميات توضيحية في الوقت الفعلي أو مع تسجيل، يمكنك استخدام Speech SDK أو Speech CLI للتعرف على الكلام والحصول على نسخ. يمكنك أيضاً استخدام واجهة برمجة تطبيقات النسخ الدفعي للفيديو المسجل مسبقاً.

تنسيق إخراج التسمية التوضيحية

تدعم خدمة Speech تنسيقات الإخراج مثل SRT (نص SubRip) وWebVTT (مسارات نص فيديو الويب). يمكن تحميلها على معظم مشغلات الفيديو مثل VLC، وإضافة التسميات التوضيحية تلقائياً إلى الفيديو الخاص بك.

تلميح

توفر خدمة الكلام خيارات تصفية الألفاظ النابية. يمكنك تحديد ما إذا كنت تريد إخفاء الألفاظ النابية أو إزالتها أو إظهارها.

تنسيق إخراج الفترة الزمنية SRT (نص العرض الفرعي) هو hh:mm:ss,fff.

1
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.

تنسيق إخراج الفترة الزمنية WebVTT (Web Video Text Tracks) هو hh:mm:ss.fff.

WEBVTT

00:00:00.180 --> 00:00:03.230
Welcome to applied Mathematics course 201.
{
  "ResultId": "8e89437b4b9349088a933f8db4ccc263",
  "Duration": "00:00:03.0500000"
}

إدخال الصوت إلى خدمة الكلام

للتسمية التوضيحية في الوقت الحقيقي، استخدم ميكروفون أو دفق إدخال صوت بدلا من إدخال الملف. للحصول على أمثلة حول كيفية التعرف على الكلام من ميكروفون، راجع التشغيل السريع للكلام إلى النصوكيفية التعرف على وثائق الكلام. لمزيد من المعلومات حول دفق البيانات، راجع كيفية استخدام دفق إدخال الصوت.

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

التسمية التوضيحية ومزامنة الكلام

تريد مزامنة التسميات التوضيحية مع مسار الصوت، سواء كان ذلك في الوقت الفعلي أو مع تسجيل مسبق.

تقوم خدمة الكلام بإرجاع الإزاحة ومدة الكلام الذي تم التعرُّف عليه.

  • Offset: الإزاحة في دفق الصوت الذي يتم التعرُّف عليه، ويتم التعبير عنها كمدة. يتم قياس الإزاحة بعلامات التجزئة، بدءاً من 0 علامة (صفر)، المرتبطة بأول بايت صوت تمت معالجته بواسطة SDK. على سبيل المثال، يبدأ الإزاحة عند بدء التعرُّف، حيث يبدأ SDK في معالجة دفق الصوت. علامة واحدة تمثل مائة نانوثانية أو واحداً من عشرة ملايين من الثانية.
  • Duration: مدة الكلام الذي يتم التعرُّف عليه. لا تشمل المدة في العلامات الصمت المتأخر أو البادئ.

لمزيد من المعلومات، راجع الحصول على نتائج التعرف على الكلام.

الحصول على نتائج جزئية

ضع في اعتبارك وقت بدء عرض التسميات التوضيحية، وعدد الكلمات التي يجب إظهارها في كل مرة. تخضع نتائج التعرف على الكلام للتغيير بينما لا يزال يتم التعرف على الكلام. يتم إرجاع النتائج الجزئية مع كل Recognizing حدث. عند معالجة كل كلمة، تعيد خدمة Speech تقييم الكلام في السياق الجديد وترجع مرة أخرى أفضل نتيجة. لا يضمن أن تكون النتيجة الجديدة هي نفسها النتيجة السابقة. يتم إرجاع النسخة المكتوبة الكاملة والنهائية للكلام مع Recognized الحدث.

إشعار

علامات ترقيم النتائج الجزئية غير متوفرة.

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

تقدم التسمية التوضيحية في الوقت الحقيقي مفاضلات فيما يتعلق وزمن الانتقال مقابل الدقة. يمكنك عرض النص من كل Recognizing حدث في أقرب وقت ممكن. ومع ذلك، إذا كان بإمكانك قبول بعض زمن الانتقال، يمكنك تحسين دقة التسمية التوضيحية عن طريق عرض النص من Recognized الحدث. هناك أيضاً بعض الأرض الوسطى، والتي يشار إليها باسم "نتائج جزئية مستقرة".

يمكنك طلب أن تقوم خدمة الكلام بإعادة عدد أقل من Recognizing الأحداث الأكثر دقة. يتم ذلك عن طريق تعيين الخاصية SpeechServiceResponse_StablePartialResultThreshold إلى قيمة بين 0 و2147483647. القيمة التي قمت بتعيينها هي عدد المرات التي يجب فيها التعرف على كلمة قبل أن ترجع خدمة الكلام حدث Recognizing. على سبيل المثال، إذا قمت بتعيين SpeechServiceResponse_StablePartialResultThreshold قيمة الخاصية إلى 5، فإن خدمة الكلام تؤكد التعرف على كلمة خمس مرات على الأقل قبل إرجاع النتائج الجزئية لك مع Recognizing حدث.

speechConfig.SetProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig->SetProperty(PropertyId::SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.SetProperty(common.SpeechServiceResponseStablePartialResultThreshold, 5)
speechConfig.setProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.setProperty(sdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
[self.speechConfig setPropertyTo:5 byId:SPXSpeechServiceResponseStablePartialResultThreshold];
self.speechConfig!.setPropertyTo(5, by: SPXPropertyId.speechServiceResponseStablePartialResultThreshold)
speech_config.set_property(property_id = speechsdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, value = 5)
spx recognize --file caption.this.mp4 --format any --property SpeechServiceResponse_StablePartialResultThreshold=5 --output vtt file - --output srt file -

يؤدي طلب نتائج جزئية أكثر استقرارا إلى تقليل "وميض" النص أو تغييره، ولكنه قد يزيد من زمن الانتقال بينما تنتظر نتائج ثقة أعلى.

مثال على عتبة جزئية مستقرة

في تسلسل التعرف التالي دون تعيين حد جزئي ثابت، يتم التعرف على "الرياضيات" ككلمة، ولكن يكون النص النهائي هو "علم الرياضيات". وفي نقطة أخرى، يتم التعرف على "الدورة 2"، ولكن يكون النص النهائي هو "الدورة التدريبية 201".

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied math
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZING: Text=welcome to applied mathematics course 2
RECOGNIZING: Text=welcome to applied mathematics course 201
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

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

على سبيل المثال، إذا تم تعيين حد النتيجة الجزئية الثابتة إلى 5، فلن يتم تغيير أي كلمات أو التراجع عنها.

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

تعريف اللغة

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

التخصيصات لتحسين الدقة

قائمة العبارات هي قائمة بالكلمات أو العبارات التي توفرها مباشرة قبل بدء التعرف على الكلام. تؤدي إضافة عبارة إلى قائمة العبارات إلى زيادة أهميتها، ما يجعلها أكثر عرضة للاعتراف بها.

تشمل أمثلة العبارات ما يلي:

  • الأسماء
  • مواقع جغرافية
  • مترادفات
  • الكلمات أو الاختصارات الفريدة لمجالك أو مؤسستك

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

الخطوات التالية