Это старый вопрос. Последнее недавнее решение, и наиболее эффективным является
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
и это в значительной степени обсуждается here.
Это решение (что может сломаться в будущем), реализуется в библиотеке питона gTTS, что оборачивает АФИ в полезный способ, так что вы можете specificy язык, текст и написать оу файл легко:
>> 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, который использует Machine Learning, он поддерживает больше языков, и это официальная api для распознавания речи.
Кстати, сегодня есть много других платформ, которые делают это, и, вероятно, лучше, чем веб-сервис TTS. Microsoft имеет Speech API как часть своих новых когнитивных систем, и бесплатно до 5000 запросов в месяц. IBM Watson Text To Speech API является чрезвычайно мощным и недавно введенным Expressive Synthesis, то есть как синтезировать эмоции в голосе. Все эти облака api используют https://www.w3.org/TR/speech-synthesis/ в качестве языка разметки для определения текста в речь, что гораздо более выразительно, чем использование простого немеченого текста.
это моя общая ссылка использование такой же способ? https://github.com/kewang/google-tts/blob/master/src/tw/kewang/google/tts/GoogleTTS.java – Beyaz
Поскольку он определяет 'private static final String TRANSLATION_URL =" http://translate.google ? .com/translate_tts TL =% s & Q =% s & т.е. = UTF-8" ; 'как конечная точка, окончательно да, это оболочка java вокруг веб-службы google tts. Я обновил ответ, используя более мощные решения. – loretoparisi
У меня есть приложение Columnist, tts должно быть неограниченным и бесплатным .. они? – Beyaz