An AI-powered application that uses computer microphone input to convert speech to text and generate recommendations for improving presentation skills.
This application provides real-time feedback on presentation skills by:
- Capturing audio from the computer's microphone
- Converting speech to text using AI
- Analyzing presentation patterns and delivery
- Generating actionable recommendations for improvement
oratriq/
├── README.md # Project documentation
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore patterns
├── .env.example # Environment variables template
├── .cursor/ # Cursor IDE configuration
│ └── rules/
│ └── project-rules.mdc # Project coding standards and guidelines
├── config/
│ ├── __init__.py
│ └── settings.py # Application configuration
├── src/
│ ├── __init__.py
│ ├── main.py # Main CLI entry point
│ ├── audio/
│ │ ├── __init__.py
│ │ ├── recorder.py # Audio recording functionality
│ │ └── processor.py # Audio processing utilities
│ ├── speech/
│ │ ├── __init__.py
│ │ ├── stt.py # Speech-to-text conversion
│ │ └── analyzer.py # Speech analysis
│ ├── ai/
│ │ ├── __init__.py
│ │ ├── recommender.py # AI recommendation engine
│ │ └── models.py # AI model configurations
│ └── utils/
│ ├── __init__.py
│ ├── logger.py # Logging utilities
│ └── helpers.py # General helper functions
├── tests/
│ ├── __init__.py
│ ├── test_audio.py
│ ├── test_speech.py
│ └── test_ai.py
└── data/
├── recordings/ # Audio recordings (gitignored)
└── transcripts/ # Speech transcripts (gitignored)
- Real-time microphone audio capture
- Speech-to-text conversion
- Basic presentation analysis
- Command-line recommendations output
- Advanced speech pattern analysis
- Confidence scoring
- Historical performance tracking
- Export reports
- Real-time feedback during presentations
- Integration with presentation software
- Web interface
- Multi-language support
- Python 3.8+: Core application language
- Speech Recognition: Audio processing and STT
- OpenAI API: Advanced text analysis and recommendations
- PyAudio: Audio recording and playback
- Click: Command-line interface framework
- Pydantic: Data validation and settings management
- Follow PEP 8 style guidelines
- Use type hints for all function parameters and return values
- Maximum line length: 88 characters (Black formatter)
- Use meaningful variable and function names
- Write unit tests for all modules
- Maintain minimum 80% code coverage
- Use pytest for testing framework
- Mock external dependencies in tests
- Use docstrings for all public functions and classes
- Follow Google docstring format
- Keep README updated with new features
- Document API endpoints and configuration options
- Implement comprehensive error handling
- Use custom exception classes for domain-specific errors
- Log errors with appropriate levels
- Provide user-friendly error messages
- Python 3.8 or higher
- Microphone access
- OpenAI API key (for advanced features)
- Clone the repository
- Create a virtual environment:
python -m venv venv - Activate the virtual environment:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
- Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand configure your settings - Run the application:
python src/main.py
# Start a presentation session
python src/main.py start
# Analyze a recorded audio file
python src/main.py analyze --file path/to/recording.wav
# Get help
python src/main.py --helpThe application can be configured through:
- Environment variables (see
.env.example) - Configuration file (
config/settings.py) - Command-line arguments
- Fork the repository
- Create a feature branch
- Make your changes following the coding guidelines
- Add tests for new functionality
- Update documentation as needed
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please open an issue on the GitHub repository.