tts.mimic3#

class platypush.plugins.tts.mimic3.TtsMimic3Plugin(server_url: str, voice: str = 'en_UK/apope_low', media_plugin: str | None = None, player_args: dict | None = None, **kwargs)[source]#

Bases: TtsPlugin

TTS plugin that uses the Mimic3 webserver provided by Mycroft as a text-to-speech engine.

The easiest way to deploy a Mimic3 instance is probably via Docker:

$ mkdir -p "$HOME/.local/share/mycroft/mimic3"
$ chmod a+rwx "$HOME/.local/share/mycroft/mimic3"
$ docker run --rm             -p 59125:59125             -v "%h/.local/share/mycroft/mimic3:/home/mimic3/.local/share/mycroft/mimic3"             'mycroftai/mimic3'

Requires:

  • At least a media plugin (see platypush.plugins.media.MediaPlugin) enabled/configured - used for speech playback.

  • The http backend (platypush.backend.http.HttpBackend) enabled - used for proxying the API calls.

__init__(server_url: str, voice: str = 'en_UK/apope_low', media_plugin: str | None = None, player_args: dict | None = None, **kwargs)[source]#
Parameters:
  • server_url – Base URL of the web server that runs the Mimic3 engine.

  • voice – Default voice to be used (default: en_UK/apope_low). You can get a full list of the voices available on the server through voices().

  • media_plugin

    Media plugin to be used for audio playback. Supported:

    • media.gstreamer

    • media.omxplayer

    • media.mplayer

    • media.mpv

    • media.vlc

  • player_args – Optional arguments that should be passed to the player plugin’s platypush.plugins.media.MediaPlugin.play() method.

say(text: str, server_url: str | None = None, voice: str | None = None, player_args: dict | None = None)[source]#

Say some text.

Parameters:
  • text – Text to say.

  • server_url – Default server_url override.

  • voice – Default voice override.

  • player_args – Default player_args override.

voices(server_url: str | None = None)[source]#

List the voices available on the server.

Parameters:

server_url – Default server_url override.

Returns:

[
  {
    "aliases": [
      "string"
    ],
    "description": "string",
    "key": "en_UK/apope_low",
    "language": "en_UK",
    "language_english": "Name of the language (in English)",
    "language_native": "Name of the language (in the native language)",
    "name": "apope_low",
    "sample_text": "Some text"
  }
]