FlutterVoiceFriend é um aplicativo Flutter de código aberto projetado para ajudar os desenvolvedores a criar experiências de chatbot interativas e orientadas por voz usando uma combinação de tecnologias de ponta de fala para texto (STT) e texto para fala (TTS). O aplicativo aproveita Langchain, OpenAI para processamento de linguagem natural e TTS, bem como reconhecimento de fala no dispositivo e baseado em nuvem (incluindo Deepgram) para oferecer recursos flexíveis de interação de voz.
Esteja você desenvolvendo um assistente virtual, uma ferramenta de IA conversacional ou um companheiro de voz educacional, o FlutterVoiceFriend fornece uma base sólida para a construção de aplicativos personalizáveis baseados em voz.
Chatbot voz a voz:
FlutterVoiceFriend permite conversas contínuas por voz usando tecnologia avançada STT e TTS. Os usuários podem falar com o aplicativo e ele responderá por meio de saída de voz natural.
Várias opções de reconhecimento de fala:
O suporte para tecnologias STT no dispositivo e baseadas na nuvem garante que o aplicativo possa lidar com entradas de voz em diversos ambientes com diversos recursos de dispositivo.
Flexível e Modular:
O aplicativo pode ser facilmente personalizado para atender a uma variedade de casos de uso, como assistentes virtuais, bots de conversação, aplicativos educacionais ou plataformas de entretenimento.
Os desenvolvedores podem modificar fluxos, respostas e comportamentos do chatbot para adaptar a experiência às suas necessidades específicas.
Construído com Flutter:
Desenvolvido usando o Flutter SDK, garantindo compatibilidade nas plataformas iOS, Android e Web. O aplicativo oferece uma experiência de usuário tranquila com uma única base de código.
Processamento de linguagem natural com Langchain e OpenAI:
Integra os modelos poderosos da OpenAI para gerar conversas naturais e coerentes.
Use Langchain para fluxos de conversação complexos, permitindo que o bot lide com diálogos mais sutis.
Respostas de voz personalizáveis:
Ajuste o mecanismo TTS para combinar com a personalidade do seu chatbot. Escolha entre diversas vozes e idiomas para criar uma experiência de usuário personalizada.
Flexibilidade de fala para texto:
Inclui opções de STT no dispositivo para processamento offline mais rápido e STT baseado em nuvem (por exemplo, Deepgram) para reconhecimento de fala mais preciso em ambientes online.
Assistentes virtuais : crie assistentes virtuais inteligentes ativados por voz para ajudar com tarefas, lembretes ou informações gerais.
Aplicativos educacionais : crie companheiros de conversação que orientam os usuários em experiências de aprendizagem com feedback de voz.
Entretenimento e jogos : Desenvolva aplicativos interativos baseados em histórias onde os usuários se comunicam com os personagens usando entrada de voz.
Saúde e bem-estar : crie companheiros de voz para monitoramento de saúde, suporte emocional ou orientação sobre condicionamento físico.
"FlutterVoiceFriend" foi inicialmente desenvolvido para um aplicativo interativo e envolvente projetado para ajudar as crianças a explorar suas emoções e cultivar a atenção plena por meio de meditação guiada e exercícios de autorreflexão. The Friend in Me orienta as crianças em diversas atividades de natureza meditativa e reflexiva. O objetivo é ensinar às crianças autocompaixão, atenção plena e consciência emocional por meio de exercícios divertidos, simples e envolventes.
iOS (iPhone ou iPad):
Baixe o aplicativo na App Store.
Flutter SDK : Desenvolvimento multiplataforma para iOS, Android e Web.
Reconhecimento de fala : integra STT no dispositivo e baseado em nuvem (por exemplo, speech_to_text
e deepgram_speech_to_text
).
Backend de áudio : pode usar a biblioteca SoLoud e a conexão just_audio.
Conversão de texto para fala : desenvolvido com OpenAI para saída de voz natural.
Processamento de modelo de linguagem grande : utiliza modelo Langchain e OpenAI para lidar com fluxos de conversação complexos.
A partir da versão atual, existem vários recursos e melhorias planejados, mas ainda não implementados. Observe as seguintes limitações:
Apenas iOS e Android: Atualmente, o aplicativo é compatível apenas com dispositivos iOS e Android. O suporte para web está disponível em uma filial, mas requer configuração especial. As plataformas Linux, Windows e Mac ainda não estão implementadas.
Feedback do usuário: não há mecanismo integrado para coletar feedback do usuário no aplicativo.
Documentação do desenvolvedor: a documentação abrangente para desenvolvedores ainda não está disponível.
Comentários de código: partes importantes da base de código ainda precisam de comentários adequados.
Sons de fundo: Música de fundo ou sons da natureza durante atividades de meditação ainda não foram implementadas.
Autenticação do usuário: a funcionalidade de login do usuário não está disponível.
Modo offline: o aplicativo atualmente não oferece suporte à funcionalidade offline.
Análise de dados do usuário: análises de uso anônimas não são implementadas.
Separação de preocupações: a lógica de negócios do aplicativo não está totalmente separada dos componentes da UI.
Registro de erros: ainda não existem ferramentas robustas de registro de erros e monitoramento.
Testes unitários e de integração: testes unitários e de integração abrangentes ainda não foram implementados.
CI/CD: Os pipelines de integração e implantação contínua não estão configurados.
Flutter SDK >= 3.4.4
Dardo >= 3.4.4
Clone o repositório:
clone git https://github.com/jbpassot/flutter_voice_friend.gitcd flutter_voice_friend
Instale dependências:
pub vibrante obter
Gere o código Isar:
dardo executar build_runner construir
Execute o seguinte comando para gerar código para Isar (um banco de dados NoSQL integrado para Flutter):
Adicione chaves de API:
Renomeie .env.example
para .env
.
Adicione suas chaves de API OpenAI e Deepgram ao arquivo .env
.
Execute o aplicativo:
corrida agitada
Definir configurações:
Você pode acessar as configurações do aplicativo tocando no ícone de engrenagem no canto superior direito.
Aproveitar!
Você pode experimentar o aplicativo com duas atividades de demonstração: 'Introdução' e 'Sussurre o analista dos sonhos'.
Se você estiver testando em um simulador iOS, certifique-se de alterar o método Speech-To-Text (STT) para usar 'Deepgram' em vez de 'On Device', pois o TTS no dispositivo pode não funcionar corretamente em simuladores iOS.
Esta alteração de configuração requer uma chave de API Deepgram válida. Visite o site do Deepgram para obter uma chave.
Você pode ajustar essas configurações diretamente no aplicativo tocando no ícone de engrenagem no canto superior direito.
O aplicativo usa vários serviços externos como OpenAI para geração de texto e Deepgram para conversão de fala em texto. Certifique-se de configurá-los no arquivo .env
.
OPENAI_API_KEY=sua_openai_api_keyDEEPGRAM_API_KEY=sua_deepgram_api_key
Para obter um guia de início rápido sobre como criar uma nova atividade, consulte o arquivo SIMPLE_TUTORIAL.md.
Aceitamos contribuições! Verifique o arquivo CONTRIBUTING.md para obter orientações sobre como contribuir.
Este projeto está licenciado sob a Licença Internacional Creative Commons Attribution-NonCommercial-ShareAlike 4.0 . Consulte o arquivo LICENSE para obter detalhes.
Se você tiver alguma dúvida ou feedback, sinta-se à vontade para abrir um problema ou entre em contato conosco em [[email protected]].