FlutterVoiceFriend es una aplicación Flutter de código abierto diseñada para ayudar a los desarrolladores a crear experiencias de chatbot interactivas basadas en voz utilizando una combinación de tecnologías de vanguardia de voz a texto (STT) y texto a voz (TTS). La aplicación aprovecha Langchain, OpenAI para el procesamiento del lenguaje natural y TTS, así como el reconocimiento de voz tanto en el dispositivo como en la nube (incluido Deepgram) para ofrecer capacidades flexibles de interacción de voz.
Ya sea que esté desarrollando un asistente virtual, una herramienta de inteligencia artificial conversacional o un compañero de voz educativo, FlutterVoiceFriend proporciona una base sólida para crear aplicaciones personalizables basadas en voz.
Chatbot de voz a voz:
FlutterVoiceFriend permite conversaciones fluidas impulsadas por voz utilizando tecnología avanzada STT y TTS. Los usuarios pueden hablar con la aplicación y esta responderá a través de una salida de voz natural.
Múltiples opciones de reconocimiento de voz:
La compatibilidad con tecnologías STT tanto en el dispositivo como basadas en la nube garantiza que la aplicación pueda manejar entradas de voz en diversos entornos con diferentes capacidades del dispositivo.
Flexibles y modulares:
La aplicación se puede personalizar fácilmente para adaptarse a una variedad de casos de uso, como asistentes virtuales, robots conversacionales, aplicaciones educativas o plataformas de entretenimiento.
Los desarrolladores pueden modificar los flujos, las respuestas y los comportamientos del chatbot para adaptar la experiencia a sus necesidades específicas.
Construido con Flutter:
Desarrollado utilizando Flutter SDK, lo que garantiza la compatibilidad entre iOS, Android y plataformas web. La aplicación proporciona una experiencia de usuario fluida con una única base de código.
Procesamiento del lenguaje natural con Langchain y OpenAI:
Integra los poderosos modelos de OpenAI para generar conversaciones naturales y coherentes.
Utilice Langchain para flujos de conversación complejos, lo que permite al bot manejar diálogos más matizados.
Respuestas de voz personalizables:
Modifica el motor TTS para que coincida con la personalidad de tu chatbot. Elija entre múltiples voces e idiomas para crear una experiencia de usuario personalizada.
Flexibilidad de voz a texto:
Incluye opciones STT en el dispositivo para un procesamiento fuera de línea más rápido y STT basado en la nube (por ejemplo, Deepgram) para un reconocimiento de voz más preciso en entornos en línea.
Asistentes virtuales : cree asistentes virtuales inteligentes activados por voz para ayudar con tareas, recordatorios o información general.
Aplicaciones educativas : cree compañeros de conversación que guíen a los usuarios a través de experiencias de aprendizaje con comentarios de voz.
Entretenimiento y juegos : desarrolle aplicaciones interactivas basadas en historias donde los usuarios se comuniquen con los personajes mediante la entrada de voz.
Atención médica y bienestar : cree acompañantes de voz para seguimiento de la salud, apoyo emocional u orientación sobre el estado físico.
"FlutterVoiceFriend" se desarrolló inicialmente para una aplicación interactiva y atractiva diseñada para ayudar a los niños a explorar sus emociones y cultivar la atención plena a través de meditación guiada y ejercicios de autorreflexión. The Friend in Me guía a los niños a través de diversas actividades que son tanto de naturaleza meditativa como reflexiva. El objetivo es enseñar a los niños la autocompasión, la atención plena y la conciencia emocional a través de ejercicios divertidos, sencillos y atractivos.
iOS (iPhone o iPad):
Descarga la aplicación desde la App Store.
Flutter SDK : desarrollo multiplataforma para iOS, Android y Web.
Reconocimiento de voz : integra STT en el dispositivo y basado en la nube (por ejemplo, speech_to_text
y deepgram_speech_to_text
).
Backend de audio : puede usar la biblioteca SoLoud y la conexión just_audio.
Texto a voz : con tecnología OpenAI para una salida de voz natural.
Procesamiento de modelos de lenguaje grande : utiliza el modelo Langchain y OpenAI para manejar flujos conversacionales complejos.
A partir de la versión actual, hay varias características y mejoras planificadas pero aún no implementadas. Tenga en cuenta las siguientes limitaciones:
Solo iOS y Android: Actualmente, la aplicación solo es compatible con dispositivos iOS y Android. El soporte web está disponible en una sucursal, pero requiere una configuración especial. Las plataformas Linux, Windows y Mac aún no están implementadas.
Comentarios de los usuarios: no existe un mecanismo integrado para recopilar comentarios de los usuarios dentro de la aplicación.
Documentación para desarrolladores: la documentación completa para desarrolladores aún no está disponible.
Comentarios de código: partes clave del código base aún necesitan comentarios adecuados.
Sonidos de fondo: la música de fondo o los sonidos de la naturaleza durante las actividades de meditación aún no están implementados.
Autenticación de usuario: la función de inicio de sesión de usuario no está disponible.
Modo sin conexión: la aplicación actualmente no admite la funcionalidad sin conexión.
Análisis de datos del usuario: no se implementan análisis de uso anónimos.
Separación de preocupaciones: la lógica empresarial de la aplicación no está completamente separada de los componentes de la interfaz de usuario.
Registro de errores: aún no existen herramientas sólidas de registro y monitoreo de errores.
Pruebas unitarias y de integración: las pruebas unitarias integrales y las pruebas de integración aún no se han implementado.
CI/CD: los canales de integración e implementación continua no están configurados.
SDK de aleteo >= 3.4.4
Dardo >= 3.4.4
Clonar el repositorio:
clon de git https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
Instalar dependencias:
pub aleteo obtener
Generar código Isar:
ejecutar dardo build_runner construir
Ejecute el siguiente comando para generar código para Isar (una base de datos NoSQL integrada para Flutter):
Agregar claves API:
Cambie el nombre .env.example
a .env
.
Agregue sus claves API de OpenAI y Deepgram al archivo .env
.
Ejecute la aplicación:
correr aleteo
Configurar ajustes:
Puede acceder a la configuración de la aplicación tocando el ícono de ajustes en la esquina superior derecha.
¡Disfrutar!
Puede probar la aplicación con dos actividades de demostración: 'Introducción' y 'Susurra al analista de sueños'.
Si está realizando la prueba en un simulador de iOS, asegúrese de cambiar el método de voz a texto (STT) para usar 'Deepgram' en lugar de 'En el dispositivo', ya que es posible que el TTS del dispositivo no funcione correctamente en los simuladores de iOS.
Este cambio de configuración requiere una clave API de Deepgram válida. Visite el sitio web de Deepgram para obtener una clave.
Puede ajustar estas configuraciones directamente dentro de la aplicación tocando el ícono de ajustes en la esquina superior derecha.
La aplicación utiliza varios servicios externos como OpenAI para la generación de texto y Deepgram para la conversión de voz a texto. Asegúrese de configurarlos en el archivo .env
.
OPENAI_API_KEY=tu_llave_api_openai_DEEPGRAM_API_KEY=tu_llave_api_deepgram_
Para obtener una guía de inicio rápido sobre cómo crear una nueva actividad, consulte el archivo SIMPLE_TUTORIAL.md.
¡Agradecemos las contribuciones! Consulte el archivo CONTRIBUTING.md para obtener pautas sobre cómo contribuir.
Este proyecto tiene la licencia Creative Commons Atribución-No Comercial-CompartirIgual 4.0 Internacional . Consulte el archivo de LICENCIA para obtener más detalles.
Si tiene alguna pregunta o comentario, no dude en abrir un problema o contactarnos en [[email protected]].