使用带有西班牙文本的Google文本到语音服务

时间:2014-01-15 21:12:17

标签: text-to-speech urllib

我正在尝试使用以下网址从文本生成语音邮件:

"http://translate.google.com/translate_tts?tl=es&q=La+castaña+está+muy+buena"

使用python,但urllib库失败并显示:

  File "/usr/lib/python2.7/urllib.py", line 227, in retrieve
    url = unwrap(toBytes(url))
  File "/usr/lib/python2.7/urllib.py", line 1051, in toBytes
    " contains non-ASCII characters")
UnicodeError: URL u'http://translate.google.com/translate_tts?tl=es&q=La+casta\xf1a+est\xe1+muy+buena' contains non-ASCII characters

如何将具有语音含义的特殊字符(ñ, á, é, í, ó, ú)传递给Google t2s服务?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题并找到了解决方案in this question: 我所要做的就是传递一个额外的参数:&ie=UTF-8 那就是它。

我生成的PHP看起来像:

$q = "Años más, años menos";
$data = file_get_contents('http://translate.google.com/translate_tts?tl=es&ie=UTF-8&q='.$q;

注意GET参数的translate_tts?tl=es&ie=UTF-8&q='.$q部分。