Как добавить текст в речь в GoldenDict?
Как добавить текстовый речевой сервис или другие подобные сервисы в GoldenDict для автономного использования?
Я использую Ubuntu 13.10 и хочу научиться произносить английские слова, которых я не знаю.
8 ответов
Вы можете использовать вкладку " Программы ", чтобы подключить программное обеспечение преобразования текста в речь (например, espeak) в "золотой диск".
Вот шаги:
Установите espeak:
sudo apt-get install espeak
Откройте GoldenDict и нажмите F3, чтобы открыть окно Словари (или выберите меню " Правка / Словари").
На вкладке Источники выберите вкладку Программы.
Нажмите кнопку " Добавить", выберите " Аудио" для столбца " Тип", введите espeak для имени и
espeak -v en %GDWORD%
для столбца командной строки.Не забудьте установить флажок " Включено".
Нажмите ОК
Закройте окно GoldenDict и снова откройте его.
Теперь в ваших словарях и результатах перевода есть элемент espeak. Нажав на значок динамика перед словом в espeak результат, прочитает слово для вас.
В последних версиях GoldenDict есть вкладка " Программы " в меню настроек, где вы можете добавлять собственные команды, которые будут выполняться по вашему запросу.
В этом сообщении на форуме от wissam описывается, как настроить Google TTS с GoldenDict, используя метод, описанный выше:
Если вы хотите использовать Google TTS в GD, вы можете сделать это, выполнив следующие действия:
Правка -> Словари -> Программы.
нажмите кнопку Добавить и выберите "Аудио" в поле типа.
в поле "Командная строка" скопируйте и вставьте эту команду:
bash -c "p=$(echo "%GDWORD%" |sed 's/ /+/g'); wget -q -U Mozilla -O - translate.google.com.vn/translate_tts?ie=UTF-8\&q=$p\&tl=en\&client=tw-ob | mpg123 -"
нажмите ОК
для языков, отличных от английского, в команде измените tl = en, например fr для французского или es для испанского
Теперь это, конечно, онлайн-TTS и не обязательно то, что вы ищете, но вы можете использовать тот же метод для добавления любого типа программного обеспечения TTS в GoldenDict (например, espeak %GDWORD%
в командной строке).
Проверьте это Q&A для хороших приложений TTS на Linux.
Google Text-To-Speech (TTS)
- установить простые Google TTS, как это: http://tuxdiary.com/2014/09/29/google-text-to-speech-tts-linux/
или https://github.com/Glutanimate/simple-google-tts - Правка -> Словари -> Программы.
- нажмите кнопку Добавить и выберите "Аудио" в поле типа.
в поле "Командная строка" скопируйте и вставьте эту команду:
simple_google_tts ru "%GDWORD%"
Не забудьте создать символическую ссылку для simple_google_tts на ваш PATH (например, ~/bin или /usr/local/bin), чтобы упростить доступ.
bash -c "p=$(echo "%GDWORD%" |sed 's/ /+/g'); wget -q -U Mozilla -O - https://translate.google.com.vn/translate_tts?ie=UTF-8\&q=$p\&tl=en\&client=tw-ob | mpg123 -"
это сработало для меня.
Если вам нужен родной женский акцент, такой как Google, загрузите отсюда (+500 тыс. слов ~ 2 ГБ):https://github.com/yousefvand/pronunciations
Что сработало для меня:
- Установить Crow Translate
- В GoldenDict добавьте
crow -s en -u “%GDWORD%”
на вкладку "Программы". Тип должен быть "Аудио". См. Рисунок ниже.
Вы можете изменить язык TTS, изменив часть
-s en
к другому коду, например
it
для итальянского,
fr
для французского и т. д. Подробнее см. документацию по Crow translate.
- Установите translate-shell (https://github.com/soimort/translate-shell) с
sudo apt install translate-shell
- Перейдите в раздел программы golddict и используйте
bash trans -b -p :en %GDWORD%
в разделе команд введите audio.
Это переведет все, что вы ищете, на английский, а затем произнесет английский перевод. Вы можете изменить en в коде, чтобы сказать это на другом языке. Для корректной работы требуется подключение к Интернету .
Вы можете использовать быструю программу.
Пример:
padsp /opt/swift/bin/swift -p "speech/rate=150,voice/cache-size=240000,audio/deadair=100" -n Diane "%GDWORD%"