FlutterVoiceFriend ist eine Open-Source-Flutter-Anwendung, die Entwicklern dabei helfen soll, interaktive, sprachgesteuerte Chatbot-Erlebnisse mithilfe einer Kombination aus modernsten Speech-to-Text- (STT) und Text-to-Speech- (TTS) Technologien zu erstellen. Die App nutzt Langchain, OpenAI für die Verarbeitung natürlicher Sprache und TTS sowie sowohl geräteinterne als auch cloudbasierte Spracherkennung (einschließlich Deepgram), um flexible Sprachinteraktionsfunktionen anzubieten.
Ganz gleich, ob Sie einen virtuellen Assistenten, ein Konversations-KI-Tool oder einen pädagogischen Sprachbegleiter entwickeln, FlutterVoiceFriend bietet eine solide Grundlage für die Entwicklung anpassbarer, sprachbasierter Anwendungen.
Voice-to-Voice-Chatbot:
FlutterVoiceFriend ermöglicht nahtlose sprachgesteuerte Gespräche mithilfe fortschrittlicher STT- und TTS-Technologie. Benutzer können mit der App sprechen und sie reagiert mit natürlicher Sprachausgabe.
Mehrere Spracherkennungsoptionen:
Durch die Unterstützung sowohl geräteinterner als auch cloudbasierter STT-Technologien wird sichergestellt, dass die App Spracheingaben in verschiedenen Umgebungen mit unterschiedlichen Gerätefunktionen verarbeiten kann.
Flexibel und modular:
Die App kann problemlos an eine Vielzahl von Anwendungsfällen angepasst werden, beispielsweise für virtuelle Assistenten, Konversations-Bots, Bildungs-Apps oder Unterhaltungsplattformen.
Entwickler können Chatbot-Abläufe, -Antworten und -Verhalten ändern, um das Erlebnis an ihre spezifischen Bedürfnisse anzupassen.
Gebaut mit Flutter:
Entwickelt mit dem Flutter SDK, um Kompatibilität zwischen iOS, Android und Webplattformen zu gewährleisten. Die App bietet eine reibungslose Benutzererfahrung mit einer einzigen Codebasis.
Verarbeitung natürlicher Sprache mit Langchain & OpenAI:
Integriert die leistungsstarken Modelle von OpenAI zur Generierung natürlicher, kohärenter Gespräche.
Verwenden Sie Langchain für komplexe Gesprächsabläufe, damit der Bot differenziertere Dialoge bewältigen kann.
Anpassbare Sprachantworten:
Passen Sie die TTS-Engine an die Persönlichkeit Ihres Chatbots an. Wählen Sie aus mehreren Stimmen und Sprachen, um ein personalisiertes Benutzererlebnis zu schaffen.
Speech-to-Text-Flexibilität:
Beinhaltet STT-Optionen auf dem Gerät für eine schnellere Offline-Verarbeitung und cloudbasiertes STT (z. B. Deepgram) für eine genauere Spracherkennung in Online-Umgebungen.
Virtuelle Assistenten : Erstellen Sie intelligente sprachaktivierte virtuelle Assistenten, die bei Aufgaben, Erinnerungen oder allgemeinen Informationen helfen.
Bildungs-Apps : Erstellen Sie Gesprächsbegleiter, die Benutzer mit Sprachfeedback durch Lernerfahrungen führen.
Unterhaltung und Spiele : Entwickeln Sie interaktive, geschichtengesteuerte Apps, bei denen Benutzer über Spracheingabe mit Charakteren kommunizieren.
Gesundheitswesen und Wellness : Erstellen Sie Sprachbegleiter für Gesundheitsüberwachung, emotionale Unterstützung oder Fitnessberatung.
„FlutterVoiceFriend“ wurde ursprünglich für eine interaktive und ansprechende App entwickelt, die Kindern helfen soll, ihre Emotionen zu erkunden und Achtsamkeit durch geführte Meditations- und Selbstreflexionsübungen zu kultivieren. Der Freund in mir führt Kinder durch verschiedene Aktivitäten, die sowohl meditativer als auch reflektierender Natur sind. Ziel ist es, Kindern durch unterhaltsame, einfache und ansprechende Übungen Selbstmitgefühl, Achtsamkeit und emotionales Bewusstsein zu vermitteln.
iOS (iPhone oder iPad):
Laden Sie die App aus dem App Store herunter.
Flutter SDK : Plattformübergreifende Entwicklung für iOS, Android und Web.
Spracherkennung : Integriert geräteinterne und cloudbasierte STT (z. B. speech_to_text
und deepgram_speech_to_text
).
Audio-Backend : Kann entweder die SoLoud-Bibliothek und just_audio Plugging verwenden.
Text-to-Speech : Unterstützt von OpenAI für natürliche Sprachausgabe.
Verarbeitung großer Sprachmodelle : Verwendet Langchain- und OpenAI-Modelle, um komplexe Konversationsabläufe zu verarbeiten.
In der aktuellen Version sind mehrere Funktionen und Verbesserungen geplant, aber noch nicht implementiert. Bitte beachten Sie folgende Einschränkungen:
Nur iOS und Android: Die App ist derzeit nur mit iOS- und Android-Geräten kompatibel. Unterstützung für das Web ist in einer Zweigstelle verfügbar, erfordert jedoch eine spezielle Konfiguration. Linux-, Windows- und Mac-Plattformen sind noch nicht implementiert.
Benutzer-Feedback: Es gibt keinen integrierten Mechanismus zum Sammeln von Benutzer-Feedback innerhalb der App.
Entwicklerdokumentation: Eine umfassende Dokumentation für Entwickler ist noch nicht verfügbar.
Codekommentare: Wichtige Teile der Codebasis benötigen noch angemessene Kommentare.
Hintergrundgeräusche: Hintergrundmusik oder Naturgeräusche während Meditationsaktivitäten sind noch nicht implementiert.
Benutzerauthentifizierung: Die Benutzeranmeldefunktion ist nicht verfügbar.
Offline-Modus: Die App unterstützt derzeit keine Offline-Funktionalität.
Benutzerdatenanalyse: Anonyme Nutzungsanalysen sind nicht implementiert.
Trennung von Belangen: Die Geschäftslogik der App ist nicht vollständig von den UI-Komponenten getrennt.
Fehlerprotokollierung: Robuste Fehlerprotokollierungs- und Überwachungstools sind noch nicht vorhanden.
Unit- und Integrationstests: Umfassende Unit- und Integrationstests sind noch nicht implementiert.
CI/CD: Continuous Integration- und Deployment-Pipelines sind nicht eingerichtet.
Flutter SDK >= 3.4.4
Dart >= 3.4.4
Klonen Sie das Repository:
Git-Klon https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
Abhängigkeiten installieren:
Flatterkneipe bekommen
Isar-Code generieren:
Dart Run Build_Runner Build
Führen Sie den folgenden Befehl aus, um Code für Isar (eine eingebettete NoSQL-Datenbank für Flutter) zu generieren:
API-Schlüssel hinzufügen:
Benennen Sie .env.example
in .env
.
Fügen Sie Ihre OpenAI- und Deepgram-API-Schlüssel zur .env
Datei hinzu.
Führen Sie die App aus:
Flatterlauf
Einstellungen konfigurieren:
Sie können auf die Einstellungen der App zugreifen, indem Sie auf das Zahnradsymbol in der oberen rechten Ecke tippen.
Genießen!
Sie können die App mit zwei Demoaktivitäten ausprobieren: „Einführung“ und „Whisper the Dream Analyst“.
Wenn Sie auf einem iOS-Simulator testen, stellen Sie sicher, dass Sie die Speech-To-Text (STT)-Methode so ändern, dass sie „Deepgram“ anstelle von „Auf dem Gerät“ verwendet, da das TTS auf dem Gerät auf iOS-Simulatoren möglicherweise nicht richtig funktioniert.
Für diese Einstellungsänderung ist ein gültiger Deepgram-API-Schlüssel erforderlich. Besuchen Sie die Website von Deepgram, um einen Schlüssel zu erhalten.
Sie können diese Einstellungen direkt in der App anpassen, indem Sie oben rechts auf das Zahnradsymbol tippen.
Die App nutzt verschiedene externe Dienste wie OpenAI für die Textgenerierung und Deepgram für Speech-to-Text. Stellen Sie sicher, dass Sie diese in der .env
Datei konfigurieren.
OPENAI_API_KEY=your_openai_api_keyDEEPGRAM_API_KEY=your_deepgram_api_key
Eine Kurzanleitung zum Erstellen einer neuen Aktivität finden Sie in der Datei SIMPLE_TUTORIAL.md.
Wir freuen uns über Beiträge! Bitte überprüfen Sie die Datei CONTRIBUTING.md für Richtlinien zum Mitwirken.
Dieses Projekt ist unter der Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License lizenziert. Einzelheiten finden Sie in der LICENSE-Datei.
Wenn Sie Fragen oder Feedback haben, können Sie gerne ein Problem eröffnen oder uns unter [[email protected]] kontaktieren.