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
-
Friday
needs avosk model
to recognize speech and convert it to text.Friday
particularly uses Indian english version of the model. Find it here along with several other versions ofvosk
. -
The output from
vosk
is 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 model
andNLP server
are part ofFriday
's "Brain" and are a vital part ofFriday
's response.
-
-
Text to Speech
-
Friday
's speaking abilities are powered byGoogle Text To Speech
client, which was used to writeFriday
's TTS library in rust (for speed). -
Apart from that,
Friday
uses 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
-
Mandatory
condaconda
must be installed in the system and enabled. -
Mandatory
python v3.12rasa
uses python v3.9 and it will be installed in a separate conda env automatically byFriday
-
Mandatory
maturincan be installed using
$ pip install maturin
-
ffmpeg
ffmpeg
is not a mandatory requirement but ifFriday
encounters 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.
maturin
needs 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
Friday
is online, just call "Friday!" to wakeFriday
up. 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
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 |