项目作者: KKshitiz

项目描述 :
Iron man inspired Personal virtual assistant
高级语言: Python
项目地址: git://github.com/KKshitiz/J.A.R.V.I.S.git
创建时间: 2020-03-29T17:07:55Z
项目社区:https://github.com/KKshitiz/J.A.R.V.I.S

开源协议:MIT License

下载


J.A.R.V.I.S

Iron man inspired Personal virtual assistant

Website

jarvis

Vision:

To make an advanced personal voice assistant capable of responding to user’s voice and perform tasks accordingly.

Background Readings:

Inspiration:

NOTE: In the initial stage the project will be limited to the software part.
Some points:

  • First goal would be to create a weak AI.

    Here’s a quick read about Weak Vs Strong A.I.
  • Although some of the features described below would seem overblown but they actually exists. The challenge here is to tweak it to our desired outcome and integrate the individual features and modules.

This project structure is proposed as follows:

  • Hardware

  • Software

    • Artificial Intelligence components
      • Natural Language Processing
        • Speech to Text
        • Text to Speech
        • Chatbot capabilities
      • Computer Vision
        • Face Detection
        • Face REcognition
        • Eye Tracking
        • Object detection
        • Extracting text from images
        • Visual question answering
        • Expression recognition
        • Hand gesture recognition
    • Non AI / Hard-Coded components
      • System based functions(which changes or reads the state of hardware)
        • Media playback
          • Play/Pause media
          • control volume output
          • Previous/Next
          • Mute volume
        • Power options
          • shutdown
          • restart
          • above functions with a timer
        • system hardware functions
          • check ram
          • chack cpu
          • check battery
      • Network based functions
        • opening websites
        • fetching events from google calendar
        • fetching weather of a region
        • translating from one language to another
        • search on google,wikipedia,youtube for a query
        • answering STEM related and complex computational questions using wolfram alpha api
        • send emails using voice command
        • scraping the web
      • Offline non-system functions
        • save notes from user
        • take screenshots
        • play music from local system
        • telling jokes
        • virtual key clicks
        • editing mode
        • telling time and date
        • setting up reminders, alarms or timers
        • Open up applications
        • ability to add coded responses using voice
    • Desktop GUI application
      • alternative to voice controlled actions
      • user login to change settings
      • Futuristic animations
      • monitor all the functions of jarvis
      • manual control of jarvis features
    • App based interaction module / Messenger Bot
      • to indirectly communicates with the rest of the Hardware and Software components from anywhere

How to start working :

  • Fork the repository
  • Clone it
  • Work on it
  • pull changes
  • push the code
  • Submit pull requests

How to get it running:

  • Clone it
  • open terminal in linux based system or git bash in windows
  • navigate to the directory
  • command: bash install_requirements.sh

NOTE to contributors:

Use Python3 for development

  • Currently the features are built and tested in windows environment so some of the features may not work on other platforms
  • Pls try to add the missing feature for the platform you are using
  • Try to write clean code with comments and descriptive variable names
  • Divide the work into small modules
  • Update the install_requirements.sh and requirements.txt files as and when required
  • Feel free to improvise this README
  • Commit as frequently as possible
  • Please do not make this repository public unless discussed otherwise.
  • Update readme files as and when required.
  • Readme files inside the subfolders can be used to keep a track of:
    • Work done till now
    • To do lists
    • Libraries and dependencies required
    • Any other metadata

Project directory structure

  1. .gitignore
  2. install_requirements.sh
  3. LICENSE
  4. main.py
  5. README.md
  6. requirements.txt
  7. token.pickle
  8. _config.yml
  9. ├───assets
  10. README_assets.md
  11. ├───images
  12. J.A.R.V.I.S..jpg
  13. jarvis.jpg
  14. ├───music
  15. AC DC - BACK IN BLACK MUSIC WITH.mp3
  16. AC DC - Hard As A Rock (Official Video).mp3
  17. AC DC - Shoot To Thrill (Iron Man 2 Version).mp3
  18. AC DC - War Machine.mp3
  19. AC DC Highway to hell Letra.mp3
  20. ACDC-You-Shook-Me-All-Night-Long.mp3
  21. Another One Bites The Dust - Queen.mp3
  22. Metallica-Master Of Puppets.mp3
  23. T.N.T..mp3
  24. The Clash - Should I Stay Or Should I Go.mp3
  25. Warrant - Cherry Pie (with).mp3
  26. ├───notes
  27. 2020-04-01 14-41-15.199146-note.txt
  28. 2020-04-02 13-37-21.929309-note.txt
  29. ├───screenshots
  30. image.png
  31. └───sounds
  32. end.wav
  33. jarvislistening.wav
  34. jarvisworking.wav
  35. start.wav
  36. ├───gui
  37. README_gui.md
  38. ├───hardware
  39. README_utility.md
  40. ├───software-bot
  41. README_bot.md
  42. ├───software_AI
  43. ├───computer-vision
  44. README_utility.md
  45. └───natural-language-processing
  46. action_phrases.py
  47. conversational_phrases.txt
  48. playmusic.py
  49. playsounds.py
  50. README_nlp.md
  51. speech2text.py
  52. text2speech.py
  53. └───__pycache__
  54. action_phrases.cpython-37.pyc
  55. playmusic.cpython-37.pyc
  56. playsounds.cpython-37.pyc
  57. speech2text.cpython-37.pyc
  58. text2speech.cpython-37.pyc
  59. ├───software_Non_AI
  60. └───utility
  61. credentials.json
  62. googlecalendar.py
  63. miscutils.py
  64. README_utility.md
  65. screenshot.py
  66. sysutils.py
  67. translate.py
  68. webbrowser_functions.py
  69. wolfram.py
  70. ├───systemcontrols
  71. key.py
  72. keyboard.py
  73. systemcontrol.py
  74. type.py
  75. └───__pycache__
  76. key.cpython-37.pyc
  77. keyboard.cpython-37.pyc
  78. sound.cpython-37.pyc
  79. systemcontrol.cpython-37.pyc
  80. └───__pycache__
  81. googlecalendar.cpython-37.pyc
  82. keyboard.cpython-37.pyc
  83. miscutils.cpython-37.pyc
  84. screenshot.cpython-37.pyc
  85. sound.cpython-37.pyc
  86. sysutils.cpython-37.pyc
  87. wolfram.cpython-37.pyc

How to update/regenerate the directory structure easily:

  • navigate to the directory J.A.R.V.I.S
  • issue the command tree /F in cmd/powershell
  • or in terminal
    • sudo apt install tree
    • tree
  • copy the result
  • replace the existing structure inside the bash code container above
  • Student Group called Hacker Labs create real Iron Man Helmet with working HUD using MS Hololens

    {% include youtubePlayer.html id=”bxjBaqSbaZI” %}
  • Hacksmith makes JARVIS Home Automation in real life
    {% include youtubePlayer.html id=”yUL4gDVR6MI” %}

For help with writing markdown visit this page

You can use emojis too, take reference from here