Tag: anam

  • Avatar AI: Cara Menambahkan Wajah ke Asisten Suara dan Menghindari Jebakan

    Avatar AI: Cara Menambahkan Wajah ke Asisten Suara dan Menghindari Jebakan

    Integrasi AI-avatar ke dalam administrator AI suara Ayka yang sudah ada bukan hanya sekadar menambahkan wajah, tetapi serangkaian tantangan teknis. Kami berusaha mempertahankan arsitektur saat ini di Yandex Realtime, agar layanan baru hanya menganimasikan bibir sesuai suara yang sudah dihasilkan. Selama pengujian Simli dan Anam, muncul nuansa dengan jeda sebelum menjawab, peluncuran video di iPhone, dan stabilitas internet seluler. Dan saat membuat karakter kedua, Eva, menjadi jelas bahwa kredibilitas jaringan saraf tidak hanya bergantung pada wajah itu sendiri, tetapi juga pada konteks.

    Mesin suara kami sudah berfungsi, jadi tugasnya hanya menganimasikan wajah. Ayka berkomunikasi dengan pengunjung situs web langsung di browser melalui WebSocket, yang terhubung ke server kami di FastAPI, dan server tersebut, pada gilirannya, menjaga sesi dengan Yandex Realtime. Ini menyediakan mode “ucapan ke ucapan”, menghilangkan kebutuhan akan rantai pengenalan terpisah, model teks, dan sintesis.

    Server mengirimkan suara yang tidak terkompresi dalam format PCM16 pada 24 kHz dalam bagian-bagian (pcm_chunk) ke browser, dan mimik avatar perlu disinkronkan dengan aliran ini.

    Pemilihan Platform untuk AI-Avatar: Simli vs Anam

    Kedua layanan yang diuji – Simli dan Anam – menawarkan mode di mana pengguna menyediakan aliran audio mereka, dan layanan menghasilkan video dengan wajah animasi yang disinkronkan dengan suara, mengembalikan media melalui WebRTC. Dengan demikian, Yandex terus menghasilkan ucapan, dan layanan avatar bertanggung jawab atas komponen visual.

    Aspek Teknis Integrasi Suara

    • Frekuensi sampling: Yandex mengeluarkan suara pada 24 kHz. Simli membutuhkan 16 kHz, Anam juga diatur pada 16 kHz, meskipun mendukung format lain.
    • Pemrosesan audio-chunk: Suara datang dalam potongan-potongan. Untuk menghindari artefak pada sambungan, posisi pecahan dan sampel terakhir dipindahkan ke chunk berikutnya. Ini memastikan kelancaran animasi, meskipun kualitas penghitungan ulang frekuensi tanpa filter penuh masih memerlukan perbaikan.

    Keamanan dan Manajemen Sesi

    Kunci layanan tidak masuk ke browser. Halaman meminta token sesi jangka pendek dari server kami melalui POST /voice/avatar-session. Server memeriksa origin dan membatasi penerbitan token: 6 per jam per IP dan 30 per jam secara total.

    Jika token tidak diperoleh atau video tidak diluncurkan, halaman beralih ke mode suara biasa. Permintaan token diberi waktu 8 detik, peluncuran SDK 15 detik. Penting untuk dicatat bahwa peluncuran SDK yang berhasil tidak menjamin munculnya bingkai pertama secara instan; wajah di sini adalah pelengkap, bukan fungsi kritis.

    Manajemen Status Avatar di Anam

    Anam menyediakan dua perintah utama:

    • endSequence(): dipanggil setelah fragmen audio terakhir dari ucapan dikirim.
    • interruptPersona(): menghentikan ucapan avatar saat ini ketika disela, setelah itu endSequence() juga dipanggil.

    Perbandingan Simli (generasi lama) dan Anam Cara-4

    Kami membandingkan versi yang tersedia bagi kami: Simli generasi sebelumnya dan Anam Cara-4. Ini bukan perbandingan lengkap dari semua fitur, melainkan pilihan untuk tugas tertentu.

    Parameter Simli (generasi sebelumnya) Anam Cara-4
    Ekspresi Wajah Bibir bergerak, ekspresi wajah lainnya terbatas Mengedipkan mata, tersenyum, gigi terlihat, memiringkan kepala
    Pembuatan Wajah Dari foto melalui API generasi sebelumnya Dari satu foto, video percobaan tersedia

    Secara subjektif, Anam menunjukkan ekspresi wajah yang lebih hidup dan alami. Bagi kami, ini menjadi faktor penentu. Selanjutnya, kami menghadapi sejumlah masalah spesifik.

    Fitur Pemutaran Media

    • Suara: Di Simli, suara diputar melalui elemen audio terpisah, di Anam — melalui elemen video yang sama. Ini berarti elemen video Anam tidak dapat dibiarkan muted, jika tidak, avatar akan “berbicara” tanpa suara.
    • Resolusi: Video sering dimulai dengan resolusi rendah (384×576) dan baru setelah beberapa detik beralih ke resolusi tinggi (768×1152). Opsi sessionOptions.videoQuality: "high" membantu, tetapi tidak menjamin mulai dengan kualitas tinggi.
    • Penundaan Generasi Bingkai: Anam perlu menerima audio 0,8 detik sebelum mulai menghasilkan bingkai. Ini tidak selalu sama dengan 0,8 detik waktu tunggu real-time, karena suara dapat masuk lebih cepat daripada diputar.

    Manajemen Mikrofon dan Sesi

    • Penekanan Gema: Di ponsel, saat Aika berbicara, mikrofon dimatikan untuk menghindari penangkapan suaranya dari speaker. Di PC, mikrofon aktif, dan saat pengguna mulai berbicara (peristiwa barge_in dari Yandex Realtime), avatar menghentikan ucapan saat ini.
    • Slot Sesi Sibuk: Pada paket gratis, hanya satu sesi bersamaan yang tersedia. Jika browser crash, slot bisa tetap sibuk. Permintaan GET /v1/sessions/concurrency membantu mendiagnosis kesibukan slot.
    • Pembatalan Koneksi: Jika pengguna menekan “stop” saat video sedang terhubung, operasi asinkron harus diselesaikan dengan benar agar tidak meninggalkan sesi yang tidak perlu. Untuk ini, penghitung generasi videoGen diperkenalkan.

    Masalah dengan Safari di iPhone

    Di iPhone di Safari, video tidak dimulai. Hipotesis terkait dengan aturan putar otomatis. Panggilan awal play() pada elemen video dengan umpan sementara dari canvas dan penghapusan muted membantu dalam uji coba, tetapi bukan solusi universal.

    Optimalisasi Jeda Sebelum Menjawab

    Jeda panjang sebelum avatar menjawab, yang hanya diam menatap pengguna, terasa jauh lebih berat daripada tanpa jeda. Awalnya, ambang batas keheningan (VAD) diatur pada 2,2 detik agar Aika tidak menyela pengguna yang mendiktekan informasi dengan jeda.

    Kami memindahkan logika jembatan telepon ke situs web: dalam percakapan biasa, ambang batasnya adalah 1500 ms, saat mendikte – 2200 ms. Ini memungkinkan penyesuaian sensitivitas VAD secara dinamis. Pengaturan diterapkan melalui session.update tanpa koneksi ulang.

    AI-avatar: cara menambahkan wajah ke asisten suara dan menghindari jebakan — ilustrasi 2

    Membuat Karakter Kedua: Eva

    Untuk administrator studio Eva, kami menghadapi masalah “pirang stok” dengan latar belakang kosong. Titik balik terjadi ketika interior muncul di belakangnya: lampu hangat, rak, tanaman, latar belakang yang buram. Ini membuat gambar jauh lebih meyakinkan, mengubah “katalog” menjadi “orang di tempat kerja”.

    Detail Pembuatan Latar Belakang dan Potret

    • Latar Belakang: Menggunakan interior siap pakai dengan gaya kami, menghilangkan orang dengan generator.
    • Memotong Karakter: Eva dipotong menggunakan alat macOS Vision (VNGeneratePersonSegmentationRequest dengan level .accurate). Tepi masker dipersempit dan diperhalus untuk menghilangkan halo.
    • Skala: Penting untuk menjaga skala objek di latar belakang untuk menghindari situasi lucu (misalnya, cangkir raksasa di belakang). Latar belakang hanya diambil di atas meja dan diburamkan untuk lensa potret.
    • Resolusi: Untuk Cara-4, sumber persegi dari 1152×1152 direkomendasikan. Pembesaran murni Real-ESRGAN ×4 membuat kulit terlalu halus. Kombinasi pembesaran jaringan saraf dengan penskalaan biasa, penajaman, dan penambahan butiran terlihat lebih baik.

    Pengisi Suara Eva

    Untuk Eva, kami memilih suara dari keluarga LiveTTS Yandex. Di SpeechKit API v3, model dipilih melalui "model": "livetts", dan suara serta peran disampaikan melalui hints. Untuk teks panjang, teks dipecah menjadi kalimat dan disintesis secara terpisah.

    Dari tujuh opsi pengisi suara untuk satu frasa, kami memilih suara vera dalam peran casual. Kami harus menulis ulang frasa tersebut, karena sintesis secara konsisten salah dalam penekanan.

    Merekam Video dengan Avatar

    Video Eva direkam melalui mesin animasi yang sama dengan panggilan langsung, menggunakan MediaRecorder langsung dari video.srcObject (video dan audio bersama, WebM dengan VP9 dan Opus). Untuk memulai perekaman dengan benar, aliran “dibangunkan” terlebih dahulu dengan satu detik keheningan agar video tidak dimulai dengan layar hitam.

    Pertanyaan yang Sering Diajukan

    Apa itu AI-avatar dan bagaimana cara kerjanya?

    AI-avatar adalah karakter digital yang mampu menganimasikan ekspresi wajah dan gerakan bibir sesuai dengan audio yang diberikan. Ini menggunakan jaringan saraf untuk menciptakan citra visual yang realistis yang disinkronkan dengan ucapan, membuat interaksi lebih alami dan menarik.

    Bisakah saya menggunakan suara saya sendiri untuk avatar AI?

    Ya, sebagian besar platform, seperti Anam dan Simli, memungkinkan Anda menggunakan mesin suara Anda sendiri atau audio yang direkam sebelumnya. Avatar akan menganimasikan wajah sesuai dengan aliran audio ini, mempertahankan pengenalan merek atau persona Anda.

    Apa saja tantangan utama dalam mengintegrasikan avatar AI?

    Tantangan utama meliputi sinkronisasi audio dan video, pemrosesan potongan audio, optimasi latensi, memastikan operasi yang stabil di berbagai perangkat (terutama seluler), serta menciptakan citra visual yang meyakinkan yang sesuai dengan konteks dan merek.

    Bagaimana latar belakang memengaruhi persepsi avatar AI?

    Latar belakang memainkan peran penting dalam menciptakan citra yang meyakinkan. Latar belakang yang kosong atau tidak sesuai dapat membuat avatar terlihat tidak alami. Interior yang sesuai dengan gaya karakter atau merek secara signifikan meningkatkan realisme dan kepercayaan pada avatar, menciptakan kesan kehadiran “orang di tempat kerja”.

    Berapa biaya pembuatan avatar AI?

    Biaya pembuatan avatar AI dapat sangat bervariasi tergantung pada platform yang dipilih, tingkat kustomisasi, detail ekspresi wajah, dan kebutuhan akan fitur unik. Beberapa layanan menawarkan model langganan, sementara yang lain mungkin mengenakan biaya per menit video yang dihasilkan atau untuk pengembangan karakter unik.

    Kesimpulan

    Integrasi avatar AI adalah alat yang ampuh untuk meningkatkan keterlibatan pengguna, tetapi membutuhkan pengembangan teknis yang mendalam. Dari pemilihan platform hingga penyesuaian latar belakang dan jeda yang halus – setiap langkah memengaruhi hasil akhir. Kami telah melihat bahwa jaringan saraf mampu memberikan kehidupan baru pada antarmuka suara, tetapi hanya dengan perhatian cermat terhadap detail.

    Jika Anda ingin menskalakan konten Anda dan membuat video AI untuk iklan, pertimbangkan kemungkinan produksi neuro-berlangganan. Ini memungkinkan Anda menghasilkan ratusan video, baik itu AI UGC untuk proyek kripto atau pabrik video AI untuk e-commerce. Kami siap membantu Anda dalam hal ini! Hubungi kami untuk mengetahui bagaimana produksi konten AI dapat mengubah bisnis Anda.