есть ли способ использовать Google TTS в качестве внешней библиотеки?

Я использую библиотеку Google TTS в приложении для Android ... Все работает отлично ... Но проблема в том, что на каком-то устройстве Android есть Pico TTS. Более того, язык, который я использую, должен быть загружен ...

Итак, мой вопрос: есть ли способ использовать движок Android Google TTS в качестве внешней библиотеки, есть ли библиотека поддержки? ... это проект с открытым исходным кодом?

Если да, то как это сделать?

Я задаю этот вопрос, потому что некоторые устройства поддерживают только pico tts ... поэтому внешняя библиотека решит проблему ...


person Ucdemir    schedule 16.04.2016    source источник


Ответы (1)


Это старый вопрос. Последнее и самое эффективное решение -

curl 'https://translate.google.com/translate_tts?ie=UTF-8&q=hello&tl=en&tk=995126.592330&client=t' -H 'user-agent: stagefright/1.2 (Linux;Android 5.0)' -H 'referer: https://translate.google.com/' > google_tts.mp3

и в основном это обсуждается здесь.

Это решение (которое может сломаться в будущем) реализовано в библиотеке python gTTS, которая обертывает api удобным способом, так что вы можете указать язык, текст и легко записать файл:

>> from gtts import gTTS
>> from tempfile import TemporaryFile
>> tts = gTTS(text='Hello', lang='en')
>> f = TemporaryFile()
>> tts.write_to_fp(f)
>> f.close()

ПРИМЕЧАНИЕ. Если мы рассмотрим обратное: речь в текст, недавно Google выпустил Cloud Speech API, который использует машинного обучения, он поддерживает больше языков и является официальным API для распознавания речи.

Кстати, сегодня есть много других платформ, которые делают это, и, вероятно, лучше, чем веб-сервис TTS. У Microsoft есть Speech API как часть своих новых когнитивных систем. , и это бесплатно до 5000 запросов в месяц. IBM Watson Text To Speech API чрезвычайно мощный и недавно представленный Экспрессивный синтез вот как синтезировать эмоции в голосе. Все эти облачные API используют https://www.w3.org/TR/speech-synthesis/ в качестве языка разметки для преобразования текста в речь, что гораздо более выразительно, чем использование простого текста без меток.

person loretoparisi    schedule 16.04.2016
comment
в моей общей ссылке используется тот же метод? github.com/kewang/ google-tts / blob / master / src / tw / kewang / google / - person Ucdemir; 16.04.2016
comment
Поскольку он определяет private static final String TRANSLATION_URL = "http://translate.google.com/translate_tts?tl=%s&q=%s&ie=UTF-8"; как конечную точку, безусловно, да, это java-оболочка для веб-службы google tts. Я обновил ответ, добавив более мощные решения, кстати. - person loretoparisi; 16.04.2016
comment
У меня есть приложение Columnist, tts должно быть неограниченным и бесплатным .. не так ли? - person Ucdemir; 16.04.2016
comment
ммм, как вы упомянули, это зависит от пользователя, например, загрузки голосов и т. д. Если вы посмотрите ссылку на stackoverflow, о которой я упоминал, есть несколько бесплатных решений с несколькими вариантами, но бесплатными (например, на нескольких языках). Я предполагаю, что бесплатное неограниченное решение, которое не зависит от системы ОС хоста, то есть tts api такого типа, бесплатно с полной поддержкой языка не существует. - person loretoparisi; 16.04.2016