Google Переводчик TTS проблема - PullRequest
4 голосов
/ 20 мая 2011

Я тестирую с простым HTML-файлом, который содержит:

<audio src="http://translate.google.com/translate_tts?tl=en&q=A+simple_text+to+voice+demonstration." controls autoplay>

с Chrome v11.0.696.68 и FF v4.0.1. Я иду через прокси-сервер, и он не работает. Ничего не воспроизводится, и нажатие на кнопку воспроизведения не работает в Chrome. В FF он мигает, а затем показывает «X» над элементом управления. Журналы ошибок ничего не показывают.

Итак, я разбил шаги:

  1. Ввод URL в любой браузер работает

  2. wget -q -U Mozilla -O /tmp/tts.mp3 "http://translate.google.com/translate_tts?tl=en&q=Welcome+to+our+fantastic+text+to+voice+demonstration." дает мне файл, который хорошо воспроизводится в обоих браузерах.

  3. Если я передаю этот файл с моего локального веб-сервера, он работает нормально (то есть, тот, который не проходит через прокси). т.е. src = "http://localhost/tts.mp3"

Я в тупике. Если проблема была в прокси, то доступ через wget и адресную строку не должен работать. Если src является URL-адресом, то это проблема с моего локального сервера.

Есть какие-нибудь подсказки? предложения?

Ответы [ 2 ]

4 голосов
/ 14 июня 2011

Причина, по которой это не работает, наиболее вероятна, поскольку translate.google.com ограничивает некоторые типы запросов, чтобы предотвратить перегрузку службы.Например, если вы используете wget без опции пользовательского агента "-U Mozilla", вы получите HTTP 404, потому что служба ограничивает ответы от строки пользовательского агента wget по умолчанию.

В вашем случае это выглядит какпроисходит то, что translate.google.com возвращает HTTP 404, если в запрос включен HTTP Referrer.Когда вы запускаете wget из командной строки, нет реферера.Когда вы используете звуковую метку с веб-страницы, при запросе перевода предоставляется HTTP Referrer.Я только что попробовал следующее и получил 404.

wget --referer="http://foo.com" -U Mozilla -O /tmp/tts.mp3 "http://translate.google.com/translate_tts?tl=en&q=Welcome+to+our+fantastic+text+to+voice+demonstration

Однако, если вы отключите опцию --referer, она будет работать.

3 голосов
/ 12 ноября 2011

Служба работает здесь (11 ноября 2011), но ограничена 100 символами.Вы можете разбить свой текст на 100 чанков, загрузить результаты в формате mp3 для каждого чанка, а затем присоединить их к окончательному файлу Mp3.

...