Mimic 3 – neural Text to Speech (TTS) engine

Mimic 3 is a neural text to speech engine that can run locally, even on low-end hardware like the Raspberry Pi 4. The software speaks over 25 languages with over 100 pre-trained voices. Mimic 3 uses VITS, a “Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech”.

Mimic 3 is free and open source software.

Let’s take you through the installation steps first before demonstrating the software.


We tested the software on Ubuntu 22.10. We prefer installing software with the source code although there are packages available for Ubuntu/Debian.

We first install the python3.10-venv package. The venv module supports creating lightweight “virtual environments”, each with their own independent set of Python packages.

$ sudo apt install python3.10-venv

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  python3-pip-whl python3-setuptools-whl
The following NEW packages will be installed
  python3-pip-whl python3-setuptools-whl python3.10-venv
0 to upgrade, 3 to newly install, 0 to remove and 0 not to upgrade.
Need to get 2,429 kB of archives.
After this operation, 2,841 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Next, clone the GitHub repository with the command:

$ git clone https://github.com/MycroftAI/mimic3

Change into the newly created mimic3 directory.

$ cd mimic3

Run the install.sh script

$ ./install.sh

This script downloads and installs all the necessary Python dependencies in a virtual environment.

Successfully installed Babel-2.11.0 PyYaml-6.0 aiofiles-22.1.0 blinker-1.5 certifi-2022.9.24 charset-normalizer-2.1.1 click-8.1.3 coloredlogs-15.0.1 dataclasses-json-0.5.7 dateparser-1.1.3 docopt-0.6.2 editdistance-0.6.1 epitran-1.17 espeak-phonemizer-1.1.0 flatbuffers-22.10.26 gruut-2.3.4 gruut-ipa-0.13.0 gruut_lang_de-2.0.0 gruut_lang_en-2.0.0 gruut_lang_es-2.0.0 gruut_lang_fa-2.0.0 gruut_lang_fr-2.0.2 gruut_lang_it-2.0.0 gruut_lang_nl-2.0.2 gruut_lang_ru-2.0.0 gruut_lang_sw-2.0.0 h11-0.14.0 h2-4.1.0 hazm-0.7.0 hpack-4.0.0 humanfriendly-10.0 hypercorn-0.14.3 hyperframe-6.0.1 idna-3.4 itsdangerous-2.1.2 jinja2-3.1.2 jsonlines-1.2.0 libwapiti-0.2.1 marisa-trie-0.7.8 markupsafe-2.1.1 marshmallow-3.19.0 marshmallow-enum-1.5.1 mpmath-1.2.1 munkres-1.1.4 mycroft-mimic3-tts-0.2.5 mypy-extensions-0.4.3 networkx-2.8.8 nltk-3.3 num2words-0.6.0 numpy-1.23.4 onnxruntime-1.13.1 packaging-21.3 panphon-0.20.0 phonemes2ids-1.2.2 priority-2.0.0 protobuf-4.21.9 pyparsing-3.0.9 python-crfsuite-0.9.8 python-dateutil-2.8.2 pytz-2022.6 pytz-deprecation-shim-0.1.0.post0 quart-0.18.3 quart-cors-0.5.0 regex-2022.3.2 requests-2.28.1 six-1.16.0 swagger-ui-py-21.12.8 sympy-1.11.1 toml-0.10.2 tqdm-4.64.1 typing-extensions-4.4.0 typing-inspect-0.8.0 tzdata-2022.6 tzlocal-4.2 unicodecsv-0.14.1 urllib3-1.26.12 werkzeug-2.2.2 wsproto-1.2.0 xdgenvpy-2.3.5

There’s also a pre-built Docker image available for Intel/AMD CPus and 32/64-bit ARM. The software can also be installed with pip, a cross-platform package manager.

Next page: Page 2 – In Operation

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation / Summary

Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.