def textToSpeech2(name, passwd, xlatText): server = SOAPProxy(url, namespace) server.config.debug = 0 reqStatus = server.ConvertSimple(name, passwd, xlatText) print "request status = ", reqStatus retResult = reqStatus.split('&') print "request result = ", retResult if int(retResult[0]) == 0: # check convert progress cvtResult = ['0'] * 5 #statusCode = '0' while int(cvtResult[2]) in {0, 1}: # wait completion cvtStatus = server.GetConvertStatus(name, passwd, int(retResult[2])) print "convert status = ", cvtStatus, "ID", retResult[2] # on success, status is return URL #resultCode, resultString, statusCode, status = cvtStatus.split('&') cvtResult = cvtStatus.split('&') print cvtResult sleep(0.5) # save to file if (int(cvtResult[2]) == 2): # '2' means "completed" waveUrl = cvtResult[4] req = urllib2.Request(waveUrl) resp = urllib2.urlopen(req) wavFile = resp.read() outfile = open(xlatText + u".wav", 'wb') outfile.write(wavFile) else: return retResult[1]