AI_Assistant - This is a Python based Voice Assistant.

Overview

AI_Assistant

This is a Python based Voice Assistant. This was programmed to increase my understanding of python and also how the in-general Voice Assistants work.

                                                 AI_Assistant

                                                version 0.0.0

Hello Guys!!

This is a cross-platform program, however "THIS PROGRAM IS CURRENTLY DEVELOPED TO WORK ONLY FOR WINDOWS AND macOS AND NOT FOR ANY LINUX DISTROS."

Before starting to tell you about my Assistant, I would quickly like to go over some IMPORTANT POINTS which I think every user should know. This would avoid the users from encountering any errors, and if they do, they would know where the problem is.

  • Firstly, install all the required packages to ensure smooth functioning of the entire program and its utilities. This program has several dependencies, which can be seen in the requirements.txt

    • You can do install the program's dependencies by "pip install -r requirements.txt". You can use pip or pip3, doesn't matter. The command is the same for both platforms (Windows or macOS).

    • Run this command in the "AI_Assistant" directory in the command prompt to avoid FileNotFound Error.

    • Wait for the packages to get installed and if there is any error in the installation of the package, you can either google or raise a query.

  • This program uses the populer pyttsx3 for text to speech conversion. I have set the Voice ID of the assistant in accordance to the voices available on my personal computer. However the "id" may vary on your computer, which is why I have programmed "Try_Voices.py" with which you can try each and every voice available on your device. Usage has been demonstrated below:

    1. Find the "Try_Voices.py" file in the Installer folder.
    2. Run this program with "python Try_Voices.py" on Windows and "python3 Try_Voices.py" on macOS.
    3. This is used to speak out the Pre-Determined Line in all the available voices.
    4. You can see the voice id and its index (which will be used in the main program).
    5. Note the index of the voice you like and replace that in "line 17" "self.engine.setProperty('voice', voices[3].id)" Change the "3" to the index of your choice of voice.

    In-Case you don't like the voices available on your device, you can add more. Visit the below-mentioned link to get to know the step-by-step process of the same.

    "https://puneet166.medium.com/how-to-added-more-speakers-and-voices-in-pyttsx3-offline-text-to-speech-812c83d14c13"

    Finally, I'm providing a link to an article where you can better understand the use and initial setup of pyttsx3.

    https://betterprogramming.pub/an-introduction-to-pyttsx3-a-text-to-speech-converter-for-python-4a7e1ce825c3

  • Although this program uses the offline google speech recognition, it requires an Active Internet Connection for various features at all times so that the program can work smoothly.

  • If you want to change the initiating audio, then you can either add the audio file to the "Utilities" folder and rename it to "Initial_Audio.mp3" or you can edit the "Asssistant.py" at line 624: playsound.playsound("location of the audio file").

  • There are a few features like weather report and wolframalpha which requires personal API keys. You need to visit these sites, and get your own API key from these websites, and then replace them in the source files.

    Use any text editor or IDE of your choice.

    • Edit the "src/Tools.py" file

      line 46: self.API_KEY = "Your API Key"

    • Edit the "Assistant.py" file

      line 529: app_id = "Your APP ID"

    Not performing this step would not cause problem in the running of the Assistant but will return an error when the user tries to use any of the feature requiring an online API key.

  • Lastly, there are some features like blocking a website, shutting down and restarting the device which can only be performed when the program is run with elevated privileges.

With this out of the way, let me tell you about some features of the program. I have tried to add all the basic functions in this program and all the features can be seen in the main screen of the program at all times.

This program can perform the following functions:

          * Interact to some extent					  * Can open websites
          * Open gmail, google search and YouTube			  * Autoplay song on YouTube using Keyword
          * Download Youtube Video with Keyword or Video link	  * Hand-Cricket Game
          * Number Guessing Game					  * Can Shut down and Restart The Device
          * Can Clear Temporary Files				  * Generate QR Code
          * Can help in Converting and Editing a PDF		  * Extract Text from an Image
          * Tell a Joke						  * It can open Instagram and Facebook
          * Tell about the Weather of any place			  * Generate a Password
          * Tell Time						  * Open TOI for top Headlines
          * Take Screenshot						  * Capture a Picture from the Webcam
          * Can redirect you to the Typing Speed Website		  * Test your Internet Speed
          * Tell you the meaning					  * Block / Unblock Websites

As you can see from the features above, this program is equipped with several features to provide convenience to the users. It can open any website from its name, can try to communicate upto a certain limit and help you with basic problems.

One drawback which I feel is that the speechrecognition package takes the input after 4-5 Seconds of delay, so please be sure that the program is listening to the command when you are speaking.

For any suggestion, bugs or improvements, please feel me mail me at "[email protected]" or feel free to comment below.

Creating an Audiobook (mp3 file) using a Ebook (epub) using BeautifulSoup and Google Text to Speech

epub2audiobook Creating an Audiobook (mp3 file) using a Ebook (epub) using BeautifulSoup and Google Text to Speech Input examples qual a pasta do seu

7 Aug 25, 2022
Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS)

TOPSIS implementation in Python Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) CHING-LAI Hwang and Yoon introduced TOPSIS

