Участник:Petr-akhlamov/Наработки по речи: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
= | =Словари= | ||
Вот, что получилось по озвучке в Словарях: | Вот, что получилось по озвучке в Словарях: | ||
Строка 119: | Строка 119: | ||
*goldendict не видит команду | *goldendict не видит команду | ||
*qstardict не видит команду | *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 |
Версия от 17:07, 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