Sindi is a natural language AI assistant that doesnโt only play music for you but it can also chat with you, tell you jokes and more. It doesn't matter how you ask the question Sindi will always understand what you mean unless the feature is not available. Here is a list of the features Sindi has right now:
- ๐ฃ๏ธ Speak feature: numbers and text
- ๐ฏ๏ธ Chat features: Hello, Who are you?, Tell a joke, Surname, Name, Thanks, full birthday, age (Sindi will know if you lie about your age)
- ๐ฆ๏ธ Weather features: What's the weather like?
- ๐ต Music features: What genres of music do I listen?, Play music, Play rock music, Play custom music
- ๐๏ธ Music controls: Play, pause/continue, volume, mute/unmute, replay
- ๐ด Exit app
- ๐ฌ Sindi will know if you are angry, neutral or happy based on your input
Current version features: YT Video
We created HomeBuddy to be easily accessible by the users and serve as registration domain for all users. The website also includes log in using your face with the face_recognition module, but it won't work on the web due to hosting limitations, so you can still try it out by downloading the website here:
If you want to check the HomeBuddy code download the files from the Google Drive link and extract the files.
-
Firstly you need to have a local server running (for exp. WAMP)
-
After that you need to import the database.sql file into your local database managment framework (for exp. PhpMyAdmin)
To use the face_recognition features you need to install the python modules on requirements.txt.
cd YOURDIRECTORY
pip install -r requirements.txt
After the modules have been installed you can head over to localhost/homebuddy/ on your webbrowser.
- We hosted the website on 000webhost
- The website is protected by CloudFlare security and posses a SSL certificate
Before installation please make sure you are registered on the web and you downloaded your data!
SindiAI is built in Python 3.6.6 so make sure you have it installed together with pip
Next you need to clone the repository or just download it.
git clone https://github.com/0Shark/SindiAIDev
After that you can change directory to there
cd /YOURFOLDER/sindiai/
We recommend creating a virtual environment to manage your modules more easily, in this case we used anaconda to create the environment like this:
conda create -n sindiai python==3.6.6
Now activate the environment:
conda activate sindiai
Now you can install all the required modules with this command:
pip install -r requirements.txt
After installing all the modules, make sure to have a MySQL local server running. In this case we are running Wamp(Windows, Apache, MySQL, and PHP).
NOTE: You will need a local hosting server (WAMP or XAMPP)
Then you can run the script below to create the database:
python create_db.py
After the database has been created you can start using SindiAI by running:
python server.py
If you are asked to allow access to Firewall please do so.
And head over to 127.0.0.1:8000 on any web browser, or local ip of pc to use on other devices on your local network. Example: 192.168.1.2:8000
Make sure you are registred on the HomeBuddy website and you got your FaceHash together with your json data file. Your data should be located on /sindiai/users/data/
Then you can,
The moment we send input to Sindi a chain of functions are activated. First we send the input to Wit where it is classified into intents, entities and traits.
We have manually trained the app with nearly 300 sentences, labelling each type of data.
Sindi has a decent amount of speech audio generated with play.ht and music genres that can be modified to your preferences. Make sure you add your own music files on the sindiai/music/ directory.
Type | Items |
---|---|
text | 42 |
number | 29 (audio files used to create other numbers) |
jokes | 8 |
months | 12 |
music | 10 genres (where you can store your music) |
- More chat functions ๐
- Add Night Mode ๐ถ๏ธ
- Speech recognition ๐ฃ๏ธ
- Activate on call (Hey Sindi)
- Play videos ๐๏ธ
- Webdriver integration for searching ๐
Copyright 2021 HomeBuddy
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.