دليل معالجة الصوت
يغطي هذا الدليل كيفية إعداد طرق إدخال صوتية مختلفة لتغذية بيانات الصوت إلى مولدات مزامنة الشفاه الخاصة بك. تأكد من إكمال دليل الإعداد قبل المتابعة.
معالجة إدخال الصوت
تحتاج إلى إعداد طريقة لمعالجة إدخال الصوت. هناك عدة طرق للقيام بذلك اعتمادًا على مصدر الصوت الخاص بك.
- الميكروفون (في الوقت الفعلي)
- Microphone (Playback)
- Text-to-Speech (Local)
- Text-to-Speech (External APIs)
- من ملف/مخزن مؤقت للصوت
- مخزن مؤقت للصوت المتدفق
يقوم هذا النهج بمزامنة الشفاه في الوقت الفعلي أثناء التحدث في الميكروفون:
- النموذج القياسي
- النموذج الواقعي
- النموذج الواقعي المدعوم بالمزاج
- أنشئ Capturable Sound Wave باستخدام Runtime Audio Importer
- قبل البدء في التقاط الصوت، قم بالربط مع المفوض
OnPopulateAudioData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك - ابدأ في التقاط الصوت من الميكروفون
يستخدم النموذج الواقعي نفس سير عمل معالجة الصوت مثل النموذج القياسي، ولكن مع المتغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم النموذج المدعوم بالمزاج نفس سير عمل معالجة الصوت، ولكن مع المتغير MoodMetaHumanLipSyncGenerator
وقدرات التكوين الإضافية للمزاج.
هذا الأسلوب يقوم بتسجيل الصوت من الميكروفون، ثم يعيد تشغيله مع مزامنة الشفاه:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- أنشئ Capturable Sound Wave باستخدام Runtime Audio Importer
- ابدأ تسجيل الصوت من الميكروفون
- قبل إعادة تشغيل capturable sound wave، اربط بـ delegate
OnGeneratePCMData
الخاص به - في الدالة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن باستخدام متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم Mood-Enabled Model نفس سير عمل معالجة الصوت، ولكن باستخدام متغير MoodMetaHumanLipSyncGenerator
وإمكانيات تكوين الحالة المزاجية الإضافية.
- Regular
- Streaming
هذا النهج يقوم بتركيب الكلام من النص باستخدام Text-to-Speech المحلي ويؤدي مزامنة الشفاه:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- استخدم Runtime Text To Speech لتوليد الكلام من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المركب
- قبل تشغيل الموجة الصوتية المستوردة، اربط بـ delegate
OnGeneratePCMData
الخاص بها - في الدالة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
Text-to-Speech المحلي المقدم بواسطة إضافة Runtime Text To Speech غير مدعوم حاليًا مع النموذج الواقعي العادي بسبب تعارضات وقت تشغيل ONNX. لـ Text-to-Speech مع النموذج الواقعي العادي، فكر في استخدام حلول Text-to-Speech خارجية أو استخدم النموذج القياسي بدلاً من ذلك.
- استخدم Runtime Text To Speech لتوليد الكلام من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المركب
- قبل تشغيل الموجة الصوتية المستوردة، اربط بـ delegate
OnGeneratePCMData
الخاص بها - في الدالة المرتبطة، استدعِ
ProcessAudioData
من Mood-Enabled Lip Sync Generator الخاص بك - اضبط إعدادات الحالة المزاجية بناءً على محتوى النص أو التعبير العاطفي المطلوب
Text-to-Speech مع دمج الحالة المزاجية:
- عيّن الحالات المزاجية المناسبة قبل أو أثناء توليد Text-to-Speech
- اضبط شدة الحالة المزاجية لتتناسب مع النبرة العاطفية للنص
- استخدم حالات مزاجية مختلفة لأقسام مختلفة من محتوى النص الطويل
هذا الأسلوب يستخدم توليف الكلام من النص مع مزامنة الشفاه في الوقت الفعلي:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- استخدم Runtime Text To Speech لتوليد كلام متدفق من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المُولَّف
- قبل تشغيل موجة الصوت المتدفقة، اربط بـ
OnGeneratePCMData
delegate - في الدالة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
Local TTS المقدم بواسطة إضافة Runtime Text To Speech غير مدعوم حاليًا مع النموذج الواقعي العادي بسبب تعارضات وقت تشغيل ONNX. لتوليف الكلام من النص مع النموذج الواقعي العادي، فكر في استخدام خدمات TTS خارجية أو استخدم النموذج القياسي بدلاً من ذلك.
- استخدم Runtime Text To Speech لتوليد كلام متدفق من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المُولَّف
- قبل تشغيل موجة الصوت المتدفقة، اربط بـ
OnGeneratePCMData
delegate - في الدالة المرتبطة، استدعِ
ProcessAudioData
من Mood-Enabled Lip Sync Generator الخاص بك - اضبط إعدادات المزاج ديناميكيًا أثناء التدفق إذا لزم الأمر
- Regular
- Streaming
هذا النهج يستخدم إضافة Runtime AI Chatbot Integrator لتوليد كلام مُركب من خدمات الذكاء الاصطناعي (OpenAI أو ElevenLabs) وتنفيذ مزامنة الشفاه:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- استخدم Runtime AI Chatbot Integrator لتوليد الكلام من النص باستخدام واجهات برمجة التطبيقات الخارجية (OpenAI، ElevenLabs، إلخ.)
- استخدم Runtime Audio Importer لاستيراد بيانات الصوت المُركب
- قبل تشغيل الموجة الصوتية المستوردة، اربط بمفوض
OnGeneratePCMData
الخاص بها - في الدالة المرتبطة، استدعِ
ProcessAudioData
من مُولد Viseme الخاص بك في Runtime
يستخدم النموذج الواقعي نفس سير عمل معالجة الصوت مثل النموذج القياسي، ولكن باستخدام المتغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم النموذج المدعوم بالمزاج نفس سير عمل معالجة الصوت، ولكن باستخدام المتغير MoodMetaHumanLipSyncGenerator
وقدرات التهيئة الإضافية للمزاج.
يستخدم هذا النهج إضافة Runtime AI Chatbot Integrator لتوليد كلام تدفقي مُركب من خدمات الذكاء الاصطناعي (OpenAI أو ElevenLabs) وتنفيذ مزامنة الشفاه:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- استخدم Runtime AI Chatbot Integrator للاتصال بواجهات برمجة تطبيقات TTS التدفقية (مثل ElevenLabs Streaming API)
- استخدم Runtime Audio Importer لاستيراد بيانات الصوت المُركب
- قبل تشغيل موجة الصوت التدفقية، اربط بـ delegate الخاص بها
OnGeneratePCMData
- في الدالة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
يستخدم النموذج الواقعي نفس سير عمل معالجة الصوت مثل النموذج القياسي، ولكن باستخدام المتغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم النموذج المدعوم بالمزاج نفس سير عمل معالجة الصوت، ولكن باستخدام المتغير MoodMetaHumanLipSyncGenerator
وقدرات التكوين الإضافية للمزاج.
تستخدم هذه الطريقة ملفات صوت مسجلة مسبقًا أو مخازن مؤقتة للصوت لمزامنة الشفاه:
- النموذج القياسي
- النموذج الواقعي
- النموذج الواقعي المدعوم بالمزاج
- استخدم Runtime Audio Importer لاستيراد ملف صوت من القرص أو الذاكرة
- قبل تشغيل الموجة الصوتية المستوردة، اربط بمفوض
OnGeneratePCMData
الخاص بها - في الدالة المرتبطة، استدعِ
ProcessAudioData
من منشئ الفونيمات الخاص بك في الوقت التشغيلي (Runtime Viseme Generator) - شغِّل الموجة الصوتية المستوردة ولاحظ حركة الشفاه المتزامنة
يستخدم النموذج الواقعي نفس سير عمل معالجة الصوت مثل النموذج القياسي، ولكن باستخدام المتغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم النموذج المدعوم بالمزاج نفس سير عمل معالجة الصوت، ولكن باستخدام المتغير MoodMetaHumanLipSyncGenerator
وقدرات إضافية لتكوين المزاج.
لبيانات الصوت المتدفقة من مخزن مؤقت، ستحتاج إلى:
- النموذج القياسي
- Realistic Model
- Mood-Enabled Realistic Model
- بيانات صوت بتنسيق PCM عائم (مصفوفة من عينات النقطة العائمة) متاحة من مصدر التدفق الخاص بك (أو استخدم Runtime Audio Importer لدعم المزيد من التنسيقات)
- معدل العينة وعدد القنوات
- استدعِ
ProcessAudioData
من منشئ الفونيمات الخاص بك في الوقت التشغيلي (Runtime Viseme Generator) مع هذه المعلمات عند توفر مقاطع الصوت
يستخدم النموذج الواقعي نفس سير عمل معالجة الصوت مثل النموذج القياسي، ولكن باستخدام متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
يستخدم النموذج المدعوم بالمزاج نفس سير عمل معالجة الصوت، ولكن مع متغير MoodMetaHumanLipSyncGenerator
وقدرات إضافية لتكوين المزاج.
ملاحظة: عند استخدام مصادر الصوت المتدفقة، تأكد من إدارة توقيت تشغيل الصوت بشكل مناسب لتجنب تشويه التشغيل. راجع توثيق موجة الصوت المتدفقة لمزيد من المعلومات.
نصائح أداء المعالجة
-
حجم القطعة: إذا كنت تريد معالجة بيانات الصوت في قطع أصغر لمزامنة الشفاه الأكثر استجابة، فاضبط الحساب في دالة
SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينات على 150 (تدفق كل ~6.67 مللي ثانية) بدلاً من 100 (تدفق كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه. -
إدارة المخزن المؤقت: يعالج النموذج المدعوم بالمزاج الصوت في إطارات مكونة من 320 عينة (20 مللي ثانية عند 16 كيلو هرتز). تأكد من محاذاة توقيت إدخال الصوت مع هذا للأداء الأمثل.
-
إعادة إنشاء المولد: للتشغيل الموثوق مع النماذج الواقعية، أعد إنشاء المولد في كل مرة تريد فيها تغذية بيانات صوتية جديدة بعد فترة من عدم النشاط.
الخطوات التالية
بمجرد إعداد معالجة الصوت، قد ترغب في:
- التعرف على خيارات التكوين لضبط سلوك مزامنة الشفاه بدقة
- إضافة رسوم متحركة للضحك لتحسين التعبير
- دمج مزامنة الشفاه مع الرسوم المتحركة للوجه الحالية باستخدام تقنيات الطبقة الموضحة في دليل التكوين