Pull to refresh

Текст в речь? Лайфхак использования Google Translate

Некоторое время назад я был заинтересован поиском альтернативы функции «Текст в Речь» в Mac OS X под Linux и позднее под Windows. Мне хотелось сконвертировать целую статью или если это будет возможным книгу для прослушивания ее на смартфоне в вагоне метро.

Я первым делом, соответственно занялся поисками готовых решений. Но отчасти, безрезультатно. Либо же, они звучали на мой взгляд совершенно непригодно. Или, стоили денег. Я подумал — эу, одну статью. Покупать программу? И обратил внимание на открытую у себя в браузере вкладку Google Translate. Сначала я очень вдохновился этой идеей и подумал. Может быть скопировать всю статью туда, да просто попробовать послушать как она звучит? Посмотрел в Network куда и какие запросы отправляются на сервер. Подумал, что наверняка не получится просто так отправить запрос, да и сохранить результат, ведь это же сам Google! Но. Как оказалось. Мысли по поводу «ведь в этом нет ничего сверхъестественного» оказались более верны.

image

Все оказалось проще пареной репы. Необходимо было просто послать запрос с главными параметрами:

q, tl, textlen. Где q это желаемая строка, которую вы бы хотели озвучить. tl это язык на котором нужно читать и textlen длинна предложения. Максимальное число 100.

В конечном результате образовался подобный txt2speech gem
С помощью него можно легко проделать необходимую работу и получить нужный результат.

Пример использования скрипта

bin/txt2speech -r README.md -f -o example.mp3

Использование библиотеки:

2.1.2 :001 > require 'txt2speech'
 => true
2.1.2 :010 > f = Txt2Speech.new "Hello I am Google robot! Nice to meet you, hope you'll enjoy this script and will fork it"
 => #<Txt2Speech:0x000000029a3290 @text="Hello I am Google robot! Nice to meet you, hope you'll enjoy this script and will fork it", @lang="en">
2.1.2 :011 > f.save('out.mp3')

Более подробнее тут
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.