agentic-flutter-vertex

🎙️ Asistente de Voz en Tiempo Real - Gemini Live

🚀 Nueva Experiencia

¡Hemos mejorado el asistente de voz usando Gemini Live API! Ahora puedes tener conversaciones naturales en tiempo real sin esperar a que termine de grabar.

🆕 ¿Qué Cambió?

Antes (Comando de Voz Tradicional)

  1. Presionas el botón
  2. Hablas
  3. Detienes la grabación
  4. Esperas la transcripción
  5. Esperas el procesamiento
  6. Recibes la respuesta

Ahora (Gemini Live - Conversación en Tiempo Real)

  1. Presionas el botón grande morado
  2. ¡Hablas y la IA te responde INMEDIATAMENTE!
  3. Es una conversación bidireccional fluida
  4. Puedes interrumpir y preguntar más cosas
  5. La IA te habla con voz natural

🎯 Tres Botones Flotantes

1️⃣ Botón GRANDE Morado 🆕 (Gemini Live)

Comandos disponibles:

2️⃣ Botón Azul (Crear Nota de Voz)

3️⃣ Botón Extendido (Nueva Entrada Manual)

🎨 Estados Visuales del Asistente Live

Estado Reposo

Estado Conversando

Estado Configurando

🗣️ Cómo Usar el Asistente Live

Inicio de Conversación

1. Toca el botón GRANDE morado
2. Verás el efecto de pulso verde
3. Escucha confirmación de audio (opcional)
4. Empieza a hablar naturalmente

Durante la Conversación

- Habla normalmente, como con una persona
- La IA te responderá con VOZ
- Puedes hacer preguntas de seguimiento
- No necesitas esperar turnos estrictos

Ejemplos de Conversación

Cambio de Color:

Usuario: "Hola, quiero cambiar el color de la app"
IA: "Claro, ¿de qué color te gustaría?"
Usuario: "Morado por favor"
IA: "Color cambiado a morado exitosamente"
[La app cambia de color en tiempo real]

Pregunta Cotidiana:

Usuario: "¿Qué tiempo hace hoy?"
IA: "Hoy hace un día soleado con temperaturas agradables. 
     Es un buen día para salir a caminar"

Resumen:

Usuario: "¿Puedes hacer un resumen de mi semana?"
IA: "Claro, buscando tus entradas..."
IA: "Esta semana has tenido 5 entradas. Tuviste un día muy 
     productivo el lunes con tu reunión exitosa. El miércoles 
     fue difícil pero superaste los desafíos. En general, 
     muestras gratitud y resiliencia"

Eliminación:

Usuario: "Elimina la última entrada"
IA: "¿Estás seguro de eliminar 'Reflexiones de la tarde'?"
Usuario: "Sí, elimínala"
IA: "Entrada eliminada exitosamente"

🎤 Configuración de Audio

Parámetros Optimizados

iOS Específico

Android Específico

🔧 Arquitectura Técnica

Flujo de Datos

[Micrófono] 
    ↓ Stream PCM 16-bit
[AudioRecorder] 
    ↓ Uint8List chunks
[InlineDataPart wrapper]
    ↓ Media stream
[Gemini Live Session]
    ↓ Procesamiento en tiempo real
[LiveServerMessage]
    ↓ Audio response
[SoLoud Buffer Stream]
    ↓ Reproducción
[Speaker]

Componentes Clave

LiveGenerativeModel:

LiveSession:

Function Calls:

  1. setAppColor - Cambiar color de la app
  2. getDiarySummary - Obtener resumen de entradas
  3. deleteEntry - Eliminar entrada (con confirmación)

📊 Comparación: Live vs Comando Tradicional

Característica Gemini Live Comando Tradicional
Latencia <1 segundo 3-5 segundos
Interacción Bidireccional Unidireccional
Audio respuesta Sí (voz natural) No (solo texto)
Interrupciones Sí No
Multiples preguntas Sí (fluido) No (una por vez)
Uso de red Streaming continuo Burst al final
Experiencia Conversación real Dictado por comandos

🎯 Casos de Uso Ideales

Usa Gemini Live Para:

✅ Preguntas complejas con seguimiento ✅ Cambios que requieren confirmación ✅ Consultas que necesitas escuchar ✅ Conversaciones largas ✅ Cuando quieres una experiencia natural

Usa Comando de Voz Tradicional Para:

✅ Crear notas rápidas del diario ✅ Dictado largo sin interrupciones ✅ Cuando prefieres revisar el texto antes ✅ Ambientes con mala conexión

⚡ Performance

Tiempo de Respuesta (promedio)

Uso de Recursos

🔐 Privacidad y Seguridad

🐛 Troubleshooting

“Error de audio”

Causa: Inicialización de SoLoud falló Solución:

“Permiso de micrófono requerido”

Solución: Ve a Configuración > [App] > Micrófono > Activar

No escucho la respuesta de la IA

Soluciones:

La IA no me entiende

Soluciones:

Conversación se interrumpe

Causas posibles:

🎓 Tips Pro

  1. Habla natural: No necesitas comandos exactos
  2. Interrumpe cuando quieras: La IA maneja interrupciones
  3. Pregunta de seguimiento: “Y qué más?” funciona
  4. Sé específico en colores: Di el nombre exacto
  5. Para resumenes, especifica el tiempo: “hoy”, “esta semana”
  6. Confirma eliminaciones verbalmente: La IA pedirá confirmación

📈 Próximas Mejoras


Desarrollado con ❤️ usando Gemini Live API