Hamed Baziyad 8 Dec 10, 2022
Fixes mojibake and other glitches in Unicode text, after the fact.

ftfy: fixes text for you print(fix_encoding("(ง'⌣')ง")) (ง'⌣')ง Full documentation: https://ftfy.readthedocs.org Testimonials “My life is li

Luminoso Technologies, Inc. 3.4k Dec 29, 2022
Transformers implementation for Fall 2021 Clinic

Installation Download miniconda3 if not already installed You can check by running typing conda in command prompt. Use conda to create an environment

Aakash Tripathi 1 Oct 28, 2021
Traditional Chinese Text Recognition Dataset: Synthetic Dataset and Labeled Data

Traditional Chinese Text Recognition Dataset: Synthetic Dataset and Labeled Data Authors: Yi-Chang Chen, Yu-Chuan Chang, Yen-Cheng Chang and Yi-Ren Ye

Yi-Chang Chen 5 Dec 15, 2022
An example project using OpenPrompt under pytorch-lightning for prompt-based SST2 sentiment analysis model

pl_prompt_sst An example project using OpenPrompt under the framework of pytorch-lightning for a training prompt-based text classification model on SS

Zhiling Zhang 5 Oct 21, 2022
Russian GPT3 models.

Russian GPT-3 models (ruGPT3XL, ruGPT3Large, ruGPT3Medium, ruGPT3Small) trained with 2048 sequence length with sparse and dense attention blocks. We also provide Russian GPT-2 large model (ruGPT2Larg

Sberbank AI 1.6k Jan 05, 2023
GPT-3: Language Models are Few-Shot Learners

GPT-3: Language Models are Few-Shot Learners arXiv link Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-trainin

OpenAI 12.5k Jan 05, 2023
Clone a voice in 5 seconds to generate arbitrary speech in real-time

This repository is forked from Real-Time-Voice-Cloning which only support English. English | 中文 Features 🌍 Chinese supported mandarin and tested with

Weijia Chen 25.6k Jan 06, 2023
Simple Python script to scrape youtube channles of "Parity Technologies and Web3 Foundation" and translate them to well-known braille language or any language

Simple Python script to scrape youtube channles of "Parity Technologies and Web3 Foundation" and translate them to well-known braille language or any

Little Endian 1 Apr 28, 2022
[NeurIPS 2021] Code for Learning Signal-Agnostic Manifolds of Neural Fields

Learning Signal-Agnostic Manifolds of Neural Fields This is the uncleaned code for the paper Learning Signal-Agnostic Manifolds of Neural Fields. The

60 Dec 12, 2022
SurvTRACE: Transformers for Survival Analysis with Competing Events

⭐ SurvTRACE: Transformers for Survival Analysis with Competing Events This repo provides the implementation of SurvTRACE for survival analysis. It is

Zifeng 13 Oct 06, 2022
A PyTorch implementation of the Transformer model in "Attention is All You Need".

Attention is all you need: A Pytorch Implementation This is a PyTorch implementation of the Transformer model in "Attention is All You Need" (Ashish V

Yu-Hsiang Huang 7.1k Jan 05, 2023
Pytorch version of BERT-whitening

BERT-whitening This is the Pytorch implementation of "Whitening Sentence Representations for Better Semantics and Faster Retrieval". BERT-whitening is

Weijie Liu 255 Dec 27, 2022
NL-Augmenter 🦎 → 🐍 A Collaborative Repository of Natural Language Transformations

NL-Augmenter 🦎 → 🐍 The NL-Augmenter is a collaborative effort intended to add transformations of datasets dealing with natural language. Transformat

684 Jan 09, 2023
中文医疗信息处理基准CBLUE: A Chinese Biomedical LanguageUnderstanding Evaluation Benchmark

English | 中文说明 CBLUE AI (Artificial Intelligence) is playing an indispensabe role in the biomedical field, helping improve medical technology. For fur

452 Dec 30, 2022
Synthetic data for the people.

zpy: Synthetic data in Blender. Website • Install • Docs • Examples • CLI • Contribute • Licence Abstract Collecting, labeling, and cleaning data for

Zumo Labs 253 Dec 21, 2022
PyTorch code for EMNLP 2019 paper "LXMERT: Learning Cross-Modality Encoder Representations from Transformers".

LXMERT: Learning Cross-Modality Encoder Representations from Transformers Our servers break again :(. I have updated the links so that they should wor

Hao Tan 838 Dec 19, 2022
pkuseg多领域中文分词工具; The pkuseg toolkit for multi-domain Chinese word segmentation

pkuseg:一个多领域中文分词工具包 (English Version) pkuseg 是基于论文[Luo et. al, 2019]的工具包。其简单易用,支持细分领域分词,有效提升了分词准确度。 目录 主要亮点 编译和安装 各类分词工具包的性能对比 使用方式 论文引用 作者 常见问题及解答 主要

LancoPKU 6k Dec 29, 2022
Multispeaker & Emotional TTS based on Tacotron 2 and Waveglow

This Repository contains a sample code for Tacotron 2, WaveGlow with multi-speaker, emotion embeddings together with a script for data preprocessing.

Ivan Didur 106 Jan 01, 2023