# Agente Treinador de Fala de IA

> O Agente Treinador de Fala de IA é um coach de oratória multimodal que avalia como o utilizador fala, se expressa e o que diz, ajudando-o a tornar-se um orador confiante.

- Fonte: https://doutorai.pt/apps/ai-speech-trainer-agent
- Categoria: Equipas de Agentes
- Dificuldade: Avançado
- Modelos: OpenAI, Llama
- Frameworks: Agno
- Corre local?: Precisa de APIs cloud
- Chaves necessárias: TOGETHER_API_KEY
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

# AI Speech Trainer Agent

## 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**: 
1. O utilizador abre a aplicação Streamlit e carrega um vídeo de si próprio a praticar um discurso ou apresentação.

2. 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
<img src="visuals/ai_speech_trainer.drawio.png">

### Página Inicial
<img src="visuals/home.png">

### Página de Feedback
<img src="visuals/feedback.png">

## Instruções de Configuração
### 1. Clona o repositório

```sh
git clone https://github.com/aminajavaid30/ai_speech_trainer.git
cd ai_speech_trainer
```

### 2. Instalar dependências

```bash
npm install
```

```sh
pip install -r requirements.txt
```

### 3. **Adiciona as tuas chaves de API** - Cria um ficheiro .env com:

```sh
TOGETHER_API_KEY=...
```

### 4. Inicializa o backend
Navega até à pasta **backend** e executa o seguinte comando:

```sh
uvicorn main:app --reload
```

### 5. Executa a aplicação
Navega até à pasta **frontend** e executa o seguinte comando:

```sh
streamlit run Home.py
```

## Informação da Equipa
- **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

```sh
/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:
  1. Incorporar gravação de vídeo em tempo real e capacidades de conversação através de diferentes cenários de papel.
  2. 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.
  3. Manter um registo das sessões dos utilizadores.
  4. 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.

## Poupe horas todas as semanas com IA, sem complicações

O **Doutor AI** dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/ai-speech-trainer-agent
