LINUX.ORG.RU

qstardict + google tts как, или чем?


0

1

В качестве словаря использую qstardict в настройках софтинки имеется «Произнести, использую программу», в интерфейсе соответствующая кнопка для озвучки. Сделано это для применения совместно с festival, но, идея в том, чтобы заменить festival на google tts, как бы это сделать по-прямее да пошустрее, результаты поиска по «bash google tts» не впечатляют, может кто-то что иное предложит??



Последнее исправление: sdm (всего исправлений: 1)

заменить festival на google tts, как бы это сделать по-прямее да пошустрее

А потом с ним случится то же, что и с google translate API и станет он самым прямым и шустрым :D

anonymous
()

Не знаю, как к qstardict, я пытался прикрутить к goldendict следующим образом:

http://translate.google.com/translate_tts?tl=en&q=%GDWORD%

но, так не работает. Сервис отдаёт .mp3 файл вида: /tmp/translate_tts*, и очевидно надо указывать ещё что-то, но я не понял как это сделать. Ну, да ладно, раз пошла такая тема — есть два гораздо более качественных варианта: http://cepstral.com есть нативный под линукс, и есть даже скрипт перебивающий всё это хозяйство для работы в фестивале, но он платный, а таблетки я так и не нашёл — нет ни у кого случайно, хоть для какого нибудь голоса? И есть (наверное самый лучший под windows) http://www.neospeech.com/tts-engine.aspx и там даже сказано, что есть версия под линукс, но сколько искал, ничего не нашёл, — кто нибудь видел её живьем, и может быть даже знает где взять?

anonymous
()
Ответ на: комментарий от anonymous

Может кто знает ещё — как прикрутить к goldendict озвучивание через SAPI-движок установленный в wine? Собственно сам движок установлен, и через wine работает прекрасно, — как его на вход-выход goldendict-а вывести?

anonymous
()
Ответ на: комментарий от anonymous

В последних git-версиях GD есть поддержка произвольных программ, в том числе и для TTS. Так что если этот SAPI-движок можно использовать с помощью запуска какой-нибудь утилиты командной строки, то всё получится интегрировать без проблем.

ikm ★★
()

Так, почти разобрался. Берём этот скрипт (подсмотрел на хабре): http://pastebin.com/gTrVWyAs, и в qstardict прописываем (плейер разумеется можно указать свой):

Settings -> Configure QStarDict -> Global settings -> Pronouce words using this command: bash /путь_к_скрипту %s

В goldendict:

Edit -> Dictionaries -> Programs -> Add… Command Line -> /путь_к _скрипту %GDWORD%

Не знаю только как сделать, чтобы если файл уже существует, то не качало его по новой, а играло старый? Есть специалисты по bash?

anonymous
()
Ответ на: комментарий от ikm

В последних git-версиях GD есть поддержка произвольных программ, в том числе и для TTS. Так что если этот SAPI-движок можно использовать с помощью запуска какой-нибудь утилиты командной строки, то всё получится интегрировать без проблем.

Это мне всё понятно — у меня всё уже установлено, настроено, и всё по отдельности работает (goldendict чере espeak, или festival, или google tts, в wine установлен TextAloud который воспроизводит посредством SAPI5 и движка Neospeech). Как именно (с подробностями желательно) заставить goldendict произносить слова через wine, используя возможности движка Neospeech?

anonymous
()
Ответ на: комментарий от anonymous

Как я уже написал, этот вопрос сводится к вопросу о том, каким образом можно осуществить произнесение слов «через wine, используя возможности движка Neospeech» из командной строки. После этого вставить результат в GD тривиально. Вот тут писали на эту тему: http://goldendict.org/forum/viewtopic.php?f=4&t=1228&p=5460#p5460

ikm ★★
()
Ответ на: комментарий от ikm

Как я уже написал, этот вопрос сводится к вопросу о том, каким образом можно осуществить произнесение слов «через wine, используя возможности движка Neospeech» из командной строки.

Так вот каким именно образом? Как конкретно это сделать? Через буфер, или ещё как-то? Я не понимаю, каким образом это всё в wine работает. Я знаю, что установлен голосовой движок, и если даже просто тупо запустить: $ wine .wine/drive_c/windows/system32/control.exe а там нажать: Speech, то в появившемся окне можно выбрать и желаемый голос, и прямо тут-же в строке вводить текст, и оно будет сразу его озвучивать, больше не запуская никаких процессов.

После этого вставить результат в GD тривиально. Вот тут писали на эту тему: http://goldendict.org/forum/viewtopic.php?f=4&t=1228&p=5460#p5460

Да, нет — это такой костыль, генерировать аудио-файл, а затем проигрывать его в словаре… Такой-же способ работает и в google-tts, но это ещё можно понять, поскольку это вэб-сервис, и по другому просто невозможно сделать, а локально это как-то не впечатляет. Неужели нельзя как-то просто перенаправить запрос от goldendict-a wine, и чтобы тот через свой sapi просто его проиграл, в фоне желательно? А обратно в goldendic ничего уже вставлять не нужно, — набрал в нём слово, нажал кнопку, он перенаправил его wine, тот его озвучил, и всё, сидит тихо, ожидает следующей команды.

anonymous
()
Ответ на: комментарий от anonymous

Костыль-не костыль - какая разница, если работает? :)

ikm ★★
()
Ответ на: комментарий от anonymous

Самое интересное во всем это то, что мне важно качество, важно произношение и ударения. Я не пытаюсь научиться произношению у tts, но услышав примерное произношение, при последующем просмотре фильмов и встрече с этим словом уже вспомнится значение. Пока tts от google в этом лучше аналогов. В браузере у меня сейчас работает плагин от http://lingualeo.ru/, который при даблклике по английскому слову предлагает googl-овскую озвучку, но не всегда слова попадаются в и интернете, к тому же привык уже искать перевод в qstardict. Т.е. мне это нужно исключительно для самого себя, и запасной вариант у меня есть, поэтому принципиально не чтобы работало, а чтобы меньше костылей.

sdm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.