Как установить Microsoft SAPI5 и Ivona TTS на Ubuntu 17.04

Инструкции данного туториала касаются Ubuntu 17.04 Zesty с ядром 4.10.0-28-lowlatency x86_64 GNU/Linux, но для других разновидностей Убунт и даже Линуксов тоже сгодятся.

1. Первым делом достаем голоса Ivona TTS. Для хитрых буратин, я поставил видео с подробным описанием, где скачать крэк. SAPI5, правда, идет со встроенными голосами от Майкрософт типа Мэри или Сэм. Кто нехитрый, пусть Ивону купит или довольствуется тем, что добрый дядя Сэм поставил.

2. Устанавливаем на комп Wine

sudo apt-get install wine-stable winetricks

3. Создаем 32-битный WINEPREFIX с папкой ttsreader

WINEARCH=win32 WINEPREFIX=/home/alex/ttsreader winecfg

4. В winecfg ставим XP

5. Теперь с этим вайнпрефиксом устававливам SAPI5

WINEPREFIX=/home/alex/ttsreader winetricks speechsdk

Этот вайнпрефикс теперь будем ставить все время для любой команды

WINEPREFIX=/home/alex/ttsreader

6. Один за другим устанавливаем голоса от Ивоны. Какие именно голоса – на любителя. Я установил все американские, все британские и один русский. Русский у Ивоны всего один.

WINEPREFIX=/home/alex/ttsreader wine "/home/alex/Downloads/American English/Ivona_Voice_1.6_Eric_22kHz.exe"

alex – это мой юзернэйм, у вас другой должен быть.

Когда все голоса установлены, цыганам рекомендуется заменить файл ivona_sapi5_voice_v1.6.60.dll в папке ~/ttsreader/drive_c/Program Files/IVONA/IVONA 2 Voice/x86 на крякнутый.

7. Устанавливаем говорилку.

Скачиваем eSpeak TTS для SAPI5 и устанавливаем прогу с тем же вайнпрефиксом

WINEPREFIX=/home/alex/ttsreader wine setup_espeak-1.48.04.exe

Не забудьте cd в папку откуда устанавливаем.

Заводить говорилку будем так:

cd "/home/alex/ttsreader/drive_c/Program Files/eSpeak"
WINEPREFIX=/home/alex/ttsreader wine TTSApp.exe

alex – это мой юзернэйм, у вас другой

Тут собственно можно уже и успокоится, но дотошным юзерам всегда хочется чего-то хитрого. Потому

8. Устанавливаем прогу для командной строки

Идем на сайт Балаболки и скачиваем balcon.zip. Разархивируем пакет и двигаем его в папку /home/alex/ttsreader/drive_c/Program Files

Теперь можно слушать текст прямо из терминала:

a) Список голосов

WINEPREFIX=/home/alex/ttsreader wine balcon.exe -l

b) Слушать файл

WINEPREFIX=/home/alex/ttsreader wine balcon.exe -n "Microsoft Mary" -f file.txt

c) Слушать текст

WINEPREFIX=/home/alex/ttsreader wine balcon.exe -n "Microsoft Sam" -t "how do you do?"

Балаболка балаболит хорошо, но почему-то на Убунте долго заводится. Некоторые рекомендуют включать wineserver при стартапе и прочую чушь, которая не работает. Потому я сделал кнопку, которая всегда на стрёме.

Она работает при помощи проги xsel, которая копирует выделенный мышкой текст в x-клипборд, и QT4

sudo apt-get install xsel
sudo apt-get install python-qt4 qt4-qtconfig python-pyqtgraph

кнопка wav сохраняет выделенный мышкой текст в файл формата wav в папку по вашем выбору (см ниже)

кнопка dict включает поиск проги goldendict, к которой можно приспособить говорящий словарь OALD8 for lingvo, если вы найдете его на торрентах.

apt-get install goldendict

Файл voices.txt содержит списочек голосов, которые мы получили при помощи команды

WINEPREFIX=/home/alex/ttsreader wine balcon.exe -l

В файле speak.py на линиях 12, 13 и 14 поменяйте реквизиты на свои:

dir_ папка, где находится balcon.exe
prefix префикс, который мы сделали выше
wav_folder папка, куда сохранять .wav файлы

На линии 53 поменяйте пиксельные координаты x и y для местоположения кнопки на экране при стартапе.


Файл xSpeak.sh – это программный лончер. Он короткий

#!/bin/bash

cd /opt/xSpeak
python speak.py

Тут написано, что папка xSpeak должна быть в папке /opt или поменяйте на свои.

Еще надо надо установить notify-send.

Скачать кнопку