Although Mycroft supports Mimic 3 intrgtstion using a plugin, there are benefits to running it as a separate service. to Home Assistant for vocalising events and feedback using TTS.

Container setup

Home Assistant, Mimic 3 and Mycroft are running as Docker containers, orchestrated by Docker Compose:

$ cat ${CONTAINERS}/docker-compose.yaml
# ... 
version: '3'
services:
  home-assistant:
    container_name: home-assistant
    image: homeassistant/home-assistant:2022.4
    volumes:
    - ./homeassistant:/config
    environment:
    - TZ=Australia/Melbourne
    restart: unless-stopped

  mimic3:
    container_name: mimic3
    image: mycroftai/mimic3:0.2.3
    volumes:
    - ./mimic3:/home/mimic3/.local/share/mycroft/mimic3
    command: ['--preload-voice', 'en_US/hifi-tts_low']
    restart: unless-stopped

  mycroft:
    container_name: mycroft
    image: mycroftai/docker-mycroft
    volumes:
    - ./mycroft:/root/.mycroft
    environment:
    - PULSE_SERVER=tcp:10.0.XXX.XXX # Host IP running a PulseAudio with TCP interface
    - PULSE_SINK=alsa_output.pci-0000_00_1b.0.analog-stereo # Dedicated speaker for TTS
    restart: unless-stopped
# ...

Home Assistant & Mimic 3 via MaryTTS protocol

The Mimic 3 standalone server has a MaryTTS-compatible API, so it can be added to Home Assistant as a MaryTTS text-to-speech integration.

$ cat ${HOME_ASSISTANT}/configuration.yaml
# ... 
tts:
  - platform: marytts
    ache: false
    host: "mimic3"
    port: 59125
    voice: "en_US/hifi-tts_low#92" # see https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#voice-keys
    codec: "WAVE_FILE"
# ...

Assuming you have a compatible media_player plugin set up, you can test this though Home Assistant's developer tools:

Home Assistant interface, testing the Mimic 3 TTS integration with some sample text.

Mycroft & Mimic 3 via MaryTTS protocol

Mycroft supports a range of integrated and remote tts providers, so Mimic 3 can be integrated as a MaryTTS plugin.

Note: The Mycroft docker image does not include a text editor, install one before using mycroft-config.

$ mycroft-config edit user
{
  "tts": {
    "module": "marytts",
    "marytts": {
      "url": "http://mimic3:59125",
      "voice": "en_US/hifi-tts_low#92"
    }
  }
}

Related reading

To find out more about how these integrations work, check out configuration.yaml on Github.