Skip to content

Running and Using

Hugh Barnard edited this page Nov 21, 2022 · 14 revisions

HTTP Endpoints

Since Mema is not monolithic, there are HTTP end points for (nearly) every component:

Name Endpoint
Rhasspy Core http://localhost:12101
Mimic3 http://localhost:59125
Node Red http://localhost:1880
Intent Server http://localhost:8000

Using the Endpoints

The Rhasspy core will give a configuration page, this includes adding voice commands which will then need to be reflected in Python Intent Server. Mimic3 page can be used to test whether the Text to Speech (TTS) is working. Node Red can be used to add change the reactions of Rhasspy, use with some caution, because changing the main flow will stop everything working.

Docker is used to launch the first three, but there is a systemd service that can be installed to run the intent server intent_server.service to be installed and enabled. During testing, it's just run locally as uvicorn --host 0.0.0.0 intent_server:app --reload from the project directory, this means that logging appears on the terminal.

Current Set of Commands

Voice commands are configured at the Rhasspy end point. However the database etc. has to do something with them, mainly this logic is in intent_server.py which I am now gradually tidying up.

Intent Server Systemd Service

Needs gunicorn to run and also create /usr/share/pyshared/mema manually at the moment.

This is in the project file in mema/etc/systemd directory:

cd etc/systemd
sudo cp intent_server.service /etc/systemd/system
sudo systemctl enable intent_server.service
sudo systemctl daemon-reload
sudo systemctl start intent_server

This is preliminary and may need a bit of debugging.