python使用京东NeuHub平台语音合成,高自然语音合成
程序员文章站
2022-07-14 19:59:31
...
python使用京东NeuHub平台语音合成,高自然语音合成
京东人工智能平台入口:http://neuhub.jd.com/
需要安装京东python 语音sdk
http://jdai.oss.cn-north-1.jcloudcs.com/aisdk/sdk-python.zip
安装完成到运行目录 setup.py
完整代码如下
import wx_sdk
import base64
import json
import os,time
import uuid
def jdvoice():
tim_list = [0,1,3]
while True:
bodyStr = input('请输入想转换为语音的字符串,输入n结束!') #body中的内容
if bodyStr == 'n':
print('-------------\n感谢使用!')
break
tim = input('-------------\n请输入选择语音助手序号数字,默认为0!0:桃桃(女声) 1:斌斌(男声) 3:婷婷(女声):')
sp = input('-------------\n请输入期望语速,默认为1.0!取值范围:[0.5, 2.0]')
if bodyStr == '':
print('-------------\n您没有输入任何语句内容哟,请重新输入')
jdvoice()
pass
else:
if tim =='' and sp =='':
tim = 0
sp = 1.0
elif sp =='' and tim !='':
sp = 1.0
elif tim =='' and sp !='':
tim = 0
elif float(sp)>2 or float(sp)<0.5:
print('-------------\n您输入的语速不正确哟!请重新输入!')
jdvoice()
elif int(tim) not in tim_list:
print('-------------\n你输入的声优没有哦,请重新开始!')
jdvoice()
print('tim:',tim,'sp:',sp)
uuid_str = uuid.uuid1()
url = 'https://aiapi.jd.com/jdai/tts'
encode_str = bodyStr.encode('utf-8')
params = {
'Service-Type' : 'synthesis',
'Request-Id' : uuid_str,
'Sequence-Id' : '-1',
'Protocol' : '1',
'Net-State' : '2',
'Applicator' : '1',
'Property' : '{"platform":"Linux","version":"0.0.0.1","parameters":{"aue":"3","vol":"2.0","sr":"24000","sp":'+str(sp)+',"tim":'+str(tim)+',"tte":"0"}}',
'appkey' : '你的京东appkey',
'secretkey' : '你的京东secretkey'
}
response = wx_sdk.wx_post_req(url, params, bodyStr=encode_str)
strss=json.loads(response.text)
resultdata=base64.b64decode(strss['result']['audio']) #转换成base64编码
file_name = r'C:\Users\Administrator\Desktop/'+bodyStr[:20]+'.mp3'
print('保存路径为:',file_name)
file = open(file_name,"wb")#保存为mp3文件
file.write(resultdata)
file.close()
def main():
print('开始转换(*^▽^*)')
jdvoice()
print('完成转换Thanks♪(・ω・)ノ')
time.sleep(4)
if __name__ == '__main__':
main()
上一篇: 二个PHP随机字符串的生成代码
下一篇: Handler消息机制知识点梳理