“教”Python其他语言(TTS说...)HowTo?

时间:2012-01-29 07:43:13

标签: python text-to-speech

所以我找到了这段代码:

#!/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工具一样多的语言中“说话”? (或至少在另一个加英语),呵呵

1 个答案:

答案 0 :(得分:5)

请勿使用tl=es_MX,只需使用tl=es

来自ejemplo:http://translate.google.com/translate_tts?tl=es&q=que+hora+es