Mutarabeta

The voice server

The voice server is optional. It gives your node a natural voice that can say any text. Your node sends the text, and the voice server sends back the speech. It runs on a PC or server on your network, not on the node's Raspberry Pi.

What it does

Listen

These samples use example data. The voice server made them.

Sarah (US)
George (UK)

"Node 2, 1, 0, 0, connected to node 2, 2, 0, 0. Weather alert. A severe thunderstorm warning is in effect for Example County until 9 PM."

What you need

Not for a Raspberry Pi. The voice model needs a strong processor and approximately 1 GB of memory while it speaks. A Raspberry Pi or a similar small board is too slow. The installer stops on a Raspberry Pi, on ARM computers and on a computer that is too small.

We test the voice server on x86-64 Linux. On our test computer, with 8 cores and no AVX2, the voice server makes 3 seconds of speech in approximately 2 seconds, and a long weather alert in approximately 4 seconds.

Install

The voice server is a separate program, outside the node. Its source and its installer are in the mutara-radio/voiceserver project on GitHub. The installer is a script, install.sh. The voice server does not contain the model. You download the model yourself.

  1. Install Docker Engine on the computer. See the Docker instructions.
  2. Get the voice server. Clone the project from GitHub, then go into its folder:
    git clone https://github.com/mutara-radio/voiceserver.git
    cd voiceserver
    The README of the project has all the installer options.
  3. Download the model files. The voice is Kokoro-82M. Get the two model files, kokoro-v1.0.onnx and voices-v1.0.bin, from the kokoro-onnx project (the release "model-files-v1.0"). Put them in one folder, for example ~/mutara-voice/models.
  4. Do the checks. In the voice server folder, enter this command. Use your computer's Tailscale or home network address, or 127.0.0.1 if the node is on the same computer:
    ./install.sh --check --models ~/mutara-voice/models --listen 100.64.0.5:7374
    The script checks the computer, Docker, the model files and the address. It changes nothing. If a check fails, the script tells you what to do.
  5. Install. Enter the same command without --check. The script builds the Docker image and starts the voice server. The voice server starts again after a reboot. At the end, the script makes a test sentence, and shows the time that it took and the address for your node.
  6. Set up the node. In the Mutara dashboard, open Settings → Announcements. In Voice server, enter the address, for example http://100.64.0.5:7374. Select a voice, and click Save.

To install a new version of the voice server, enter git pull in the voice server folder. Then enter the install command again with --replace. The copies of the speech stay.

What the checks do

Security

The voice server has no password. Anyone who can reach it can use it. Keep it on your own computer or your private network. You are responsible for this.

See it in the dashboard

Open Settings → Health. The Voice server section refreshes every 10 seconds. It shows:

Click Test voice to make a test sentence. It plays in your browser, not on the air, and the dashboard shows the round trip time.