Участник:Petr-akhlamov/Наработки по речи: различия между версиями
Нет описания правки |
(→Речь) |
||
Строка 121: | Строка 121: | ||
=Речь= | =Речь= | ||
==Некоторые заметки== | |||
Spech dispathcer от Ubuntu: | Spech dispathcer от Ubuntu: | ||
Строка 136: | Строка 137: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
Alias=speech-dispatcher.service | Alias=speech-dispatcher.service | ||
==Установка== | |||
*Основной движок: | |||
# apt-get install speech-dispatcher | |||
*Утилиты Speech Dispatcher: | |||
# apt-get install speech-dispatcher-utils | |||
Конфигурация движка и тест: | |||
spd-conf #настройка | |||
spd-say #произнести текст (по-умолчанию только на английском) | |||
sdpsend #отправка на какой-то сервер с портом |
Версия от 18:06, 23 сентября 2024
Словари
Вот, что получилось по озвучке в Словарях:
Есть три словаря:
- GoldenDict
- QstarDict
- StarDict
Есть ограниченный набор озвученных слов:
- WyabdcRealPeopleTTS
Файлы TTS лежат в:
/usr/share/WyabdcRealPeopleTTS /usr/share/OtdRealPeopleTTS
Есть файл словарей:
- stardict-slovnyk_en-ru
- stardict-slovnyk_ru-en
- stardict-quick_en-ru
- stardict-quick_ru-en
Работать будем с StarDict, потому что именно там получилось завести озвучку.
Установка
# apt-get install startdict # apt-get install stardict-slovnyk_en-ru stardict-slovnyk_ru-en stardict-quick_en-ru stardict-quick_ru-en
Попытки сделать озвучку
Где озвучка работает без Festival
StartDict/GoldenDict. В настройках звука программы.
английские слова читаются при:
- goldendict - использовать встроенный плеер
- stardict - aplay и все снято
Разборки с Festival
Первая попытка
if grep [аяоёуюэеыи]' then festival --tts --language russian' else festival --tts'
Попытка исправления синтаксиса нейросетью
Сгенерировал так:
bash if echo "$GDWORD" | grep -q '[аяоёуюэеыи]'; then echo "$GDWORD" | festival --tts --language russian else echo "$GDWORD" | festival --tts fi
В одну строчку сделал так:
if echo "$GDWORD" | grep -q '[аяоёуюэеыи]'; then echo "$GDWORD" | festival --tts --language russian else echo "$GDWORD" | festival --tts fi
Звук в словарях не работает. Консоль ругается на синтаксис.
Формат чтения словаря
Как я думал читает слова фестиваль в словарях:
echo "$GDWORD" | festival --tts
Как читает фестиваль на самом деле:
echo %s | festival --tts
Попытки сборки единой команды
Проверяем в консоли.
Вводим значение переменной:
s=home
s=Петя
С каждой переменной выполняем каждую команду
Команды для Словарей:
if echo %s | grep -q '[аяоёуюэеыи]'; then echo %s | festival --tts --language russian else echo %s | festival --tts fi
if echo %s | grep -q '[а-яА-я]'; then echo %s | festival --tts --language russian else echo %s | festival --tts fi
if (echo %s | grep -q '[а-яА-я]'); then (echo %s | festival --tts --language russian) else (echo %s | festival --tts) fi
^такая сложная команда в словаре не срабатывает
Команды для консоли:
if echo $s | grep -q '[аяоёуюэеыи]'; then echo $s | festival --tts --language russian else echo $s | festival --tts fi
if echo $s | grep -q '[а-яА-я]'; then echo $s | festival --tts --language russian else echo $s | festival --tts fi
if (echo $s | grep -q '[а-яА-я]*'); then (echo $s | festival --tts --language russian) else (echo $s | festival --tts) fi
StartDict
У Startdict переменная %s
Читает раздельно по english и Russian
echo %s | festival --tts --language russian
echo %s | festival --tts
Команда "на вместе" в startdict не работет:
if (echo %s | grep -q "[а-яА-я]*"); then (echo %s | festival --tts --language russian) else (echo %s | festival --tts) fi
Зато работает в консоли:
if (echo $s | grep -q "[а-яА-я]*"); then (echo $s | festival --tts --language russian) else (echo $s | festival --tts) fi
Итого
читает на англицком: echo %s | festival --tts
читает на русском:
echo %s | festival --tts --language russian
- в startdict читает по раздельности
- goldendict не видит команду
- qstardict не видит команду
Речь
Некоторые заметки
Spech dispathcer от Ubuntu:
[Unit] Description=Speech-Dispatcher, common interface to speech synthesizers [Service] Type=forking User=speech-dispatcher PIDFile=/run/speech-dispatcher/speech-dispatcher.pid ExecStart=/usr/bin/speech-dispatcher -d --pid-file /run/speech-dispatcher/speech-dispatcher.pid ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target Alias=speech-dispatcher.service
Установка
- Основной движок:
# apt-get install speech-dispatcher
- Утилиты Speech Dispatcher:
# apt-get install speech-dispatcher-utils
Конфигурация движка и тест:
spd-conf #настройка spd-say #произнести текст (по-умолчанию только на английском) sdpsend #отправка на какой-то сервер с портом