jarvis-ui 2.3.1

Creator: railscoder56

Last updated:

Add to Cart

Description:

jarvisui 2.3.1

Deployments


Jarvis UI
Connects to Jarvis running in the backend to process request and response via API calls.
Kick off
Install
python -m pip install jarvis-ui

Initiate
import jarvis_ui


if __name__ == '__main__':
jarvis_ui.start()

Environment Variables
Env vars are loaded from a .env file and validated using pydantic

To use custom .env files
To use a custom .env file, set the filename to the env var env_file before importing jarvis_ui module.
import os
os.environ['env_file'] = "jarvis_ui.env"

import jarvis_ui

if __name__ == '__main__':
jarvis_ui.start()


Mandatory

SERVER_URL: Endpoint URL to which the API call has to be made. Can be localhost or a tunneled URL behind a reverse proxy/CDN.
TOKEN: Authentication token.

Optional

HEART_BEAT: Defaults to None - Interval in seconds to trigger background healthcheck on the server with automatic restart
DEBUG: Defaults to False - Enable debug level logging

SPEECH_TIMEOUT: Defaults to 0 for macOS, 10 for Windows - Timeout for speech synthesis

NATIVE_AUDIO: Defaults to False - If set to True, the response is generated in the server's default voice
WAKE_WORDS: Defaults to jarvis (Defaults to alexa in macOS older than 10.14) - Wake words to initiate Jarvis
SENSITIVITY: Defaults to 0.5 - Sensitivity of wake word detection

MICROPHONE_INDEX: Defaults to None - Use peripherals.py to get the index values
VOICE_NAME: Defaults to the author's favorite per the OS. Name of the voice supported by the OperatingSystem
VOICE_RATE: Defaults to the value in py3-tts module - Speed/rate at which the text should be spoken
VOICE_PITCH: Defaults to the value in py3-tts module - Currently available only for Linux OS

LISTENER_TIMEOUT: Defaults to 2 - Timeout for listener once wake word is detected - Awaits for a speech to begin until this limit
LISTENER_PHRASE_LIMIT: Defaults to 5 - Timeout for phrase once listener is activated - Listener will be deactivated after this limit
RECOGNIZER_SETTINGS: JSON object of customized speech recognition settings.


Custom settings for speech recognition
The default values for RECOGNIZER_SETTINGS are customized according to the author's voice pitch.
Please use test_listener.py to figure out the suitable values in a trial and error method.
Sample settings (formatted as JSON object)
RECOGNIZER_SETTINGS: '{"energy_threshold": 1100, "dynamic_energy_threshold": false, "pause_threshold": 1, "phrase_threshold": 0.1}'
Description

energy_threshold: Minimum audio energy to consider for recording. Greater the value, louder the voice should be.
dynamic_energy_threshold: Change considerable audio energy_threshold dynamically.
pause_threshold: Seconds of non-speaking audio before a phrase is considered complete.
phrase_threshold: Minimum seconds of speaking audio before it can be considered a phrase - values below this are ignored. This helps to filter out clicks and pops.
non_speaking_duration: Seconds of non-speaking audio to keep on both sides of the recording.



:bulb:   Refer Jarvis' README for more information on setting up the backend server.
Coding Standards
Docstring format: Google
Styling conventions: PEP 8
Clean code with pre-commit hooks: flake8 and
isort
Release Notes
Requirement
python -m pip install gitverse

Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'

Linting
PreCommit will ensure linting, and the doc creation are run on every commit.
Requirement

python -m pip install sphinx==5.1.1 pre-commit recommonmark

Usage

pre-commit run --all-files

Pypi Package

https://pypi.org/project/jarvis-ui/
Runbook

https://thevickypedia.github.io/Jarvis_UI/
License & copyright
© Vignesh Rao
Licensed under the MIT License

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.