Skip to content

آواتار هوش مصنوعی: چگونه به دستیار صوتی چهره اضافه کنیم و از مشکلات جلوگیری کنیم

9 دقیقه مطالعه
Dr. Sam «DeepFake King» Markov
anamsimliyandex realtimeآواتار هوش مصنوعیادغام آواتاربهینه‌سازی آواتارتولید چهره هوش مصنوعیچالش‌های فنی آواتاردستیار صوتیساخت شخصیت هوش مصنوعی
AI-аватар: как добавить лицо голосовому помощнику и избежать подводных камней — illustration 1

ادغام آواتار هوش مصنوعی در دستیار صوتی هوش مصنوعی موجود آیکا، فقط اضافه کردن یک چهره نیست، بلکه زنجیره‌ای از چالش‌های فنی است. ما تلاش کردیم تا معماری فعلی را بر روی Yandex Realtime حفظ کنیم تا سرویس جدید فقط لب‌ها را با صدای از پیش تولید شده متحرک کند. در طول آزمایش Simli و Anam، تفاوت‌های ظریفی در مکث‌ها قبل از پاسخ، راه‌اندازی ویدئو در آیفون و پایداری اینترنت موبایل آشکار شد. و با ایجاد شخصیت دوم، ایوا، مشخص شد که قانع‌کنندگی شبکه عصبی نه تنها به خود چهره، بلکه به زمینه نیز بستگی دارد.

موتور صوتی ما قبلاً کار می‌کرد، بنابراین وظیفه فقط متحرک‌سازی چهره بود. آیکا مستقیماً در مرورگر از طریق WebSocket با بازدیدکنندگان وب‌سایت ارتباط برقرار می‌کند، که به سرور FastAPI ما متصل است و آن نیز به نوبه خود یک جلسه با Yandex Realtime را حفظ می‌کند. این حالت «گفتار به گفتار» را تضمین می‌کند و نیاز به زنجیره‌های جداگانه تشخیص، مدل متنی و سنتز را از بین می‌برد.

سرور صدای فشرده نشده را در قالب PCM16 با فرکانس 24 کیلوهرتز به صورت قطعات (pcm_chunk) به مرورگر منتقل می‌کند و دقیقاً برای این جریان بود که هماهنگ‌سازی میمیک آواتار لازم بود.

انتخاب پلتفرم برای آواتار هوش مصنوعی: Simli در مقابل Anam

هر دو سرویس آزمایش شده – Simli و Anam – حالتی را ارائه می‌دهند که کاربر جریان صوتی خود را ارائه می‌دهد و سرویس ویدئویی با چهره متحرک، هماهنگ با صدا، تولید می‌کند و رسانه را از طریق WebRTC بازمی‌گرداند. بنابراین، یاندکس به تولید گفتار ادامه می‌دهد و سرویس آواتار مسئول بخش بصری است.

جنبه‌های فنی ادغام صدا

  • فرکانس نمونه‌برداری: یاندکس صدا را با فرکانس 24 کیلوهرتز تولید می‌کند. Simli به 16 کیلوهرتز نیاز دارد، Anam نیز روی 16 کیلوهرتز تنظیم شده بود، اگرچه از فرمت‌های دیگر نیز پشتیبانی می‌کند.
  • پردازش قطعات صوتی: صدا به صورت قطعات وارد می‌شود. برای جلوگیری از مصنوعات در محل اتصال، موقعیت کسری و آخرین نمونه به قطعه بعدی منتقل می‌شوند. این امر روانی انیمیشن را تضمین می‌کند، اگرچه کیفیت بازنمونه‌برداری فرکانس بدون فیلتر کامل هنوز نیاز به بهبود دارد.

امنیت و مدیریت جلسات

کلید سرویس به مرورگر نمی‌رسد. صفحه از سرور ما یک توکن جلسه کوتاه‌مدت را از طریق POST /voice/avatar-session درخواست می‌کند. سرور origin را بررسی می‌کند و صدور توکن‌ها را محدود می‌کند: 6 توکن در ساعت برای هر IP و 30 توکن در ساعت در مجموع.

