Fork of https://github.com/rhasspy/rhasspy-hermes to support the starassistant repo.
Changes w.r.t. the forked repo:
- upgraded dataclasses json to be compatible with langchain
Python classes for Hermes protocol support in Rhasspy.
Install the latest version of the package from PyPI:
pip3 install rhasspy-hermes
A command-line interface is available to do some basic transcription, intent recognition, text to speech, and wakeword tasks. Run the following command:
python3 -m rhasspyhermes --help
to see the available commands and their options. You can add a --debug
argument to see DEBUG information.
Each command will print the appropriate Hermes response message(s) as JSON (one per line). With the --print-topics
flag, the MQTT topic will be printed before each JSON message.
Transcribe multiple WAV files:
python3 -m rhasspyhermes transcribe-wav /path/to/my-1.wav /path/to/my-2.wav ...
{ ... } # prints hermes/asr/textCaptured message for my-1.wav
{ ... } # prints hermes/asr/textCaptured message for my-2.wav
Transcribe a WAV file (stdin):
python3 -m rhasspyhermes transcribe-wav < /path/to/my.wav
{ ... } # prints hermes/asr/textCaptured message
Recognize an intent from text:
python3 -m rhasspyhermes recognize-intent 'turn on the living room lamp'
{ ... } # prints hermes/intent/<intentName> message
Speak a sentence:
python3 -m rhasspyhermes speak-sentence --language en 'what can I do for you, human?'
{ ... } # prints hermes/tts/sayFinished message
Wait for wake word:
python3 -m rhasspyhermes wait-wake
{ ... } # prints hermes/hotword/<wakewordId>/detected message
This project is provided by Michael Hansen as open source software with the MIT license. See the LICENSE file for more information.