Live @ https://human-voice-ai-frontend.vercel.app/ (web & mobile)
A real-time emotion-aware voice agent that adapts responses based on speech emotion recognition and reinforcement learning.
- Real-time speech emotion recognition
- Emotion-adaptive responses using reinforcement learning
- Interactive web interface with Streamlit
- Model interpretability with SHAP
- Support for Apple Silicon (M1/M2) acceleration
-
Clone the repository:
git clone https://github.com/jadenfix/HumanVoiceAI.git cd HumanVoiceAI -
Set up the environment:
# Install system dependencies ./scripts/setup.sh # Activate virtual environment source venv/bin/activate # On Unix/macOS # or .\venv\Scripts\activate # On Windows # Install in development mode pip install -e .
-
Run the application:
make demo # or python -m human_voice_ai
voiceAI/
├── .github/ # GitHub workflows
├── configs/ # Configuration files
│ ├── app_config.yaml # Application configuration
│ └── ser_config.yaml # SER model configuration
├── data/ # Data files
│ ├── raw/ # Raw data
│ ├── processed/ # Processed data
│ └── samples/ # Sample audio files
├── docs/ # Documentation
├── logs/ # Log files
├── models/ # Trained models
│ └── checkpoints/ # Model checkpoints
├── notebooks/ # Jupyter notebooks
├── scripts/ # Utility and training scripts
│ ├── setup.sh # Setup script
│ └── train/ # Training scripts
├── src/ # Source code
│ └── human_voice_ai/ # Main package
│ ├── __init__.py
│ ├── __main__.py # CLI entry point
│ ├── audio/ # Audio processing
│ ├── emotion/ # Emotion recognition
│ ├── interpretability/ # Model interpretation
│ ├── policy/ # RL policies
│ ├── tts/ # Text-to-speech
│ └── utils/ # Utility functions
├── tests/ # Tests
│ ├── integration/ # Integration tests
│ └── unit/ # Unit tests
├── .gitignore
├── .pre-commit-config.yaml
├── Dockerfile
├── LICENSE
├── Makefile
├── pyproject.toml
├── README.md
└── requirements.txt
-
Install development dependencies:
pip install -e ".[dev]" pre-commit install -
Run tests:
make test -
Run linter:
make lint
-
Format code:
make format
python scripts/train/train_emotion.py --config configs/ser_config.yamlpython scripts/train/train_tts.py --config configs/tts_config.yamlThis project is licensed under the MIT License - see the LICENSE file for details.
- Jaden Fix
- GitHub: jadenfix
- LinkedIn: jadenfix
- Email: jadenfix123@gmail.com
Contributions are welcome! Please read our Contributing Guidelines for details.
- Apple Silicon M2 with 8GB+ unified memory
- macOS 14+
- Python 3.11
- Xcode Command Line Tools
-
Install Homebrew if not already installed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Install system dependencies:
brew install portaudio
-
Set up Python environment:
pyenv install 3.11.0 pyenv local 3.11.0 python -m venv venv source venv/bin/activate pip install --upgrade pip
-
Install Python dependencies:
pip install -r requirements.txt
Run the test suite:
make test- RAVDESS and CREMA-D datasets
- Coqui TTS and HiFi-GAN teams
- PyTorch and MPS team for Apple Silicon support