Skip to content

A Single AI driven Personalised Voice Assistant for Multiple users with prsonalised feed.

License

Notifications You must be signed in to change notification settings

SkyDocs/personalised-voice-assistant

Repository files navigation

Personalised Voice Assistant

A Single Personalised Voice Assistant for Multiple users.

Alexa listens to all and functions to their voice, but lacks the personalised results.

But this overcamed that issue.

  • Functions on every ones voice.
  • Gives pesonalised results when triggred to.

Usage

Training of the Voice of the Users

You first have to train the Model for the recognisation of the speakers, which you may train from the SkyDocs Speaker Identification Repo.
And save the model.h5 file locally.

Working

For the working of the Voice Assistant, get the model.h5 you trained from the Speaker Identificatio Repo.
And now put the model.h5 file and the noise folder from dataset in the Personalised-voice-assistant folder.
Now you have got to modify the files in the users folder.
You may personalise the functions and the users files to match the numbers of the users.

For example if you have trained the model for 3 users, then keep/edit the user_0.py, user_1.py, user_2.py and keep the user_new.py, this for the unknown/ new users.

Use your Voice Assistant

Install the requirements by running:

pip install -r requirements.txt or pip3 install -r requirements.txt

Change the path to noise dataset in predict.py file to your own path to noise folder.

After installing the requirements and doing the necessary changes.

Cloud

This is work in progress. I am porting it cloud so that, we all can use it via all out devices.

Server Side (Test Only): python voice_assistant_server.py

Client Side:

The main working is to send a post request to the server running with audio command of the user in base64 encoded format along with the user-id.

json format

{"user_audio":"**base64 encoded string of voice command**", "user_id":"**user id, default is 0**"}

An exmaple script for this same is voice_assistant_front_end.py

It does all of the things, just run the script and get on-board.

CLI

Clone the repo and then change the branch to local-only, via git checkout local-only

And then run: python voice_assistant_cli.py or python3 voice_assistant_cli.py

And here you go.

Have a general Voice Assistant or say "recognise" to trigger the recognition process.

Say a few phrases when prompted. And Boom!
You got your own Personalised Voice Assistant Triggred.

Contribution

This is a Purely open-source project, and feel free to suggest the changes.

To contribute: Fork it, make the changes and push a pull request and we will get back to you.

Demo

Watch the demo video.

Personalised Voice Assistant Demo Vidoe

Recognition

This project is selected for the Finals for Sony's Dreams To Reality contest.

License

Licensed under GNU General Public License v3.0