Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 5.71 KB

README.md

File metadata and controls

109 lines (76 loc) · 5.71 KB

🤖 VIRTUAL-ASSISTANT 🤖

🔶 One of my best completely self-built from scratch projects 🔶

This Project is the Virtual Assistant that's been created by using Libraries and end-to-end Customization

"Olivia" is the name of my Assistant and does whatever you ask her to do!!


✅ IMPLEMENTATION ✅

Once the program is run, the microphone gets activated to listen to the voice commands. The assistant gets activated only when the name assigned to her is called, otherwise it doesn’t respond. Once the assistant is activated a number of tasks can be performed by her all with you’re voice like,

As every Assistant out there it does the following :

📅 Date, time and day can be asked.
🔎 Search the web.
🔓 Open various apps, sites.
⏰ Sets a Reminder.
📝 Open Word and write in it all with your voice.
📰 Read out the latest news from NDTV without even opening it.
🎼 Change the assistant's voice as per wish.
😜 Crack some jokes.


⚡ ALGORITHM ⚡

1️⃣       START
2️⃣       Use get_audio() function to take audio input from the microphone.
3️⃣       If "Olivia" in the input: Reply/Greet the user.
️4️⃣       Else: Ask the user to call the assistant's name in the input.
5️⃣       Expect voice input/commands from the user.
6️⃣       User asks to set a reminder.
7️⃣       Call the reminder_seconds() function.
8️⃣       Takes input as description/reason of reminder and time.
9️⃣       Reminds you of your given description at a given time.
1️⃣0️⃣   And also notifies you using the Windows System Notification with the reason.
1️⃣1️⃣   User asks to open a word document.
1️⃣2️⃣   Calls write_content() function which Opens a word document.
1️⃣3️⃣   Takes live audio input for specified time.
1️⃣4️⃣   Audio input is converted to a string.
1️⃣5️⃣   This string is printed on the Word Document.
1️⃣6️⃣   This function includes features like using Left, right, centre align, bold, underline and italics.
              All this is excluded from the text to be typed on the word document.
1️⃣7️⃣   User asks to do a google search (search Elon Musk).
1️⃣8️⃣   Here the keyword is search and the rest is searched on Bing.
1️⃣9️⃣   Opens a browser and searches results and gives output.
2️⃣0️⃣   User asks for a date/time.
2️⃣1️⃣ Displays day, date, time accordingly.
2️⃣2️⃣ Other possible inputs.
      🧨 Runs its respective program/ calls function.
      🧨 Displays error on not recognizing input.
      🧨 Asks for the input again.
2️⃣3️⃣ Input to terminate the program.
2️⃣4️⃣ STOP


🧊 WORKING 🧊

When the program executes the mic is enabled and is waiting for the user’s input for the name of the assistant to activate it. There are three possible outcomes:

✒️ If no input, assistant asks politely for input
✒️ If the input is wrong, assistant reminds the user to call out it’s name
✒️ If the input is correct the assistant is activated


💡 Now when the assistant is activated there is a list of functions available for use. For Ex. :

📌 When the user asks for date, day or time :

Assistant replies to the user accordingly getting real time values with hardcoded name of days.

📌 When the user asks for a reminder to be set :

Assistant asks what to remind and will remind the user at the specified time with the specified reason. Assistant also uses a system notification sent for reminding.

📌 When the user asks to use a word :

Assistant opens a word file and does real time typing while the user is talking excluding the words like bold, italics, underline, centre. left, right align while providing functions for the same.

📌 When the user asks for latest news updates :

Assistant web scraps NDTV.com in the background for the latest news and prints it on the output panel of the IDE with a link provided for the same.

📌 When the user asks for a web search :

Assistant searches the web for the same and opens the browser for us.

📌 When the user asks for help in python :

Assistant gives the user a choice of three websites commonly used for programming related doubts. According to the user’s wish the assistant opens the chosen website.

📌 When the user asks for some jokes :

Assistant gets jokes from a dataset of more than 60,000 jokes and speaks it out and after every joke accesses a .mp3 file in the computer directory for a crowd laughing effect.

📌 When the user asks to change the voice :

Assistant changes its voice to male and asks the user if would like to be kept and do so accordingly. If the user doesn’t like that voice it changes to another voice and again asks the user for acceptance, and do so accordingly.

📌 When the user asks to open any application :

Assistant opens the computer applications. These applications can be stored in a file with the applications shortcuts and this file path can be saved in the environment variables so that it can be accessed anywhere in the computer.