September - Windows Assistant
September is an open-source Windows personal assistant built-in python. Read How to Setup? for additional information on setting up the application.
🏆
Install
🔮
Features
- Minimalistic UI
- Lightweight
- Customizable Wake Word
- Type/Speak commands
- Search Wiki, Google and YouTube
- Open Windows Apps
- Mathematical Calculations
- Human-like Conversations
who.are.you.mp4
📚
Overview
September uses | For |
---|---|
Google Speech Recognition | Speech recognition |
Pyttsx3 | Text to Speech |
Tkinter | GUI |
Wikipedia API | Wiki related search |
Wolfram Alpha | Processing queries |
💻
Code Walkthrough
-
main.py contains the functions for initializing Tkinter-based windows and converting speech to text.
- The listening process and tkinter frame refresh process run concurrently using threads.
- Each window is started as a separate thread for them to work parallelly.
- Start and Stop Listening sounds are played using the
playsound
module. - The input from the user is taken either as a text from the command entry box or as audio from mic button
- The input is converted to text using
SpeechRecognition
module and passed to processtext function of processtext.py
-
processtext.py contains the function in which the command processing happens.
- The input obtained from the user in the main function is passed to the processtext function. It has an if-else ladder to search for specific keywords in the input. If the query does not match with the keywords found in the ladder, it is passed to wolfresponse.py
- Functions like opening apps, searching web happens here.
-
wikiresponse.py and wolfresponse.py are the places where the respective APIs are accessed to process the output of the unmatched queries from processtext.py
-
texttospeech.py uses the
pyttsx3
module to convert speech to text.- After processing the query, text to speech function is called.
Esc
Key is added as a keybind to stop text to speech for one iteration by calling texttospeech_stop function.
-
config_data.json contains the values that are displayed in the September app settings in JSON format. It is used for storing windows application paths, wake word and the API key.
-
requirements.txt contains the list of all the modules used in this program.
🌐
Dependencies
- requirements.txt contains all the python modules required by the program.
- All the assets used by the program are present in assets folder. The application won't function as intended without these assets.
- Built in Python 3.10.1. Use python 3.0 or greater versions for a better experience.
- Requires active internet connection.
- Make sure that your antivirus doesn't block the program from uploading or downloading audio stream data. (Disable antivirus :D)
- Additionally, the
Pyaudio
module must be installed by following the below instructions.
Install Pyaudio
- Find your Python version using in your terminal
python --version
- Find the appropriate
.whl
(wheel) file at Pythonlibs and download it. - Go to the folder where it is downloaded and install the
.whl
file using pip,
For example, if you download the wheel file for Python 3.7 64-bit, your pip command would be,
pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl
- The wheel file for Python 3.10 64-bit is present in dependencies/PyAudio-0.2.11-cp310-cp310-win_amd64.whl
- Visit for more information