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
Hashes for friday_d33pster-0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 954f9dfd2b5ca555ca3872f7797d1bd24f8138987d1c79b2db9f2333ef12e012 |
|
MD5 | ac5921dfe558163506f22519da1747b7 |
|
BLAKE2b-256 | 1408a922cff332d4a31cbb4f44502e555b92ef9ba80d981452d39214c9155ec5 |