Skip to content

shauryavardhan1307/NOVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

███╗   ██╗ ██████╗ ██╗   ██╗ █████╗ 
████╗  ██║██╔═══██╗██║   ██║██╔══██╗
██╔██╗ ██║██║   ██║██║   ██║███████║
██║╚██╗██║██║   ██║╚██╗ ██╔╝██╔══██║
██║ ╚████║╚██████╔╝ ╚████╔╝ ██║  ██║
╚═╝  ╚═══╝ ╚═════╝   ╚═══╝  ╚═╝  ╚═╝

New Omni Voice Assistant

A voice-activated AI desktop assistant with a dark HUD interface

Python Gemini CustomTkinter License


🚀 What is NOVA?

NOVA is a high-performance, voice-activated AI desktop assistant built with Python 3.11. It features a sleek dark-mode HUD (Heads-Up Display) and integrates Google Gemini 2.5 Flash-Lite for intelligent, context-aware responses with conversation memory.


✨ Features

Feature Description
🎙️ Voice Commands Real-time speech recognition via Google Speech API
⌨️ Text Input Type commands directly in the HUD — no mic needed
🧠 AI with Memory Gemini AI remembers your last 10 exchanges for context
📋 Live Task Panel Add, list, and complete tasks — visible in the UI in real time
🔇 Mute Toggle Instantly mute/unmute text-to-speech from the UI
🕐 Live Clock Real-time date and time displayed in the header
🖥️ PC Health Monitor CPU, RAM, and Disk usage by voice
🌤️ Weather Instant weather updates for your configured city
🗑️ Clear Log One-click terminal log wipe
🔐 Secure API Key API key stored in .env — never hardcoded
⚙️ Config File Customize name, city, voice speed without touching code

🗣️ Voice Commands

"What time is it"          → Current time
"What's the date"          → Today's date
"Weather"                  → Weather for your city
"PC health"                → CPU, RAM, Disk usage
"Open YouTube"             → Opens YouTube
"Open VS Code"             → Launches VS Code
"Open Spotify"             → Opens Spotify
"Open GitHub"              → Opens GitHub
"Screenshot"               → Saves timestamped screenshot
"Add task: <task name>"    → Adds to task board
"List tasks"               → Reads out all tasks
"Complete task 1"          → Marks task 1 as done
"Take note: <text>"        → Saves to quick_notes.txt
"Tell me a joke"           → Random developer joke
"Clear memory"             → Clears AI conversation history
"Exit" / "Goodbye"         → Shuts down NOVA
"Anything else..."         → Answered by Gemini AI

🏗️ Architecture

NOVA/
├── dev.py              # Core logic, voice loop, command processor
├── dev_ui.py           # HUD UI — CustomTkinter interface
├── config.json         # User settings (name, city, voice)
├── .env                # API key (never uploaded to GitHub)
├── .env.example        # Template for setting up .env
├── requirements.txt    # All dependencies
├── project_tasks.json  # Auto-generated task storage
└── quick_notes.txt     # Auto-generated voice notes
Component Technology
Language Python 3.11
UI Framework CustomTkinter
LLM Google Gemini 2.5 Flash-Lite
Speech-to-Text Google Web Speech API
Text-to-Speech SAPI5 via pyttsx3
Threading Python threading module
Config python-dotenv + config.json

⚡ Quick Start

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/NOVA.git
cd NOVA

2. Install dependencies

py -3.11 -m pip install -r requirements.txt

3. Set up your API key

  • Get a free key from Google AI Studio
  • Copy .env.example → rename to .env
  • Add your key:
GEMINI_API_KEY=your_key_here

4. Configure your settings

Edit config.json:

{
  "user_name": "Your Name",
  "city": "Your City",
  "voice_rate": 180,
  "voice_index": 0
}

5. Run NOVA

py -3.11 dev.py

🔒 Security

  • API key is stored in .env which is listed in .gitignore
  • The .env file is never committed to GitHub
  • Use .env.example as a safe template to share setup instructions

📋 Requirements

  • Windows 10/11
  • Python 3.11
  • Microphone (optional — text input works without one)
  • Google Gemini API key (free)

Made by Shaurya Vardhan

About

AI-powered voice assistant with HUD UI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages