tts接口

语音合成借口

1 URL

协议 URL 方法
HTTPS http://ip:8090/synthesis POST

2 HTTP Header

名称 类型 需求 描述
Content-type String 必填 ‘application/json’
Accept String 必填 识别结果返回格式,仅支持’text/json’

3 输入参数

名称 类型 需求 描述
text String 必填 编码格式必须为utf-8

4 返回结果

名称 类型 描述
success String 合成是否成功,True/False
message String message
data String 合成的音频文件的base64编码的字符串

5 demo

  • 运行环境: python 2.7
from __future__ import unicode_literals
import httplib
import json
import base64

class SynthesisAPI():
    def __init__(self):
        self.url = 'http://ip:8090/synthesis'
        self.headers = {"Content-type": "application/json", "Accept": "text/json"}
        self.conn = httplib.HTTPConnection('ip:8090')

    def Synthesis(self, text):
        '''
        :param text: 预合成文本 type:unincode
        :return: 
        '''
        # p = {"voice_type": voice_type, "text": text}
        p = {"text": text}
        params = json.dumps(p)
        self.conn.request('POST', self.url, params, self.headers)
        response = self.conn.getresponse()
        json_data = response.read()

        json_data = json.loads(json_data)
        print(bytes(json_data['data']))
        with open('./audio_result.wav', 'wb') as f:   #./audio_result.wav :合成文件保存位置
            f.write(base64.b64decode(bytes(json_data['data'])))
        return json_data

if __name__ == '__main__':
    syn = SynthesisAPI()
    #请求成功返回:{'success': True, 'message': u'成功响应', 'data': md5(request.json['speakerid']+request.json['text'])}
    print(syn.Synthesis('2月30号'))

你可能感兴趣的:(tts,语音合成)