2012-01-29 8 views
5

Vì vậy, tôi tìm thấy mã này:"Dạy" Python các ngôn ngữ khác (TTS nói ...) HowTo?

#!/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) 

Mà là một ví dụ tuyệt vời của việc sử dụng của "Text to Speech" Tính năng của Google có sẵn trong Google Translate sử dụng Python, vấn đề là, nó chỉ có thể "nói chuyện" bằng tiếng Anh ! việc chuyển văn bản bằng tiếng Tây Ban Nha (ví dụ) làm cho tính năng TTS nói "spanglish" trong khi trong trình duyệt, tính năng TTS (với định dạng URL giống với định dạng được tạo trong ví dụ này) có thể thực sự nói tiếng Tây Ban Nha hoặc bất kỳ ngôn ngữ nào khác muốn ... tôi đã cố gắng để thay đổi url đưa ra các chương trình mã ngôn ngữ sử dụng url này:

http://translate.google.com/translate_tts?tl=es_MX&q= 

(Đối với công nhận Tây Ban Nha)

Nhưng kết quả là như nhau, Spanglish ... Bất kỳ ý tưởng của Tại sao điều này xảy ra và Làm thế nào để làm cho nó "nói" trong nhiều ngôn ngữ như công cụ web? (hoặc ít nhất bằng tiếng Anh khác cộng với tiếng Anh), hehe

+0

Tôi đã thử tương tự nhưng chưa có đầu ra âm thanh. Bất cứ ai có thể cho tôi biết các yêu cầu là gì? – VeilEclipse

Trả lời

5

Không sử dụng tl=es_MX, chỉ cần sử dụng tl=es.

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

+0

Không hoạt động ... Chương trình không xuất ra bất kỳ âm thanh nào bằng cách sử dụng URL đó – Jmlevick

+0

Hiệu chỉnh: SOMETIMES xuất ra âm thanh và đôi khi không có loại URL đó, (hầu hết các lần không) – Jmlevick

+1

Ồ không ! xin lỗi, đó là một vấn đề với kết nối internet của tôi XD, ý tưởng của bạn làm việc hoàn hảo !! ;) – Jmlevick