Skip to content

A voice triggered desktop assistant in python written with sole purpose of exploring the limits of "AI" without machine learning

Notifications You must be signed in to change notification settings

vihar-s1/Desktop-Assistant

Repository files navigation

🖥️ Desktop Assistant

forks Watchers Repo stars Contributors Issues

A simple Python-based desktop assistant that can perform basic tasks like searching on Google, opening applications, telling the time, and more WITHOUT the use of Machine Learning (ML) or Artificial Intelligence (AI).

Table of Contents

🚀 Introduction

  • The project is a simple Python-based desktop assistant that can perform basic tasks like searching on Google, opening applications, telling the time, and more.
  • The assistant is still in the development phase, and more features will be added in the future.
  • The assistant is built using Python and does not use any Machine Learning (ML) or Artificial Intelligence (AI) models.
  • The assistant is built using the pyttsx3 library for text-to-speech conversion and the speech_recognition library for speech recognition.
  • The project is open-source and contributions and/or feature requests are always welcome.

✨ Features

  • Google and Wikipedia searches 🌐
  • Open applications and websites 🚀
  • Tell time of the day in hour : minute : second format ⏰
  • Scroll the screen up and down, left and right. 📜

🚀 Getting Started

To get started with the project, follow the instructions below.

  • The project is built using Python, so make sure you have Python installed on your system.

🛠️ Installation

  1. Download and extract the zip file or clone the repository using the following command.

    git clone https://github.com/vihar-s1/Desktop-Assistant
  2. In the project root directory run setupProject.sh script to create a virtual environment, and setup the project.

    bash setupProject.sh
  3. Once setup is complete, simply run the assistant.py file to start using the Assistant.

    python3 assistant.py

🛠️ macOS Specific Fixes

If you encounter the following error on macOS:

@objc.python_method annotation error

File ".../.venv/lib/python3.12/site-packages/pyttsx3/drivers/nsss.py", line 27, in NSSpeechDriver
@objc.python_method
^^^^
NameError: name 'objc' is not defined. Did you mean: 'object'?

Then open the nsss.py library file and import objc at the top of the file.

import objc

You may need to install PyObjC using the following command:

pip3 install pyobjc

NSSpeechDriver super() error

If you encounter the following error:

File "/Users/viharshah/Desktop/IdeaProjects/Desktop-Assistant/.venv/lib/python3.12/site-packages/pyttsx3/drivers/nsss.py", line 30, in initWithProxy
self = super(NSSpeechDriver, self).init()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'super' object has no attribute 'init'
sys:1: UninitializedDeallocWarning: leaking an uninitialized object of type NSSpeechDriver

Then replace the super(NSSpeechDriver, self).init() line with the following:

objc.super(NSSpeechDriver, self).init()

🤝 Contributing

🐞 Bug Reports and Feature Requests

  • If you encounter an issue or want to report a bug, following is the Bug Report Template you will be asked to follow.
  • Any new feature requests will also be appreciated if it follows the predefined Feature Request Template.

NOTE: The templates are predefined and integrated in the repository so you can go to the Issues Tab and start writing your bug report, or feature request without any problem.

💬 Discussion Groups

To discuss the project in depth with the contributors of the project about new features, bug requests, or just suggestions, go to the Discussion Page of the repository.

About

A voice triggered desktop assistant in python written with sole purpose of exploring the limits of "AI" without machine learning

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published