اگر توکن دریافت نشود یا ویدئو شروع نشود، صفحه به حالت صوتی عادی تغییر می‌کند. 8 ثانیه برای درخواست توکن و 15 ثانیه برای راه‌اندازی SDK اختصاص داده شده است. مهم است که راه‌اندازی موفقیت‌آمیز SDK تضمین‌کننده ظاهر شدن فوری اولین فریم نیست؛ چهره در اینجا یک مکمل است، نه یک عملکرد حیاتی.

مدیریت وضعیت آواتار در Anam

Anam دو دستور کلیدی را ارائه می‌دهد:

  • endSequence(): پس از ارسال آخرین قطعه صوتی از یک گفتار فراخوانی می‌شود.
  • interruptPersona(): گفتار فعلی آواتار را هنگام قطع شدن متوقف می‌کند، پس از آن نیز endSequence() فراخوانی می‌شود.

مقایسه Simli (نسل قدیمی) و Anam Cara-4

ما نسخه‌های موجود را مقایسه کردیم: Simli نسل گذشته و Anam Cara-4. این یک مقایسه جامع از همه قابلیت‌ها نیست، بلکه انتخابی برای یک وظیفه خاص است.

پارامتر Simli (نسل گذشته) Anam Cara-4
حالت چهره لب‌ها حرکت می‌کنند، سایر حالت‌های چهره محدود است پلک می‌زند، لبخند می‌زند، دندان‌ها دیده می‌شوند، سر را کج می‌کند
ایجاد چهره از عکس از طریق API نسل گذشته از یک عکس، ویدیوی آزمایشی در دسترس است

به طور ذهنی، Anam حالت چهره‌ای زنده‌تر و طبیعی‌تر را نشان داد. این برای ما یک عامل تعیین‌کننده بود. در ادامه با تعدادی مشکل خاص روبرو شدیم.

ویژگی‌های پخش رسانه

  • صدا: در Simli صدا از طریق یک عنصر صوتی جداگانه پخش می‌شد، در Anam — از طریق همان عنصر ویدیویی. این بدان معناست که عنصر ویدیویی Anam را نمی‌توان muted گذاشت، در غیر این صورت آواتار بی‌صدا «صحبت» خواهد کرد.
  • رزولوشن: ویدیو اغلب با رزولوشن پایین (384×576) شروع می‌شد و تنها پس از چند ثانیه به رزولوشن بالا (768×1152) تغییر می‌کرد. گزینه sessionOptions.videoQuality: "high" کمک می‌کرد، اما شروع با کیفیت بالا را تضمین نمی‌کرد.
  • تأخیر در تولید فریم: Anam نیاز دارد 0.8 ثانیه صدا را دریافت کند تا شروع به تولید فریم‌ها کند. این همیشه برابر با 0.8 ثانیه انتظار در زمان واقعی نیست، زیرا صدا ممکن است سریع‌تر از پخش شدن آن دریافت شود.

مدیریت میکروفون و جلسات

  • حذف اکو: در تلفن، در حالی که آیکا صحبت می‌کند، میکروفون غیرفعال می‌شود تا از ضبط صدای او از بلندگو جلوگیری شود. در رایانه شخصی، میکروفون فعال است و با شروع صحبت کاربر (رویداد barge_in از Yandex Realtime) آواتار گفتار فعلی خود را متوقف می‌کند.
  • اسلات جلسه اشغال شده: در طرح رایگان، یک جلسه همزمان در دسترس است. در صورت خرابی مرورگر، اسلات ممکن است اشغال بماند. درخواست GET /v1/sessions/concurrency به تشخیص اشغال بودن اسلات‌ها کمک می‌کند.
  • لغو اتصال: اگر کاربر در حین اتصال ویدیو «توقف» را فشار دهد، لازم است عملیات ناهمزمان به درستی خاتمه یابد تا یک جلسه غیرضروری باقی نماند. برای این منظور، یک شمارنده نسل videoGen معرفی شده است.

مشکلات با Safari در iPhone

در iPhone در Safari ویدیو شروع نمی‌شد. فرضیه مربوط به قوانین پخش خودکار است. فراخوانی اولیه play() روی عنصر ویدیویی با تغذیه موقت جریان از canvas و حذف muted در اجرای آزمایشی کمک کرد، اما یک راه‌حل جهانی نیست.

بهینه‌سازی مکث قبل از پاسخ

مکث طولانی قبل از پاسخ آواتار، که بی‌صدا به کاربر نگاه می‌کند، بسیار سنگین‌تر از حالتی است که مکثی وجود ندارد. در ابتدا، آستانه سکوت (VAD) روی 2.2 ثانیه تنظیم شده بود تا آیکا کاربران را که اطلاعات را با مکث دیکته می‌کنند، قطع نکند.

ما منطق پل تلفنی را به وب‌سایت منتقل کردیم: در مکالمه عادی، آستانه 1500 میلی‌ثانیه است، هنگام دیکته کردن — 2200 میلی‌ثانیه. این امکان را می‌دهد تا حساسیت VAD به صورت پویا تنظیم شود. تنظیمات از طریق session.update بدون نیاز به اتصال مجدد اعمال می‌شوند.

AI-аватар: как добавить лицо голосовому помощнику и избежать подводных камней — illustration 2

ایجاد شخصیت دوم: ایوا

برای مدیر استودیو ایوا، با مشکل «بلوند استوک» در پس‌زمینه خالی مواجه شدیم. نقطه عطف زمانی فرا رسید که یک فضای داخلی در پشت سر ظاهر شد: لامپ‌های گرم، قفسه‌ها، گیاهان، پس‌زمینه محو. این باعث شد تصویر بسیار قانع‌کننده‌تر شود و «کاتالوگ» به «فردی در محل کار» تبدیل شود.

جزئیات ایجاد پس‌زمینه و پرتره

  • پس‌زمینه: از یک فضای داخلی آماده با سبک خودمان استفاده کردیم و افراد را با ژنراتور حذف کردیم.
  • برش شخصیت: ایوا با استفاده از ابزارهای macOS Vision (VNGeneratePersonSegmentationRequest با سطح .accurate) برش داده شد. لبه ماسک برای از بین بردن هاله، باریک و نرم شد.
  • مقیاس: رعایت مقیاس اشیاء در پس‌زمینه برای جلوگیری از موقعیت‌های خنده‌دار (مثلاً یک لیوان غول‌پیکر در پشت سر) مهم است. پس‌زمینه فقط از بالای میز گرفته شد و برای لنز پرتره محو شد.
  • رزولوشن: برای Cara-4، منبع مربعی با حداقل 1152×1152 توصیه می‌شود. افزایش خالص Real-ESRGAN ×4 پوست را بیش از حد صاف می‌کرد. ترکیبی از افزایش با شبکه عصبی با مقیاس‌بندی معمولی، افزایش وضوح و افزودن دانه، بهتر به نظر می‌رسید.

صداگذاری ایوا

برای ایوا، صدایی از خانواده LiveTTS یاندکس انتخاب شد. در SpeechKit API v3، مدل از طریق "model": "livetts" انتخاب می‌شود و صدا و نقش از طریق hints منتقل می‌شوند. برای متون طولانی، متن به جملات تقسیم شده و به صورت جداگانه سنتز می‌شد.

از هفت گزینه صداگذاری یک عبارت، صدای vera با نقش casual انتخاب شد. مجبور شدیم عبارت را بازنویسی کنیم، زیرا سنتز به طور مداوم در تأکید اشتباه می‌کرد.

ضبط ویدیوها با آواتار

