VTuber Python Live

Python Flask Three.js Piper TTS Qwen 2.5:3B HTML CSS JavaScript
Hero Proyecto VTuber Python Live

Situación

Los creadores de contenido y VTubers noveles a menudo carecen de herramientas sencillas de código abierto para animar avatares 3D (VRM) en tiempo real con capacidades integradas de síntesis de voz local de alta calidad, control de poses interactivo y un backend ligero e integrado.

Tarea

Diseñar y desarrollar una aplicación interactiva y de escritorio (VTuber Python Live) que combine un frontend 3D con Three.js y @pixiv/three-vrm para el renderizado y animación procedural de avatares VRM, con un backend en Python (Flask, SSE, Piper TTS) para la sincronización de audio local, la generación de voz neuronal offline, detección de modo OBS chroma key y un editor de poses interactivo en tiempo real.

Acción

Para el desarrollo de este proyecto, implementé las siguientes soluciones técnicas:

  • Renderizado 3D en Tiempo Real (Three.js): Configuración de una escena 3D con luces de estudio y contraluces azul/cyan usando Three.js y OrbitControls, con integración de la biblioteca @pixiv/three-vrm para la carga de avatares y control procedural de articulaciones (huesos).
  • Animación Procedural y Sincronización: Animación dinámica de parpadeo automático, interpolación esférica (Slerp por Quaternions) para transiciones de poses naturales y Lip Sync (sincronización labial) en tiempo real para simular el habla del avatar.
  • Servidor Backend en Python & SSE: Creación de un backend basado en Flask que envía eventos en tiempo real utilizando Server-Sent Events (SSE) al frontend, controlando los cambios de fondo, reproducción de chistes y estados de movimiento del avatar.
  • Síntesis de Voz Local (Piper TTS): Integración de Piper TTS en Python para generar audios WAV mediante redes neuronales locales ultra-rápidas, con fallback a Web Speech API en el navegador si es necesario, permitiendo voces fluidas en español sin conexión a servicios de pago en la nube.
  • Modo OBS Studio & Editor de Poses: Detección de parámetros URL para conmutar a modo OBS (transparencia, croma verde y ocultación de interfaz) y desarrollo de un editor de poses personalizado que calcula los ángulos de rotación de los huesos y genera código listo para usar.

Resultado

El resultado es un software de VTuber independiente altamente personalizable y de alto rendimiento que permite realizar retransmisiones en directo de forma local, consumiendo mínimos recursos y proporcionando una excelente calidad visual y auditiva sin costes de licencias.