FlutterVoiceFriendは、開発者が最先端の STT (Speech-to-Text) テクノロジーと Text-to-Speech (TTS) テクノロジーを組み合わせて使用して、インタラクティブな音声主導のチャットボット エクスペリエンスを構築できるように設計されたオープンソースの Flutter アプリケーションです。このアプリは、Langchain、自然言語処理と TTS 用の OpenAI、およびオンデバイスとクラウドベースの音声認識 (Deepgram を含む) の両方を活用して、柔軟な音声対話機能を提供します。
仮想アシスタント、会話型 AI ツール、教育用音声コンパニオンのいずれを開発している場合でも、FlutterVoiceFriend は、カスタマイズ可能な音声ベースのアプリケーションを構築するための強固な基盤を提供します。
音声対音声チャットボット:
FlutterVoiceFriend は、高度な STT および TTS テクノロジーを使用して、シームレスな音声主導の会話を可能にします。ユーザーはアプリに話しかけると、アプリは自然な音声出力を通じて応答します。
複数の音声認識オプション:
オンデバイスとクラウドベースの STT テクノロジーの両方をサポートするため、アプリはさまざまなデバイス機能を備えたさまざまな環境で音声入力を処理できます。
柔軟かつモジュール式:
このアプリは、仮想アシスタント、会話型ボット、教育アプリ、エンターテイメント プラットフォームなど、さまざまなユースケースに合わせて簡単にカスタマイズできます。
開発者は、チャットボットのフロー、応答、動作を変更して、特定のニーズに合わせてエクスペリエンスを調整できます。
Flutter で構築:
Flutter SDK を使用して開発され、iOS、Android、Web プラットフォーム間での互換性が保証されています。このアプリは、単一のコードベースでスムーズなユーザー エクスペリエンスを提供します。
Langchain と OpenAI による自然言語処理:
OpenAI の強力なモデルを統合して、自然で一貫した会話を生成します。
複雑な会話フローに Langchain を使用すると、ボットがより微妙な会話を処理できるようになります。
カスタマイズ可能な音声応答:
チャットボットの個性に合わせて TTS エンジンを微調整します。複数の音声と言語から選択して、パーソナライズされたユーザー エクスペリエンスを作成します。
音声からテキストへの柔軟性:
より高速なオフライン処理を実現するオンデバイス STT オプションと、オンライン環境でより正確な音声認識を実現するクラウドベースの STT (Deepgram など) が含まれています。
仮想アシスタント: スマートな音声起動の仮想アシスタントを作成して、タスク、リマインダー、または一般的な情報を支援します。
教育アプリ: 音声フィードバックを使用して学習体験をユーザーに案内する、会話型のコンパニオンを構築します。
エンターテイメントとゲーム: ユーザーが音声入力を使用してキャラクターとコミュニケーションをとる、インタラクティブなストーリー主導のアプリを開発します。
ヘルスケアとウェルネス: 健康状態の追跡、感情的なサポート、またはフィットネス ガイダンスのための音声コンパニオンを作成します。
「FlutterVoiceFriend」は当初、子供たちが自分の感情を探求し、ガイド付き瞑想や内省演習を通じてマインドフルネスを養えるように設計されたインタラクティブで魅力的なアプリとして開発されました。 「フレンド・イン・ミー」は、瞑想的で内省的な性質を持つさまざまなアクティビティを通じて子供たちをガイドします。目標は、楽しく、シンプルで魅力的な演習を通じて、子供たちにセルフコンパッション、マインドフルネス、感情の認識を教えることです。
iOS (iPhone または iPad):
App Storeからアプリをダウンロードします。
Flutter SDK : iOS、Android、Web のクロスプラットフォーム開発。
音声認識: オンデバイスおよびクラウドベースの STT ( speech_to_text
およびdeepgram_speech_to_text
など) を統合します。
オーディオ バックエンド: SoLoud ライブラリと just_audio プラグインのいずれかを使用できます。
Text-to-Speech : OpenAI を利用して自然な音声出力を実現します。
大規模言語モデル処理: Langchain と OpenAI モデルを利用して、複雑な会話フローを処理します。
現在のバージョンでは、計画されているもののまだ実装されていない機能や拡張機能がいくつかあります。次の制限事項に注意してください。
iOS および Android のみ:このアプリは現在、iOS および Android デバイスとのみ互換性があります。 Web のサポートはブランチで利用できますが、特別な構成が必要です。Linux、Windows、および Mac プラットフォームはまだ実装されていません。
ユーザー フィードバック:アプリ内にはユーザー フィードバックを収集するためのメカニズムが組み込まれていません。
開発者向けドキュメント:開発者向けの包括的なドキュメントはまだ入手できません。
コードのコメント:コードベースの主要な部分には、依然として適切なコメントが必要です。
背景音:瞑想活動中の背景音楽や自然音はまだ実装されていません。
ユーザー認証:ユーザーのサインイン機能は使用できません。
オフライン モード:アプリは現在、オフライン機能をサポートしていません。
ユーザー データ分析:匿名の使用状況分析は実装されていません。
関心事の分離:アプリのビジネス ロジックは UI コンポーネントから完全に分離されていません。
エラー ログ:強力なエラー ログおよび監視ツールはまだ導入されていません。
単体テストと統合テスト:包括的な単体テストと統合テストはまだ実装されていません。
CI/CD:継続的インテグレーションとデプロイメントのパイプラインがセットアップされていません。
Flutter SDK >= 3.4.4
ダーツ >= 3.4.4
リポジトリのクローンを作成します。
git clone https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
依存関係をインストールします。
フラッターパブゲット
Isar コードを生成します。
ダーツラン build_runner build
次のコマンドを実行して、Isar (Flutter の組み込み NoSQL データベース) のコードを生成します。
API キーを追加します。
.env.example
名前を.env
に変更します。
OpenAI および Deepgram API キーを.env
ファイルに追加します。
アプリを実行します。
フラッターラン
設定を構成します:
右上隅にある歯車アイコンをタップすると、アプリの設定にアクセスできます。
楽しむ!
「はじめに」と「夢のアナリストをささやく」という 2 つのデモ アクティビティでアプリを試すことができます。
iOS シミュレータでテストしている場合は、デバイス上の TTS が iOS シミュレータで正しく機能しない可能性があるため、Speech-To-Text (STT) メソッドを「オンデバイス」ではなく「ディープグラム」を使用するように変更してください。
この設定変更には有効な Deepgram API キーが必要です。 Deepgram の Web サイトにアクセスしてキーを取得します。
右上隅にある歯車アイコンをタップすると、アプリ内でこれらの設定を直接調整できます。
このアプリは、テキスト生成には OpenAI 、音声テキスト変換には Deepgram など、さまざまな外部サービスを使用します。これらを.env
ファイルで必ず設定してください。
OPENAI_API_KEY=your_openai_api_keyDEEPGRAM_API_KEY=your_deepgram_api_key
新しいアクティビティの作成に関するクイック スタート ガイドについては、SIMPLE_TUTORIAL.md ファイルを参照してください。
寄付を歓迎します!貢献方法のガイドラインについては、CONTRIBUTING.md ファイルを確認してください。
このプロジェクトは、クリエイティブ コモンズ 表示 - 非営利 - 継承 4.0 国際ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
ご質問やフィードバックがございましたら、お気軽に問題をオープンするか、[[email protected]] までご連絡ください。