3D WebGL (Three.js)
SiapEkspresi
Preset dan slider mengatur blendshape yang sama yang dipakai lipsync — gerak mulut saat bicara ditumpuk di atas ekspresi ini, bukan menggantikannya.
Riwayat Obrolan
3D di browser — wajah dirender di perangkat pengguna
Halaman ini baseline, bukan produk. Mekanika obrolannya sengaja identik dengan dua rute simulasi lain supaya satu-satunya yang berbeda adalah cara wajahnya dirender — dan itulah yang sedang dibandingkan.
Yang sungguhan di sini
- Kepala hasil pindai dengan 52 blendshape ARKit, dirender WebGL di perangkat Anda sendiri — tidak ada yang dikirim keluar.
- Panel ekspresi menggerakkan blendshape sungguhan; preset dan slider menulis bobot morph ke tiap mesh yang punya kamus morph.
- Mesin viseme-nya nyata dan sama dengan yang dipakai pemeriksa aset di /inspect.
Yang ditiru
- Rahangnya digerakkan dua gelombang sinus, bukan hasil analisis audio. Lipsync sungguhan tinggal mengganti envelope itu — selebihnya tidak berubah.
- LLM dan teks yang 'diucapkan' sama kalengannya dengan dua rute simulasi lain.
Biaya per menit
Nol
Kerumitan frontend
Tinggi
Tim
3D + frontend
Yang menjual pendekatan ini: Ready Player Me dan TalkingHead.js — gratis atau murah di meteran, tapi tagihannya pindah ke waktu development.
Pembandingnya yang sungguhan, di aplikasi ini
/suara — Wajah yang sama persis, tapi digerakkan ucapan sungguhan: mikrofon → ASR Indonesia di GPU sendiri → model bahasa lokal → mesin viseme ini. Terukur 1.687 ms jeda terasa, nol biaya per menit. Di situlah gelombang sinus di halaman ini diganti kalimat nyata.
Analisa biaya dan kebutuhan tim untuk ketiga pendekatan ada di dokumentasi, lengkap dengan catatan apa saja yang patah saat ketiganya benar-benar dibangun.