Skip to content

YashvardhanG/Cynthia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 

Repository files navigation

Cynthia


Logo

Cynthia

AI Computer Assistant

Table of Contents
  1. About
  2. Requirements
  3. Working
  4. Developments
  5. License
  6. Contribute
  7. Contact
  8. Acknowledgements

About

Cynthia is an Artificial Intelligent Computer Assistant. It can help you with various kinds of things and reduce your effort of opening and executing things.

Cynthia can execute basic functions like commencing a countdown, information about the weather, and even perform an advanced task such as helping you in taking down notes and read them as well. This Assistant works in two modes, Voice and Text based modes. By default, it runs in text mode (command prompt). The modes can easily be switched by just writing or speaking, 'change mode' as your command.

The purpose behind building this Computer Assistant is to reduce the effort that is required in performing very menial tasks. With this, you may open stuff in your browser, laptop, and further control it just by typing in a command or simply saying it out loud. The assistant is yet in its initial stages and hence, the scope of commands and functionalities is limited. You may just fork this project, and recommended and add any sort of functionality which you think might add to the overall performance.

You may head on the the Working section to view the working process of the program and, go ahead and head on to the Development pane to know the current developement goals with this project.

It has been completely developed using Python programming language, and hence, requires some modules. The list of required modules and installation commands have been given in the next section.

Requirements

To install all the required Python Modules, Pull the project, Open Command Prompt, and then type the following command:

 > pip install -r requirements.txt

Note: Make sure to change the directory to the directory where the project has been stored.

You may also download all of them individually using the statements below.

List of Pre-Requisite Python Modules:

 > pip install PyDictionary
 > pip install psutil
 > pip install plyer
 > pip install PyAudio
 > pip install sounddevice
 > pip install scipy
 > pip install playsound
 > pip install requests
 > pip install weather-forecast
 > pip install gTTS
 > pip install SpeechRecognition
 > pip install translate

Working

There a total of 3 programs in this project.

  1. Main:
    This is the main driver code and detects wether the mode has been set to the text mode or voice mode. If no mode is prescribed, the automatically takes it as text based mode.

  2. Voice:
    This consists of the voice functionalities and the entire voice based interface.

  3. Cynthia:
    Finally, this consists of the text based interface and functionalities.

Many functionalities of this project depend on Internet Connectivity so, make sure that your device has an active internet connection. The Project further doesn't require anything (except the pre-requisite modules mentioned above obv). For ease of distinction and development, the voice and text interfaces have been maintained separately.
Note: Make sure to pull and keep all these codes into a single directory.

As the assistant is used, it further creates more files and functionalities in the same directory along the way. Head on to the next section to view the current goals and developments proposed in this project.

Developments

Since every project is ever-evolving, Cynthia also has some planned future functionalities and changes. This section includes the 'future goals' of development in this software. If you feel you can contribute to any of these, feel free to do so! You may also add to this list and suggest new commands and functionalities which you feel might broaden its approach.

Future Goals/Current Developments:

  1. Cross-Platform Compatibility
  2. Increasing functionalities in Web Browser control
  3. Add an UI interface

Go ahead and add on!

License

Distributed under the Apache License 2.0. See LICENSE for more information.

Contribute

Every program is ever evolving and, that is possible only with valuable contributions. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b functionalities/Feature)
  3. Commit your Changes (git commit -m 'Add a Feature')
  4. Push to the Branch (git push origin functionalities/Feature)
  5. Open a Pull Request


If you have any further ideas or comments, go ahead to the next section and feel free to connect!

Contact


Logo
Connect with me here! ✉️

Acknowledgements