FlutterVoiceFriend 는 개발자가 최첨단 STT(음성-텍스트) 및 TTS(텍스트-음성) 기술의 조합을 사용하여 대화형 음성 기반 챗봇 경험을 구축할 수 있도록 돕기 위해 설계된 오픈 소스 Flutter 애플리케이션입니다. 이 앱은 자연어 처리 및 TTS를 위한 Langchain, OpenAI는 물론 온디바이스 및 클라우드 기반 음성 인식(Deepgram 포함)을 활용하여 유연한 음성 상호 작용 기능을 제공합니다.
가상 비서, 대화형 AI 도구 또는 교육용 음성 동반자를 개발하는 경우 FlutterVoiceFriend는 사용자 정의 가능한 음성 기반 애플리케이션을 구축하기 위한 견고한 기반을 제공합니다.
음성 대 음성 챗봇:
FlutterVoiceFriend는 고급 STT 및 TTS 기술을 사용하여 원활한 음성 기반 대화를 허용합니다. 사용자는 앱에 말할 수 있으며 앱은 자연스러운 음성 출력을 통해 응답합니다.
다중 음성 인식 옵션:
온디바이스 및 클라우드 기반 STT 기술을 모두 지원하면 앱이 다양한 장치 기능을 갖춘 다양한 환경에서 음성 입력을 처리할 수 있습니다.
유연성 및 모듈식:
가상 비서, 대화형 봇, 교육용 앱, 엔터테인먼트 플랫폼 등 다양한 사용 사례에 맞게 앱을 쉽게 맞춤 설정할 수 있습니다.
개발자는 챗봇 흐름, 응답 및 동작을 수정하여 특정 요구 사항에 맞게 경험을 맞춤화할 수 있습니다.
Flutter로 구축:
Flutter SDK를 사용하여 개발되었으며 iOS, Android 및 웹 플랫폼 간의 호환성을 보장합니다. 이 앱은 단일 코드베이스로 원활한 사용자 경험을 제공합니다.
Langchain 및 OpenAI를 사용한 자연어 처리:
자연스럽고 일관된 대화를 생성하기 위해 OpenAI의 강력한 모델을 통합합니다.
복잡한 대화 흐름에 Langchain을 사용하면 봇이 보다 미묘한 대화를 처리할 수 있습니다.
맞춤형 음성 응답:
챗봇의 성격에 맞게 TTS 엔진을 조정하세요. 다양한 음성과 언어 중에서 선택하여 개인화된 사용자 경험을 만드세요.
음성-텍스트 유연성:
더 빠른 오프라인 처리를 위한 온디바이스 STT 옵션과 온라인 환경에서 보다 정확한 음성 인식을 위한 클라우드 기반 STT(예: Deepgram)가 포함되어 있습니다.
가상 도우미 : 작업, 미리 알림 또는 일반 정보를 도와주는 스마트 음성 활성화 가상 도우미를 만듭니다.
교육용 앱 : 음성 피드백을 통해 사용자에게 학습 경험을 안내하는 대화 동반자를 구축합니다.
엔터테인먼트 및 게임 : 사용자가 음성 입력을 사용하여 캐릭터와 소통하는 대화형 스토리 중심 앱을 개발합니다.
건강 관리 및 웰니스 : 건강 추적, 정서적 지원 또는 피트니스 안내를 위한 음성 동반자를 만듭니다.
"FlutterVoiceFriend"는 처음에는 안내 명상 및 자기 성찰 연습을 통해 아이들이 자신의 감정을 탐구하고 마음챙김을 키우는 데 도움을 주기 위해 설계된 대화형의 매력적인 앱용으로 개발되었습니다. 내 안의 친구는 명상적이고 성찰적인 다양한 활동을 통해 아이들을 안내합니다. 목표는 재미있고 간단하며 매력적인 연습을 통해 아이들에게 자기 연민, 마음 챙김, 정서적 인식을 가르치는 것입니다.
iOS(아이폰 또는 아이패드):
App Store에서 앱을 다운로드하세요.
Flutter SDK : iOS, Android, 웹용 크로스 플랫폼 개발.
음성 인식 : 온디바이스 및 클라우드 기반 STT(예: speech_to_text
및 deepgram_speech_to_text
)를 통합합니다.
오디오 백엔드 : SoLoud 라이브러리와 just_audio 플러그를 사용할 수 있습니다.
Text-to-Speech : 자연스러운 음성 출력을 위해 OpenAI로 구동됩니다.
대규모 언어 모델 처리 : Langchain 및 OpenAI 모델을 활용하여 복잡한 대화 흐름을 처리합니다.
현재 버전에는 계획되었지만 아직 구현되지 않은 몇 가지 기능과 개선 사항이 있습니다. 다음 제한 사항에 유의하세요.
iOS 및 Android 전용: 이 앱은 현재 iOS 및 Android 기기하고만 호환됩니다. 웹 지원은 지점에서 가능하지만 특별한 구성이 필요합니다. Linux, Windows 및 Mac 플랫폼은 아직 구현되지 않았습니다.
사용자 피드백: 앱 내에는 사용자 피드백을 수집하기 위한 기본 제공 메커니즘이 없습니다.
개발자 문서: 개발자를 위한 포괄적인 문서는 아직 제공되지 않습니다.
코드 주석: 코드베이스의 주요 부분에는 여전히 적절한 주석이 필요합니다.
배경음: 명상 활동 중 배경 음악이나 자연 소리는 아직 구현되지 않았습니다.
사용자 인증: 사용자 로그인 기능을 사용할 수 없습니다.
오프라인 모드: 앱은 현재 오프라인 기능을 지원하지 않습니다.
사용자 데이터 분석: 익명 사용 분석은 구현되지 않습니다.
우려사항의 분리: 앱의 비즈니스 로직이 UI 구성요소와 완전히 분리되지 않았습니다.
오류 로깅: 강력한 오류 로깅 및 모니터링 도구가 아직 마련되어 있지 않습니다.
단위 및 통합 테스트: 포괄적인 단위 테스트 및 통합 테스트는 아직 구현되지 않았습니다.
CI/CD: 지속적인 통합 및 배포 파이프라인이 설정되지 않습니다.
Flutter SDK >= 3.4.4
다트 >= 3.4.4
저장소를 복제합니다.
자식 클론 https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
종속성을 설치합니다.
플러터 펍 겟
Isar 코드 생성:
다트 실행 build_runner 빌드
다음 명령을 실행하여 Isar(Flutter용 내장형 NoSQL 데이터베이스)용 코드를 생성하세요.
API 키 추가:
.env.example
이름을 .env
로 바꿉니다.
OpenAI 및 Deepgram API 키를 .env
파일에 추가하세요.
앱을 실행합니다.
설레다
설정 구성:
오른쪽 상단에 있는 톱니바퀴 아이콘을 탭하여 앱 설정에 액세스할 수 있습니다.
즐기다!
'소개'와 '꿈 분석가의 속삭임'이라는 두 가지 데모 활동으로 앱을 사용해 볼 수 있습니다.
iOS 시뮬레이터에서 테스트하는 경우 STT(Speech-To-Text) 방식을 'On Device' 대신 '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 에 따라 라이센스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
질문이나 의견이 있는 경우 언제든지 문제를 공개하거나 [[email protected]]으로 문의해 주세요.