ویدیوی ایوا با همان موتور انیمیشن تماس زنده، با استفاده از MediaRecorder مستقیماً از video.srcObject (ویدیو و صدا با هم، WebM با VP9 و Opus) ضبط شد. برای شروع صحیح ضبط، جریان قبلاً با یک ثانیه سکوت «بیدار» می‌شد تا ویدیو با صفحه سیاه شروع نشود.

سوالات متداول

آواتار هوش مصنوعی چیست و چگونه کار می‌کند؟

آواتار هوش مصنوعی — یک شخصیت دیجیتالی است که قادر به انیمیشن حالات چهره و حرکات لب مطابق با صدای ارائه شده است. این از شبکه‌های عصبی برای ایجاد یک تصویر بصری واقع‌گرایانه استفاده می‌کند که با گفتار همگام‌سازی می‌شود و تعامل را طبیعی‌تر و جذاب‌تر می‌کند.

آیا می توان از صدای خود برای آواتار هوش مصنوعی استفاده کرد؟

بله، اکثر پلتفرم ها مانند Anam و Simli به شما امکان می دهند از موتور صوتی خود یا صدای از پیش ضبط شده استفاده کنید. آواتار چهره را با این جریان صوتی متحرک می کند و شناخت برند یا شخصیت شما را حفظ می کند.

چالش های اصلی در ادغام آواتار هوش مصنوعی چیست؟

چالش های اصلی شامل همگام سازی صدا و تصویر، پردازش قطعات صوتی، بهینه سازی تاخیرها، اطمینان از عملکرد پایدار در دستگاه های مختلف (به ویژه موبایل)، و همچنین ایجاد یک تصویر بصری متقاعد کننده است که با زمینه و برند مطابقت داشته باشد.

چگونه پس زمینه بر درک آواتار هوش مصنوعی تأثیر می گذارد؟

پس زمینه نقش حیاتی در ایجاد یک تصویر متقاعد کننده ایفا می کند. یک پس زمینه خالی یا نامناسب می تواند آواتار را غیرطبیعی جلوه دهد. یک فضای داخلی که با سبک شخصیت یا برند مطابقت دارد، واقع گرایی و اعتماد به آواتار را به طور قابل توجهی افزایش می دهد و حس حضور «فردی در محل کار» را ایجاد می کند.

هزینه ایجاد آواتار هوش مصنوعی چقدر است؟

هزینه ایجاد آواتار هوش مصنوعی می تواند بسته به پلتفرم انتخاب شده، سطح سفارشی سازی، جزئیات حالات چهره و نیاز به عملکردهای منحصر به فرد، بسیار متفاوت باشد. برخی از خدمات مدل های اشتراک را ارائه می دهند، در حالی که برخی دیگر ممکن است برای هر دقیقه ویدیوی تولید شده یا برای توسعه یک شخصیت منحصر به فرد هزینه دریافت کنند.

نتیجه گیری

ادغام آواتار هوش مصنوعی یک ابزار قدرتمند برای افزایش تعامل کاربران است، اما نیاز به توسعه فنی عمیق دارد. از انتخاب پلتفرم گرفته تا تنظیم دقیق پس زمینه ها و مکث ها – هر مرحله بر نتیجه نهایی تأثیر می گذارد. ما دیدیم که شبکه های عصبی می توانند جان تازه ای به رابط های صوتی ببخشند، اما تنها با توجه دقیق به جزئیات.

اگر می خواهید محتوای خود را مقیاس بندی کنید و ویدیوی هوش مصنوعی برای تبلیغات ایجاد کنید، قابلیت های تولید عصبی مبتنی بر اشتراک را در نظر بگیرید. این به شما امکان می دهد صدها ویدیو تولید کنید، خواه UGC هوش مصنوعی برای پروژه رمزنگاری باشد یا کارخانه ویدیوهای هوش مصنوعی برای تجارت الکترونیک. ما آماده ایم تا در این زمینه به شما کمک کنیم! با ما تماس بگیرید تا بدانید چگونه تولید محتوای هوش مصنوعی می تواند کسب و کار شما را متحول کند.


← بازگشت به وبلاگ