Hey Siri and Ok Google type Voice Assistant implemented in python+rust, Iron Man style!
Project description
Overview
Friday is an AI assistant inspired from Tony Stark's replacement of Vision. Friday uses vosk model for speech recognition and a custom Natural Language Processing Server that runs in the local host, to identify commands.
Friday can also speak, which is done using a custom library written in rust (using tts_rust crate), making use of GTTS (Google Text to Speech) client. The rust lib is integrated into python with maturin.
Table of Contents
- Mechanism
- Requirements (
Manadatory) - Installation
- Usage
Mechanism
-
Speech to Text
-
Fridayneeds avosk modelto recognize speech and convert it to text.Fridayparticularly uses Indian english version of the model. Find it here along with several other versions ofvosk. -
The output from
voskis processed by a custom NLP server running in the local host, that returns the properly processed command back toFriday. This NLP server has been made using rasa platform. -
Both
vosk modelandNLP serverare part ofFriday's "Brain" and are a vital part ofFriday's response.
-
-
Text to Speech
-
Friday's speaking abilities are powered byGoogle Text To Speechclient, which was used to writeFriday's TTS library in rust (for speed). -
Apart from that,
Fridayuses threads to speak, which further enhancesFriday's voice control.
-
-
Overall Integration
Friday's overall integration is a result of simultaneous working of several components altogether.
Requirements
-
Mandatorycondacondamust be installed in the system and enabled. -
Mandatorypython v3.12rasauses python v3.9 and it will be installed in a separate conda env automatically byFriday -
Mandatorymaturincan be installed using
$ pip install maturin -
ffmpeg
ffmpegis not a mandatory requirement but ifFridayencounters some errors related to it, download it.
Installation
To install Friday, clone this repository.
git clone https://github.com/d33pster/Friday.git
then, move into the directory with cd.
cd Friday
then, install it using pip.
maturinneeds to be installed before this step.
pip install .
Usage
To use Friday, open two terminals.
in terminal 1
friday server
and wait for it show, rasa server is up and running!
after that, in terminal 2
friday
After
Fridayis online, just call "Friday!" to wakeFridayup. and then a command.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file friday_d33pster-0.2.tar.gz.
File metadata
- Download URL: friday_d33pster-0.2.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bb66b5f8e0b5d8a77069ed744acddc4f560b3deffc22d05d4fadb13cd0fb89b
|
|
| MD5 |
dded2a7266b2ccae50a49f86ba061074
|
|
| BLAKE2b-256 |
48a493acda59084b45e24954cd0e9a0b3a87f4f1995bfb5213512a78b2241658
|
File details
Details for the file friday_d33pster-0.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: friday_d33pster-0.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
954f9dfd2b5ca555ca3872f7797d1bd24f8138987d1c79b2db9f2333ef12e012
|
|
| MD5 |
ac5921dfe558163506f22519da1747b7
|
|
| BLAKE2b-256 |
1408a922cff332d4a31cbb4f44502e555b92ef9ba80d981452d39214c9155ec5
|