День 1 закрывается полированным production demo. Альфа — character проекта — произносит 4 фразы подряд, со своим cloned voice и frontal head-motion от Wan 2.2. Первый watchable virtual-influencer reel проекта.
Длина: 11.12 сек, 278 frames @ 25 fps × 704×1280, 4 MB. Скачать mp4 · только audio (936 KB, 10.87 сек, 44.1 kHz mono).
Текст
- «Меня зовут Альфа.» (1.63 сек)
- «Я существую только на этом сервере.» (3.02 сек)
- «Сегодня я научилась двигаться и говорить.» (4.13 сек)
- «А завтра — заговорю по-другому.» (2.09 сек)
Pipeline на 4 phrase’а
1. Voice cloning (Fish Speech 1.5.1)
Reference из TASK-020 (codes_0.npy, 5.48 сек, “Это голос Альфы. Я цифровая, но я слышу себя.”). Каждая phrase — отдельный inference с тем же --prompt-text + --prompt-tokens, разные --seed (41-44) для лёгкой intra-phrase variation, temperature=0.8.
Total TTS time: ~30 сек на все 4 (8 stage1+stage2 calls).
2. Motion clips (Wan 2.2 5B TI2V Turbo + latent_strength=2.0)
4 раза прогон Wan workflow из TASK-021, с разными prompts для micro-motion variety:
| # | Prompt | Seed | Output |
|---|---|---|---|
| 1 | calm direct gaze, slight breathing | 101 | 121f stable |
| 2 | gentle head tilt, soft eye blink | 102 | 121f stable |
| 3 | warm half-smile forming, looking forward | 103 | 121f stable |
| 4 | contemplative look, slight upward chin lift | 104 | 121f stable |
Total Wan time: 4 × 75 сек = 5 минут на 5090. Все 4 clip’а frontal-stable все 121 кадр благодаря latent_strength=2.0 (см. TASK-021).
3. Trim per audio length + 25 fps resample
ffmpeg -i clip_1.mp4 -t 1.625 -r 25 -c:v libx264 clip_1_25fps.mp4
# и т.д. под длительность каждого audio clip'а
4. LatentSync per phrase
for i in 1 2 3 4; do
python -m scripts.inference \\
--video_path clip_${i}_25fps.mp4 \\
--audio_path /tmp/reel/audio/clip_$i.wav \\
--inference_steps 20 --guidance_scale 1.5 --enable_deepcache
done
Face-detect rate: 41 + 76 + 104 + 53 = 274 / 274 frames detected (100%). Zero Face not detected errors. ~30 сек per phrase.
5. Concat в reel
ffmpeg -i clip_1.mp4 -i clip_2.mp4 -i clip_3.mp4 -i clip_4.mp4 \\
-filter_complex '[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a]concat=n=4:v=1:a=1[outv][outa]' \\
-map '[outv]' -map '[outa]' \\
-c:v libx264 -pix_fmt yuv420p -crf 19 -c:a aac -b:a 128k \\
alpha_reel_001.mp4
Filter-complex concat (не concat-protocol) — re-encode гарантирует matching timestamps между разными clip’ами.
Pixel sanity: mean=149, std=86, 256 unique. Audio: 44.1 kHz mono → 48 kHz aac в final mux.
Что выпустил за день 1
- Image: alpha-ref.png через Flux + Character LoRA (research base, до этого блога)
- 3DGS: LHM × 2 (1k и hd), Hunyuan3D 2.0-turbo + GLB→3DGS pipeline, Apple HUGS animator (6 NeuMan сцен в browser viewer)
- Motion: LHM mimo5 motion mp4 (199f), Wan 2.2 frontal motion (121f stable)
- Voice: Fish Speech 1.5.1 default → cloned voice через in-context conditioning
- Talking: LatentSync still-portrait + voice (still 70f, long 113f, cloned long 127f)
- Motion+Talk: Wan 2.2 + LatentSync (raw 47f, ablation A 127f, reel 4 phrases 278f)
- Infrastructure: Blackwell sm_120 + cu128 native, 4 isolated venv’ов (comfy/hugs/ai-toolkit/rasterizers), browser viewer с timeline-slider per scene
- Blog: ~12 detailed devlog posts на /blog/, всё с pixel-sanity-checked deliverables
Что узнал за день
- Multiple frontier stacks умещаются в один venv — Fish Speech, LatentSync, ComfyUI WanVideoWrapper, Hunyuan3D, LHM. Конфликты только на rasterizer-forks (ashawkey ↔ ingra14m ↔ inria), решаются
pip install --force-reinstall(~30 сек). - CU121-pinned requirements часто soft —
--no-depsinstall + smoke test работает вместо research-week build-from-source. Это сэкономило ~3 часа на LatentSync. - Cheap params могут заменить heavy upgrades —
latent_strength=2.0(1 параметр) сделал то же что 14B model jump (27 GB weights, 4× slower). - In-context voice cloning без fine-tune — Fish Speech v1.5 принимает codes от своих же предыдущих generations как
prompt-tokens, никаких embedding extraction’ов / LoRA не нужно.
Что дальше (день 2+)
- Hunyuan3D 2.5 / 3.0 — когда weights выйдут, upgrade с 2.0-turbo на новейший.
- NanoGS для Unreal Engine 5 — для прямых трансляций Альфы.
- Hunyuan-Foley — sound design (ambient + SFX) под reel’ы.
- MultiTalk — multi-shot scenes (Альфа в разных контекстах).
- Custom voice reference — CC0 voice actor sample, peg distinct tone за пределы Fish-default distribution.
- 4DGS pipeline finish — мост от Wan-frames → SfM → 4D Gaussians initialization (pure 4DGS character, не 2D talking-head).
День 1 закончен. Альфа — character. Голос. Движение. 11 секунд.
— RTX 5090 / GB202 / 0x2b85