.idea | ||
jarvis | ||
.gitignore | ||
LICENSE | ||
README.md | ||
requirements.txt |
jarvis-client
Jarvis is a simple voice assistant for home automation and simplifying your life with voice commands. Written in Python, it uses a lot of open-source libraries like Adapt and Padatious from the Mycroft AI project.
This is only the client-side of Jarvis, you can download the server here .
Languages
It only supports french entirely for now, english is actively developed and will soon be available as well as a lot of others languages like german, spanish and more.
Compatiblity
The client should work on any platforms from Windows to Linux on ARM devices (raspberry pi 3/4) or x86 computers.
The client handle TTS (Text to Speech) and Wake Word.
It listens for the wake word (offline of course) and
then send what you said after the wake word to the server that will use Google Speech to Text API (unfortunately no
other API other than Google is good enough imo.) to convert your speech to text and then try to execute your request.
Installation
If not already installed, you will need Python 3.9, you can install it with these commands.
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.9 python3.9-dev python3.9-distutils
Install requirements
Run the command python -m pip3 install -r requirements.txt
to install the basic requirements for the project.
Larynx TTS
Pre-built Debian packages are available for download.
There are three different kinds of packages, so you can install exactly what you want and no more:
larynx-tts_<VERSION>_<ARCH>.deb
- Base Larynx code and dependencies (always required)
ARCH
is one ofamd64
(most desktops, laptops),armhf
(32-bit Raspberry Pi),arm64
(64-bit Raspberry Pi)
larynx-tts-lang-<LANG>_<VERSION>_all.deb
- Language-specific data files (at least one required)
- See above for a list of languages
larynx-tts-voice-<VOICE>_<VERSION>_all.deb
- Voice-specific model files (at least one required)
- See samples to decide which voice(s) to choose
As an example, let's say you want to use the "harvard-glow_tts" voice for English on an amd64
laptop for Larynx
version 0.4.0. You would need to download these files:
larynx-tts_0.4.0_amd64.deb
larynx-tts-lang-en-us_0.4.0_all.deb
larynx-tts-voice-en-us-harvard-glow-tts_0.4.0_all.deb
Once downloaded, you can install the packages all at once with:
sudo apt install \
./larynx-tts_0.4.0_amd64.deb \
./larynx-tts-lang-en-us_0.4.0_all.deb \
./larynx-tts-voice-en-us-harvard-glow-tts_0.4.0_all.deb \
sox
You will need to install gruut aswell, follow the instructions here
(e.g to install french support do pip install gruut[fr]
)
Errors
Common errors than I personally encoured during this project, hope this can help you.
Error during installation of PyGObject:
You're probably missing the development package. The package name varies by distribution, but it's the one
containing /usr/lib/pkgconfig/gobject-introspection-1.0.pc
(or /usr/lib64/pkgconfig/gobject-introspection-1.0.pc
for
some 64-bit distros):
- Fedora, CentOS, RHEL, etc.: gobject-introspection-devel
- Debian, Ubuntu, Mint, etc.: libgirepository1.0-dev
- Arch: gobject-introspection
- FreeBSD: gobject-introspection
- Cygwin: libgirepository1.0-devel
- msys2: mingw-w64-x86_64-gobject-introspection and/or mingw-w64-i686-gobject-introspection
Error during installation of PyAudio:
Do the following command sudo apt-get install portaudio19-dev python-pyaudio
Source