FlutterVoiceFriend是一款開源 Flutter 應用程序,旨在幫助開發人員結合使用尖端的語音轉文字 (STT) 和文字轉語音 (TTS) 技術來建立互動式、語音驅動的聊天機器人體驗。該應用程式利用 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 外掛程式。
文字轉語音:由 OpenAI 提供支持,可實現自然的語音輸出。
大型語言模型處理:利用Langchain和OpenAI模型處理複雜的對話流。
截至目前版本,有多項功能和增強功能已規劃但尚未實施。請注意以下限制:
僅限 iOS 和 Android:該應用程式目前僅與 iOS 和 Android 裝置相容。分支中提供了對 Web 的支持,但需要特殊配置 Linux、Windows 和 Mac 平台尚未實現。
使用者回饋:應用程式內沒有收集使用者回饋的內建機制。
開發人員文件:尚未提供針對開發人員的綜合文件。
程式碼註釋:程式碼庫的關鍵部分仍然需要足夠的註解。
背景聲音:冥想活動期間的背景音樂或自然聲音尚未實現。
使用者身份驗證:使用者登入功能不可用。
離線模式:該應用程式目前不支援離線功能。
使用者資料分析:未實施匿名使用分析。
關注點分離:應用程式的業務邏輯沒有與 UI 元件完全分離。
錯誤記錄:強大的錯誤記錄和監控工具尚未到位。
單元和整合測試:尚未實施全面的單元測試和整合測試。
CI/CD:未建立持續整合和部署管道。
顫振 SDK >= 3.4.4
飛鏢 >= 3.4.4
克隆儲存庫:
git 克隆 https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
安裝依賴項:
撲撲酒吧得到
產生 Isar 代碼:
dart 運行 build_runner 構建
執行以下指令為 Isar(Flutter 的嵌入式 NoSQL 資料庫)產生程式碼:
新增 API 金鑰:
將.env.example
重命名為.env
。
將 OpenAI 和 Deepgram API 金鑰加入到.env
檔中。
運行應用程式:
撲騰跑
配置設定:
您可以透過點擊右上角的齒輪圖示來存取應用程式的設定。
享受!
您可以嘗試該應用程式的兩個演示活動:“介紹”和“夢境分析師耳語”。
如果您在 iOS 模擬器上進行測試,請確保將語音轉文字 (STT) 方法變更為使用“Deepgram”而不是“裝置上”,因為裝置上的 TTS 可能無法在 iOS 模擬器上正常運作。
此設定更改需要有效的 Deepgram API 金鑰。造訪 Deepgram 的網站以取得金鑰。
您可以透過點擊右上角的齒輪圖示直接在應用程式內調整這些設定。
該應用程式使用各種外部服務,例如用於文字生成的 OpenAI 和用於語音轉文字的 Deepgram。確保在.env
檔中配置這些。
OPENAI_API_KEY=your_openai_api_keyDEEPGRAM_API_KEY=your_deepgram_api_key
有關建立新活動的快速入門指南,請參閱 SIMPLE_TUTORIAL.md 檔案。
我們歡迎貢獻!請檢查 CONTRIBUTING.md 檔案以取得有關如何貢獻的指南。
該專案根據Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License授權。有關詳細信息,請參閱許可證文件。
如果您有任何問題或回饋,請隨時提出問題或透過 [[email protected]] 與我們聯繫。