Voice Assistant Pro - AI-Powered Virtual Assistant Voice Assistant Pro - AI-Powered Virtual Assistant Project Overview Voice Assistant Pro is an intelligent virtual assistant that responds to voice and text commands, integrating multiple APIs and services to provide a wide range of functionalities. Built with Python and Streamlit, it offers natural language interaction through speech recognition and synthesis.
Key Features Core Capabilities ποΈ Voice Interaction: Speech-to-text and text-to-speech functionality
π¦οΈ Weather Reports: Real-time weather information for any city
π Knowledge Lookup: Wikipedia integration for factual information
π΅ Music Control: Spotify integration for music playback
π Web Search: Google search capabilities
β±οΈ Time Services: Current time and date information
Technical Highlights Multi-API Integration: Combines OpenWeatherMap, Wikipedia, Spotify, and Google services
Conversation History: Stores interactions in AWS S3 for persistence
Error Resilient: Comprehensive error handling for all external services
Responsive UI: Streamlit-based interface with visual feedback
Technology Stack Backend Services Speech Processing:
speech_recognition for STT (Google Speech API)
pyttsx3 for TTS (offline)
External APIs:
OpenWeatherMap (weather data)
Wikipedia API (knowledge)
Spotify (music playback)
Google Search (web queries)
Storage: AWS S3 for interaction history
Frontend Streamlit: Interactive web interface
Real-time Feedback: Visual indicators for voice processing
Responsive Design: Works on desktop and mobile
Installation Guide Prerequisites Python 3.8+
AWS account (for S3 storage)
API keys for:
OpenWeatherMap
Spotify Developer
Microphone (for voice input)
Setup Steps Clone repository:
bash git clone https://github.com/yourrepo/voice-assistant-pro.git cd voice-assistant-pro Create virtual environment:
bash python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate Install dependencies:
bash pip install -r requirements.txt Configure environment variables:
bash cp .env.example .env
Run application:
bash streamlit run app.py Usage Examples Voice Commands Click the microphone button
Speak naturally:
"What's the weather in London?"
"Play Imagine Dragons on Spotify"
"Tell me about artificial intelligence"
Text Commands Type in the input box:
"time" β Gets current time
"date" β Shows today's date
"search Python programming" β Web search
Quick Actions One-click buttons for common requests:
Current time/date
Weather for configured city
Instant web search
Architecture Diagram text [User Input] β βββ[Voice]βββΆ[Speech Recognition]βββΆ[Command Processor] β β βββ[Text]βββββββββββββββββββββββββββββ β βΌ [Service Router]ββββ¬βββΆ[Weather API] ββββΆ[Wikipedia] ββββΆ[Spotify] ββββΆ[Google Search] β βΌ [Response Generator]βββΆ[Text-to-Speech]βββΆ[User Output] β ββββΆ[AWS S3 History Storage] Configuration Environment Variables ini
WEATHER_API_KEY=your_openweathermap_key SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_secret
AWS_ACCESS_KEY_ID=your_aws_key AWS_SECRET_ACCESS_KEY=your_aws_secret S3_BUCKET_NAME=your_bucket_name Customization Options Change default city for weather
Modify voice characteristics (rate, volume)
Adjust history retention settings
Performance Metrics Operation Avg Response Time Voice Recognition 1-2s Weather Lookup 0.5-1.5s Wikipedia Query 1-3s Spotify Playback 2-4s Google Search Instant License MIT License
Roadmap Planned Features Email integration
Calendar management
Reminder system
Multiple language support
Custom wake word detection
Research Areas Local LLM integration for smarter responses
Voice cloning for personalized TTS
Offline mode capabilities
Support For technical issues, please open a GitHub issue or contact [email protected]