FlutterVoiceFriend est une application Flutter open source conçue pour aider les développeurs à créer des expériences de chatbot interactives et vocales en utilisant une combinaison de technologies de pointe de synthèse vocale (STT) et de synthèse vocale (TTS). L'application exploite Langchain, OpenAI pour le traitement du langage naturel et TTS, ainsi que la reconnaissance vocale sur appareil et basée sur le cloud (y compris Deepgram) pour offrir des capacités d'interaction vocale flexibles.
Que vous développiez un assistant virtuel, un outil d'IA conversationnelle ou un compagnon vocal éducatif, FlutterVoiceFriend fournit une base solide pour créer des applications vocales personnalisables.
Chatbot voix à voix :
FlutterVoiceFriend permet des conversations vocales transparentes grâce à la technologie avancée STT et TTS. Les utilisateurs peuvent parler à l'application et celle-ci répondra via une sortie vocale naturelle.
Plusieurs options de reconnaissance vocale :
La prise en charge des technologies STT sur appareil et basées sur le cloud garantit que l'application peut gérer les entrées vocales dans divers environnements avec différentes capacités d'appareil.
Flexible et modulaire :
L'application peut être facilement personnalisée pour s'adapter à une variété de cas d'utilisation, tels que les assistants virtuels, les robots conversationnels, les applications éducatives ou les plateformes de divertissement.
Les développeurs peuvent modifier les flux, les réponses et les comportements des chatbots pour adapter l'expérience à leurs besoins spécifiques.
Construit avec Flutter :
Développé à l'aide du SDK Flutter, garantissant la compatibilité sur les plateformes iOS, Android et Web. L'application offre une expérience utilisateur fluide avec une base de code unique.
Traitement du langage naturel avec Langchain et OpenAI :
Intègre les modèles puissants d'OpenAI pour générer des conversations naturelles et cohérentes.
Utilisez Langchain pour les flux conversationnels complexes, permettant au bot de gérer des dialogues plus nuancés.
Réponses vocales personnalisables :
Ajustez le moteur TTS pour qu'il corresponde à la personnalité de votre chatbot. Choisissez parmi plusieurs voix et langues pour créer une expérience utilisateur personnalisée.
Flexibilité de la synthèse vocale :
Inclut des options STT sur l'appareil pour un traitement hors ligne plus rapide et un STT basé sur le cloud (par exemple, Deepgram) pour une reconnaissance vocale plus précise dans les environnements en ligne.
Assistants virtuels : créez des assistants virtuels intelligents à commande vocale pour vous aider dans les tâches, les rappels ou les informations générales.
Applications éducatives : créez des compagnons de conversation qui guident les utilisateurs à travers des expériences d'apprentissage avec un retour vocal.
Divertissement et jeux : développez des applications interactives basées sur des histoires dans lesquelles les utilisateurs communiquent avec des personnages par saisie vocale.
Santé et bien-être : créez des compagnons vocaux pour le suivi de la santé, le soutien émotionnel ou les conseils de remise en forme.
« FlutterVoiceFriend » a été initialement développé pour une application interactive et attrayante conçue pour aider les enfants à explorer leurs émotions et à cultiver la pleine conscience grâce à des exercices de méditation guidée et d'auto-réflexion. The Friend in Me guide les enfants à travers diverses activités de nature à la fois méditative et réfléchie. L’objectif est d’enseigner aux enfants l’auto-compassion, la pleine conscience et la conscience émotionnelle à travers des exercices amusants, simples et engageants.
iOS (iPhone ou iPad) :
Téléchargez l'application depuis l'App Store.
Flutter SDK : Développement multiplateforme pour iOS, Android et Web.
Reconnaissance vocale : intègre le STT sur l'appareil et basé sur le cloud (par exemple, speech_to_text
et deepgram_speech_to_text
).
Backend audio : peut utiliser la bibliothèque SoLoud et le branchement just_audio.
Text-to-Speech : Propulsé par OpenAI pour une sortie vocale naturelle.
Traitement de modèles de langage étendus : utilise le modèle Langchain et OpenAI pour gérer des flux conversationnels complexes.
Depuis la version actuelle, plusieurs fonctionnalités et améliorations sont prévues mais pas encore mises en œuvre. Veuillez prendre note des limitations suivantes :
iOS et Android uniquement : l'application n'est actuellement compatible qu'avec les appareils iOS et Android. La prise en charge du Web est disponible en succursale mais nécessite une configuration spéciale. Les plates-formes Linux, Windows et Mac ne sont pas encore implémentées.
Commentaires des utilisateurs : il n'existe aucun mécanisme intégré permettant de recueillir les commentaires des utilisateurs dans l'application.
Documentation pour les développeurs : une documentation complète pour les développeurs n'est pas encore disponible.
Commentaires de code : les éléments clés de la base de code nécessitent toujours des commentaires adéquats.
Sons de fond : la musique de fond ou les sons de la nature pendant les activités de méditation ne sont pas encore mis en œuvre.
Authentification utilisateur : la fonctionnalité de connexion utilisateur n'est pas disponible.
Mode hors ligne : l'application ne prend actuellement pas en charge la fonctionnalité hors ligne.
Analyse des données utilisateur : les analyses d'utilisation anonymes ne sont pas mises en œuvre.
Séparation des préoccupations : la logique métier de l'application n'est pas entièrement séparée des composants de l'interface utilisateur.
Journalisation des erreurs : des outils robustes de journalisation et de surveillance des erreurs ne sont pas encore en place.
Tests unitaires et d'intégration : les tests unitaires complets et les tests d'intégration ne sont pas encore implémentés.
CI/CD : Les pipelines d’intégration et de déploiement continus ne sont pas mis en place.
SDK Flutter >= 3.4.4
Fléchette >= 3.4.4
Clonez le dépôt :
clone git https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
Installer les dépendances :
flutter pub obtenir
Générez le code Isar :
dart exécuter build_runner construire
Exécutez la commande suivante pour générer du code pour Isar (une base de données NoSQL intégrée pour Flutter) :
Ajouter des clés API :
Renommez .env.example
en .env
.
Ajoutez vos clés API OpenAI et Deepgram au fichier .env
.
Exécutez l'application :
course flottante
Configurer les paramètres :
Vous pouvez accéder aux paramètres de l'application en appuyant sur l'icône d'engrenage dans le coin supérieur droit.
Apprécier!
Vous pouvez essayer l'application avec deux activités de démonstration : « Introduction » et « Whisper the Dream Analyst ».
Si vous testez sur un simulateur iOS, assurez-vous de modifier la méthode Speech-To-Text (STT) pour utiliser « Deepgram » au lieu de « Sur l'appareil », car la TTS sur l'appareil peut ne pas fonctionner correctement sur les simulateurs iOS.
Cette modification de paramètre nécessite une clé API Deepgram valide. Visitez le site Web de Deepgram pour obtenir une clé.
Vous pouvez ajuster ces paramètres directement dans l'application en appuyant sur l'icône d'engrenage dans le coin supérieur droit.
L'application utilise divers services externes comme OpenAI pour la génération de texte et Deepgram pour la synthèse vocale. Assurez-vous de les configurer dans le fichier .env
.
OPENAI_API_KEY=votre_openai_api_keyDEEPGRAM_API_KEY=votre_deepgram_api_key
Pour un guide de démarrage rapide sur la création d'une nouvelle activité, veuillez consulter le fichier SIMPLE_TUTORIAL.md.
Nous apprécions les contributions ! Veuillez consulter le fichier CONTRIBUTING.md pour connaître les directives sur la manière de contribuer.
Ce projet est sous licence internationale Creative Commons Attribution-Pas d'Utilisation Commerciale-Partage dans les mêmes conditions 4.0 . Voir le fichier LICENSE pour plus de détails.
Si vous avez des questions ou des commentaires, n'hésitez pas à ouvrir un problème ou à nous contacter à [[email protected]].