所以我找到了这段代码:
#!/usr/bin/python
import sys #for cmd line argv
import time #for delay
import pygst #for playing mp3 stream
import gst # " "
#take command line args as the input string
input_string = sys.argv
#remove the program name from the argv list
input_string.pop(0)
#convert to google friendly url (with + replacing spaces)
tts_string = '+'.join(input_string)
print tts_string
#use string in combination with the translate url as the stream to be played
music_stream_uri = 'http://translate.google.com/translate_tts?q=' + tts_string
player = gst.element_factory_make("playbin", "player")
player.set_property('uri', music_stream_uri)
player.set_state(gst.STATE_PLAYING)
#requires a delay, if the py process closes before the mp3 has finished it will be cut off.
time.sleep(12)
这是使用Python在谷歌翻译中使用Google的“文本到语音”功能的一个很好的例子,问题是,它只能用英语“说”!传递西班牙语文本(例如)使TTS功能说“spanglish”,而在浏览器中TTS功能(与此示例中生成的URL格式相同的URL格式)可以实际上用西班牙语或任何其他语言说话想要...我尝试使用此URL更改为程序提供语言代码的URL:
http://translate.google.com/translate_tts?tl=es_MX&q=
(西班牙语认可)
但结果是一样的,Spanglish ......为什么会发生这种情况的任何想法以及如何让它在与Web工具一样多的语言中“说话”? (或至少在另一个加英语),呵呵
答案 0 :(得分:5)
请勿使用tl=es_MX
,只需使用tl=es
。
来自ejemplo:http://translate.google.com/translate_tts?tl=es&q=que+hora+es