Skip to content

beazt123/homemade-ai-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Ajax: An A.I general assistant


Installation instructions

  1. Install Python 3.6 from the official Python downloads website on your machine
  2. Install pipenv by running pip install pipenv
  3. Open up command line in the directory on this project.
  4. Run pipenv install

Running it

  1. python ajax.py <config-file-name>

Some of the voice commands

"<google/youtube/wiki> <item>"

Opens up a web browser and searches for <item> in the respective platform. For wiki, will print a summary in the command prompt and read it out.

"Define [Word]"

Reads you a dictionary definition of the word. Works offline and online.

"Play [some] music"

Words in the square brackets are optional. It will search for music on your computer and shuffle play.

"Tell [me the] time"

Self explanatory

"news"

Reads you 5 articles from Straits times. Prints them on the command prompt.

"weather"

Reads you the weather conditions for the next 12 hrs in 3 hr increments.

"Tell [me a] joke"

Tells you a programming related joke. Only programming nerds can understand.

"Shutdown computer/system"

Self explanatory. Make sure you've ready saved your work.

Misc

Resources:

Improvements


Primary

I have enough information to implement these fixes:

Secondary

Still need do research to implement them

  • Make sound features more OS independent(file system, config and playsound function)
    • Sound libraries are OS dependent
    • Current sound features are injected into receivers using mixin interfaces. Each sound mixin depends on a SoundEngine which is solely responsible for playing sound. Sound mixins are solely responsible for using the SoundEngine.
    • Can implement sound features for both windows and OS by modifying the SoundEngine class to adapt to the current OS.
    • Need a library that can play sound asynchronously for linux.
    • Modify or extend the SoundEngine class into different versions for different OSes.
  • Adjust for ambient noise only when needed. Incorporate with user analytics. Only when needed := Fail to twice in a row := Kena default command twice in a row

IOT phase

  • Test code on Linux system. See if feasible and make it OS independent

Shelved


Improvements

  • If computer is playing audio && wake word is heard, lower computer volume temporarily
    • will make it more windows OS oriented tho
  • Sort the music into genres

Add-ons

Voice assistant
  • Maybe incorporate exrex - A reverse Regex generator

  • User analytics

    • To adjust the timeout, phrase timeout, etc

Notes

  • Pocketsphinx is not supported beyond python 3.6. The python version was downgraded to support pocketsphinx so as to enable offline transcription.
  • rasa init fails with import error "composition view" remedy
  • Should not move the project if it has an existing virtualenv living in the system. Otherwise need to reset the virtualenv by deleting and re-creating it from the Pipfile
  • Pyaudio requires a different dependency on raspberry pi, which in turn depends on portaudio. Install portaudio 1st.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages