Visão Geral
AI Speech Trainer é um coach de oratória multimodal e multi-agente, baseado em IA, que escuta como falas, observa como te expressas e avalia o que dizes - ajudando-te a tornar-te um orador confiante.
Seja para uma apresentação TED, uma entrevista ou uma apresentação escolar, o AI Speech Trainer fornece-te feedback personalizado, ajudando-te a melhorar as tuas habilidades de oratória - destacando os teus pontos fortes e fracos e dando-te sugestões valiosas para falares melhor, de forma mais clara e confiante.
Este projeto foi construído como parte do Global Agent Hackathon (Maio 2025). Aproveita o poder da colaboração entre múltiplos agentes, feedback em tempo real e análise multimodal para ajudar qualquer pessoa a tornar-se um orador confiante e eficaz.
Funcionalidades
Funcionalidades Principais
- Análise de Expressões Faciais: Reconhecimento de emoções e estimativa de contacto visual
- Análise de Áudio: Ritmo, tom, clareza e palavras de preenchimento
- Avaliação de Conteúdo: Feedback baseado em GPT sobre estrutura, tom e clareza
- Feedback Personalizado: Pontuação média, avaliação geral, pontos fortes, fracos e sugestões de melhoria
Agentes
- Agente Facial: Analisa expressões, envolvimento e contacto visual
- Agente Vocal: Detecta problemas de fala (velocidade, palavras de preenchimento, tom)
- Agente de Conteúdo: Usa LLMs para avaliar e melhorar a clareza do conteúdo
- Agente de Feedback: Usa as respostas de outros agentes para avaliar o orador com base numa rubrica de pontuação
- Agente Coordenador: Uma equipa de agentes - Orquestra toda a análise e geração de feedback
Como Funciona
Fluxo do Utilizador:
- O utilizador abre a aplicação Streamlit e carrega um vídeo de si próprio a praticar um discurso ou apresentação.
- Múltiplos agentes entram em ação:
- O Agente Facial analisa expressões e contacto visual.
- O Agente Vocal transcreve o discurso e detecta atributos vocais.
- O Agente de Conteúdo avalia gramática, estrutura e coerência.
- O Agente de Feedback fornece feedback sobre a eficácia geral do discurso.
- Um Agente Coordenador agrega todas as percepções dos agentes.
O AI Speech Trainer apresenta um relatório de feedback detalhado, incluindo pontuações com base numa rubrica e um resumo do feedback.
Funcionalidade Principal:
- Reconhecimento de emoções faciais usando OpenCV, DeepFace e pontos de referência Mediapipe.
- Transcrição e análise de voz.
- Análise de conteúdo usando feedback baseado em GPT.
- Pontuação de avaliação agregada e resumo de feedback.
Elementos Multimodais:
- Áudio: Entrada de fala e análise da qualidade da voz.
- Vídeo: Rastreio de expressões faciais e feedback.
- Texto: Feedback baseado em GPT sobre estrutura, clareza e tom.
Stack Tecnológico
Ferramentas de IA/ML
- Agno: Para construir colaboração e coordenação entre múltiplos agentes.
- Ferramenta de Expressão Facial: Análise de emoções faciais - Nova ferramenta personalizada.
- Ferramenta de Análise Vocal: Transcrição e análise de voz - Nova ferramenta personalizada.
- Together API (Llama-3.3-70B-Instruct-Turbo-Free): LLM - Análise de conteúdo e geração de feedback.
Framework da Aplicação
- Streamlit: Frontend para a interface do utilizador.
- FastAPI: Para endpoints de API no backend.
Linguagens & Pacotes
- Python: Linguagem principal para lógica de backend e implementação de agentes.
- OpenCV + DeepFace + Mediapipe: Para análise de expressões faciais.
- Moviepy + Faster-Whisper + Librosa: Para análise de voz.
Abordagem da UI
Construída com Streamlit, a UI inclui:
- Página inicial com secção de Carregamento de Vídeo, botões e um espaço para exibir a Transcrição.
- Página de Feedback para exibir pontuações de avaliação, feedback detalhado, pontos fortes, fracos, sugestões de melhoria e um gráfico de desempenho.
Visuais
Arquitetura de Alto Nível
Página Inicial
Página de Feedback
Instruções de Configuração
1. Clona o repositório
git clone https://github.com/aminajavaid30/ai_speech_trainer.git
cd ai_speech_trainer
2. Instalar dependências
npm install
pip install -r requirements.txt
3. Adiciona as tuas chaves de API - Cria um ficheiro .env com:
TOGETHER_API_KEY=...
4. Inicializa o backend
Navega até à pasta backend e executa o seguinte comando:
uvicorn main:app --reload
5. Executa a aplicação
Navega até à pasta frontend e executa o seguinte comando:
streamlit run Home.py
- Líder da Equipa: https://github.com/aminajavaid30 - Designer e Desenvolvedor de Sistemas Agentes
- Membros da Equipa: https://github.com/aminajavaid30 - Projeto Individual
- Experiência/Formação: Cientista de Dados com formação em Engenharia de Software e Desenvolvimento Web. Experiente na construção de produtos de IA e fluxos de trabalho agentes.
Link do Vídeo de Demonstração
https://youtu.be/Sb0JPUpJTGQ
Estrutura de Pastas
/backend
/agents
/tools
- facial_expression_tool.py
- voice_analysis_tool.py
- content_analysis_agent.py
- coordinator_agent.py
- facial_expression_agent.py
- feedback_agent.py
- voice_analysis_agent.py
main.py (FastAPI App)
/frontend
/pages
- 1 - Feedback.py
Home.py
page_config.py
sidebar.py
style.css
.env
LICENSE
README.md
requirements.txt
Notas Adicionais
- Este projeto foi concebido para utilizar as capacidades do Agno como uma plataforma de desenvolvimento de agentes de IA. Ele demonstra o potencial do Agno como uma equipa de agentes colaborativos a trabalhar em conjunto de forma harmoniosa para abordar um desafio do mundo real - analisar apresentações orais dos utilizadores e fornecer-lhes uma avaliação abrangente e feedback para melhorar as suas habilidades de oratória. Cada agente individual tem um objetivo claro a seguir e, juntos, coordenam-se como uma equipa para resolver um problema multimodal complexo.
- Este projeto tem um enorme potencial para melhorias futuras. Poderia ser um ponto de partida para um sistema agente mais abrangente e útil. Algumas das funcionalidades adicionais propostas poderiam ser:
- Incorporar gravação de vídeo em tempo real e capacidades de conversação através de diferentes cenários de papel.
- Reproduzir a apresentação do utilizador através de um avatar de IA para ajudar os utilizadores a aprender e compreender as melhores práticas de oratória.
- Manter um registo das sessões dos utilizadores.
- Incluir um painel de desempenho para acompanhar o desempenho do utilizador ao longo do tempo.
Cada uma destas funcionalidades adicionais poderia ser adicionada implementando agentes específicos orientados para objetivos no sistema.
Limitações
- Together API com meta-llama/Llama-3.3-70B-Instruct-Turbo-Free como LLM tem um limite de tokens pequeno, portanto, funciona com pequenos clipes de vídeo (15-30 segundos).
- Utiliza outras opções de LLM para clipes de vídeo mais longos. Não te esqueças de adicionar as suas chaves de API no ficheiro .env.
Agradecimentos
Construído para o #GlobalAgentHackathonMay2025 utilizando Agno, Streamlit, Together API e FastAPI.