Package: jarvis-ui
DeploymentsJarvis UIConnects toJarvisrunning in the backend to process request and response via API calls.Kick offInstallpython-mpipinstalljarvis-uiInitiateimportjarvis_uiif__name__=='__main__':jarvis_ui.start()Environment VariablesEnv vars are loaded from a.envfile and validated usingpydanticTo use custom .env filesIf the filename is anything other than.env, set the filename as an env varenv_filebefore importingjarvis_uiimportosos.environ['env_file']="jarvis_ui.env"importjarvis_uiif__name__=='__main__':jarvis_ui.start()MandatoryREQUEST_URL: URL to which the API call has to be made. Can belocalhostor atunneledURL behind a reverse proxy/CDN.TOKEN: Authentication token.OptionalHEART_BEAT: Defaults toNone-Interval in seconds to trigger background healthcheck on the server with automatic restartDEBUG: Defaults toFalse-Enable debug level loggingSPEECH_TIMEOUT: Defaults to0for macOS,10for Windows -Timeout for speech synthesisNATIVE_AUDIO: Defaults toFalse-If set toTrue, the response is generated in the server's default voiceWAKE_WORDS: Defaults tojarvis(Defaults toalexain macOS older than10.14) -Wake words to initiate JarvisSENSITIVITY: Defaults to0.5-Sensitivity of wake word detectionMICROPHONE_INDEX: Defaults toNone-Useperipherals.pyto get the index valuesVOICE_NAME: Defaults to the author's favorite per the OS.Name of the voice supported by the OperatingSystemVOICE_RATE: Defaults to the value inpy3-ttsmodule -Speed/rate at which the text should be spokenVOICE_PITCH: Defaults to the value inpy3-ttsmodule -Currently available only for Linux OSLISTENER_TIMEOUT: Defaults to2-Timeout for listener once wake word is detected - Awaits for a speech to begin until this limitLISTENER_PHRASE_LIMIT: Defaults to5-Timeout for phrase once listener is activated - Listener will be deactivated after this limitRECOGNIZER_SETTINGS: JSON object of customized speech recognition settings.Custom settings for speech recognitionThe default values forRECOGNIZER_SETTINGSare customized according to the author's voice pitch.
Please usetest_listener.pyto 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}'Descriptionenergy_threshold: Minimum audio energy to consider for recording. Greater the value, louder the voice should be.dynamic_energy_threshold: Change considerable audioenergy_thresholddynamically.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'READMEfor more information on setting up the backend server.Coding StandardsDocstring format:GoogleStyling conventions:PEP 8Clean code with pre-commit hooks:flake8andisortRelease NotesRequirementpython-mpipinstallgitverseUsagegitverse-releasereverse-frelease_notes.rst-t'Release Notes'LintingPreCommitwill ensure linting, and the doc creation are run on every commit.Requirementpipinstall--no-cachesphinx==5.1.1pre-commitrecommonmarkUsagepre-commitrun--all-filesPypi Packagehttps://pypi.org/project/jarvis-ui/Runbookhttps://thevickypedia.github.io/Jarvis_UI/License & copyright© Vignesh Sivanandha RaoLicensed under theMIT License