第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 调用阿里云语音合成Python版SDK

调用阿里云语音合成Python版SDK

时间:2019-04-27 04:06:54

相关推荐

调用阿里云语音合成Python版SDK

一、阿里云介绍

阿里云创立于,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业,包括中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司。

阿里云在语音交互技术方面也是在全国排名里名列前茅的,同时阿里云免费提供语音合成api进行使用,调用次数不限,给广大的程序猿提供了巨大的便利。

二、调用阿里云步骤如下

1、首先账号注册,再进行个人认证或者进行企业认证。

2、选择智能语音交互

3、选择全部项目,点击创建项目,从而获得项目Appkey

4、鼠标放置头像上得到小框,点击AccessKey管理

5、创建AccessKey,获得ID和密码,点击查看Secret进行查看

6、点击服务管理与开通,再点击语音合成,接着点击产品文档

7、选择Python SDK,对SDK进行下载

三、代码如下

import timeimport threadingimport sys# -*- coding: utf-8 -*-import nlsimport waveURL="wss://nls--/ws/v1"AKID="LTAI5tPmMMqx7b4Hk7UQQK9Y"AKKEY="M4IlUfhpeb6UgpAvelJFtvlwhEYcCO"APPKEY="kJ8eijgLNnS4rpS1"TEXT='222ng'#'大壮正想去摘取花瓣,谁知阿丽和阿强突然内讧,阿丽拿去手枪向树干边的阿强射击,两声枪响,阿强直接倒入水中'#以下代码会根据上述TEXT文本反复进行语音合成class TestTts:def __init__(self, tid, test_file):self.__th = threading.Thread(target=self.__test_run)self.__id = tidself.__test_file = test_filedef start(self, text):self.__text = textself.__f = open(self.__test_file, "wb")self.__th.start()def test_on_metainfo(self, message, *args):print("on_metainfo message=>{}".format(message)) def test_on_error(self, message, *args):print("on_error args=>{}".format(args))def test_on_close(self, *args):print("on_close: args=>{}".format(args))try:self.__f.close()except Exception as e:print("close file failed since:", e)def test_on_data(self, data, *args):try:self.__f.write(data)except Exception as e:print("write data failed:", e)def test_on_completed(self, message, *args):print("on_completed:args=>{} message=>{}".format(args, message))def __test_run(self):print("thread:{} start..".format(self.__id))tts = nls.NlsSpeechSynthesizer(url=URL,akid=AKID,aksecret=AKKEY,appkey=APPKEY,on_metainfo=self.test_on_metainfo,on_data=self.test_on_data,on_completed=self.test_on_completed,on_error=self.test_on_error,on_close=self.test_on_close,callback_args=[self.__id])# while True:print("{}: session start".format(self.__id))r = tts.start(self.__text,voice="ailun",aformat="wav", speech_rate=-200)#,aformat="wav"print("{}: tts done with result:{}".format(self.__id, r))# time.sleep(5)def multiruntest():# for i in range(0, num):name = "thread" #+ str(i)t = TestTts(name, "1.wav")t.start(TEXT)nls.enableTrace(True)multiruntest()

四、总结

进行调用时所用到的模块:setuptools、aliyun-python-sdk-core-v3(该模块为调用阿里云核心模块)、requirements。调用阿里云生成语音文件格式有三个分别为"pcm", “wav”, “mp3”,但是默认为“pcm”,一般的播放器无法正常播放出来,故需将下方代码进行改动。

r = tts.start(self.__text, voice="ailun")

改为

r = tts.start(self.__text,voice="ailun",aformat="wav")

与此同时下方代码也需改动。

t = TestTts(name, "tests/test_tts.pcm")

改为

t = TestTts(name, "tests/test_tts.wav")

start函数参数说明

感谢各位大佬阅读,如有错误请各位大佬在评论区指出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。