- Установка сервера
- Настройки сервера
- Настройка в Home Assistant
- Настройка в Rhasspy
- Функциональные возможности
Выполните команду:
docker run -p 9898:9898 -e NUMBER_OF_THREADS=4 -e LANGUAGE='ru' -e SAMPLE_RATE=48000 --name tts_silero -d navatusein/silero-tts-service
Создайте файл docker-compose.yml
и перенесите в него содержимое:
version: '3'
services:
silero-tts-service:
image: "navatusein/silero-tts-service"
container_name: "silero-tts-service"
ports:
- "9898:9898"
restart: unless-stopped
environment:
NUMBER_OF_THREADS: 4
LANGUAGE: ru
SAMPLE_RATE: 48000
Выполните команду:
docker-compose up
Все настройки сервера передаются как параметры окружения docker контейнеру при запуске.
Количество ядер для обработки речи NUMBER_OF_THREADS
:
NUMBER_OF_THREADS: 4
Количество потоков от 1 до количества ядер процессора сервера.
По умолчанию: 4
Язык синтеза речи LANGUAGE
:
LANGUAGE: 'ru'
По умолчанию: ru
Поддерживаемые языки, с доступными для них голосами:
Язык | Код языка | Поддерживаемые голоса |
---|---|---|
Русский | ru |
aidar baya kseniya xenia eugene random |
Українська | uk |
mykyta random |
Частота дискретизации SAMPLE_RATE
:
SAMPLE_RATE: 48000
Возможние значения: 48000
, 24000
, 8000
По умолчанию: 48000
Параметры утилиты sox SOX_PARAM
:
SOX_PARAM: 'reverb 50 50 10' # Добавляет эхо на речь
По умолчанию: Пустой
Выходной файл проходит через утилиту sox. Ей можно передать параметры, чтобы наложить эффекты на речь: поднять тембр, добавить эхо, бас буст включить.
Ссылка на документацию утилиты sox: https://linux.die.net/man/1/sox
Исправление обрубания окончания фразы HA_FIX
:
HA_FIX: True
Может принимать значения: True
False
По умолчанию: False
Исправляет ошибку, при которой Home Assistant не договаривает конец фразы. Добавляет секунду молчания в конец речи.
В файле configuration.yaml
добавьте запись:
tts:
- platform: marytts
host: localhost # Адрес сервера
port: 9898
codec: WAVE_FILE
voice: xenia # Имя голоса который хотите использовать.
language: ru # Не используется. Настройки языка указываются в настройках сервера.
- В настройках, в разделе Text to Speech. Выберете модуль MarryTTS.
- Примените настройки Rhasspy Assistant (он перезагрузиться).
- Укажите адрес вашего сервера с путём
/process
. - Нажмите на кнопку Refresh.
- В списке доступных голосов, выберите голос который вам нужно.
- Примените настройки Rhasspy Assistant (он перезагрузиться).
Сервис умеет переводить цифры в текст.
Пример:
Текст с цифрой 1.
Сервис умеет склонять существительных после цифр.
Для этого слово которое нужно склонить после цифры, возьмите в тег <d>слово<\d>
.
Пример:
У меня было 15 <d>яблоко</d>.
Если нужно склонить несколько слов, то каждое нужно брать в тег <d>слово<\d>
отдельно.
Мне осталось работать 15 <d>рабочий</d> <d>день</d>.
Сервис умеет произносить транслит.
Пример:
Lorem ipsum dolor sit amet.
С помощью SSML вы можете управлять паузами и просодией синтезированной речи.
<p>
Когда я просыпаюсь, <prosody rate="x-slow">я говорю довольно медленно</prosody>.
Потом я начинаю говорить своим обычным голосом,
<prosody pitch="x-high"> а могу говорить тоном выше </prosody>,
или <prosody pitch="x-low">наоборот, ниже</prosody>.
Потом, если повезет – <prosody rate="fast">я могу говорить и довольно быстро.</prosody>
А еще я умею делать паузы любой длины, например две секунды <break time="2000ms"/>.
<p>
Также я умею делать паузы между параграфами.
</p>
<p>
<s>И также я умею делать паузы между предложениями</s>
<s>Вот например как сейчас</s>
</p>
</p>