YapperGUI is a powerful desktop application that transcribes YouTube videos and generates summaries using AI. It combines the power of OpenAI's Whisper model for transcription and Ollama's local LLM for summarization.
- 🎥 YouTube video transcription
- 🤖 AI-powered summarization
- 🌍 Automatic language detection
- ⚡ GPU acceleration support
- 🎯 Timestamp support
- ⚙️ Configurable model settings
- 📝 Save transcriptions and summaries
- Python 3.8+
- FFmpeg
- CUDA-compatible GPU (optional, for faster processing)
- Ollama with mistral model installed
- Clone the repository:
git clone https://github.com/yourusername/yappergui.git
cd yappergui
- Install dependencies:
pip install -r requirements.txt
- Install Ollama and the mistral model:
# Install Ollama (macOS)
curl https://ollama.ai/install.sh | sh
# Pull the mistral model
ollama pull mistral
- Run the application:
python main.py
- Launch the application
- Paste a YouTube URL into the input field
- Click "Podsumuj" to start processing
- Wait for the transcription and summary to complete
- Use the "Save to File" button to save the results
You can configure various settings through the Settings menu:
- Whisper Model Size: tiny, base, small, medium, large, large-v2
- Processing Device: CPU or CUDA
- FFmpeg Path
- Timestamp Display
main.py
- Application entry pointgui.py
- Main GUI implementationaudio_processor.py
- YouTube audio download and processingtranscription.py
- Whisper model transcriptionsettings.py
- Settings window and configurationconfig.py
- Configuration managementlogger.py
- Logging systemutils.py
- Utility functions
The application includes comprehensive error handling for common issues:
- Network connectivity problems
- FFmpeg missing or misconfigured
- GPU/CUDA issues
- File system permissions
- Invalid YouTube URLs
Logs are stored in the logs
directory with the following format:
- Daily log files:
yapper_YYYYMMDD.log
- Both console and file logging
- Different log levels (DEBUG, INFO, ERROR)
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.