Text-To-Speech

Text-To-Speech (TTS) is the process of synthesizing audio from text. Mycroft uses our own TTS engines by default, however we also support a range of third party services.

Mycroft has two open source TTS engines.

Mimic 1 is a fast, light-weight engine based on Carnegie Mellon University's FLITE software. Whilst the original Mimic may sound more robotic, it is able to be synthesized on your device.

Mimic 2 is an implementation of Tacotron speech synthesis. It is a fork of Keith Ito's project with additional tooling and code enhancements. Mimic 2 provides a much more natural sounding voice, however requires significant processing power to do so and is therefore cloud-based.

Default Engine

The engine that will be used depends on the voice selected in your Device Settings at Home.mycroft.ai.

Currently:

  • British Male is Mimic 1

  • American Female is Mimic 1

  • American Male is Mimic 2

  • Google Voice uses the Google Translate TTS API.

As Mimic 1 voices can be synthesized on device, the British Male voice will be used anytime the device cannot reach your preferred TTS service. This allows Mycroft to continue to speak even if it is not connected to a network.

ESpeak

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"module": "espeak",
"espeak": {
"lang": "english-us",
"voice": "m1"
}
}

Mary TTS

The multilingual open-source MARY text-to-speech platform. MaryTTS is a client-server system written in pure Java, so it runs on many platforms.

Server Setup

The latest installation instructions can be found on the MaryTTS Github repository.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"marytts": {
"url": "http://YOUR_SERVER:PORT_NUMBER"
},
"module": "marytts"
}

FA TTS

Produced by Mivoq, it is based off Mary TTS.

Server Setup

The latest installation instructions can be found on the Mivoq FA TTS Github repository.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"fatts": {
"url": "http://YOUR_SERVER:PORT_NUMBER"
},
"module": "fatts"
}

Google TTS

Google Translate's text-to-speech API.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config set tts.module "google"

IBM Watson

Account Setup

Create an account at IBM.com/cloud.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"module": "watson",
"watson": {
"api_key": "YOUR_API_KEY",
"username": "YOUR_USERNAME", # Not needed if api_key is set
"password": "YOUR_PASSWORD" # Not needed if api_key is set
}
}

Microsoft Azure

Account Setup

Create a Microsoft Azure account and get a server access token.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"module": "bing",
"bing": {
"api_key": "YOUR_API_KEY",
"format": "riff-16khz-16bit-mono-pcm",
"gender": "Male"
}
}

Responsive Voice

Lifelike human digital voices from ResponsiveVoice.org.

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"module": "responsive_voice",
"responsive_voice": {
"gender": "male",
"pitch": "0.5",
"rate": "0.5",
"vol": "1"
}
}

SpdSay

A common high-level interface to speech synthesis from Free(B)Soft.

Software Setup

Install the speech-dispatcher package using your systems package manager. For example: sudo apt-get install speech-dispatcher

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config set tts.module "spdsay"

Yandex SpeechKit

Speech services from Yandex, one of the largest cloud platforms in Russia.

Account Setup

  1. Register an account at Yandex.

  2. Create billing account: https://cloud.yandex.com/docs/billing/quickstart/#create_billing_account

    You can activate a free trial period in the console.

  3. Create first "folder" in cloud.

  4. Create service account for you Mycroft instance with role editor: https://cloud.yandex.com/docs/iam/operations/sa/create

Mycroft Configuration

Using the Configuration Manager we can edit the mycroft.conf file by running:

mycroft-config edit user

To our existing configuration values we will add the following:

"tts": {
"module": "yandex",
"yandex": {
"lang": "en-US",
"api_key": "YOUR_API_KEY",
"voice": "oksana", #optional
"emotion": "good" #optional
}
}