微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍,然则Azure平台需要信用卡验证,有一定门槛,对国内用户不太友好,放眼神州,科大讯飞的讯飞开放平台也有语音合成服务接口,可以通过语音合成流式接口将文字信息转化为声音信息。

创建语音应用

首先注册讯飞开放平台,随后创建语音合成应用:https://console.xfyun.cn/app/myapp

创建成功后,可以获取5个小时的免费语音合成时间,同时获取应用的appid、秘钥和APIKey:

该语音合成能力是通过基于Websocket协议的长连接接口API的方式给开发者提供一个通用的接口。

Websocket协议接口具备流式传输能力,适用于需要流式数据传输的AI服务场景,比起集成在客户端的SDK,流接口具备轻量、跨语言的特点;相较于传统的HTTP协议接口,Websocket协议接口有原生支持跨域的优势,换句话说,从前端就可以直接进行语音转换,而不需要后端参与。

接口鉴权

根据官网的接口文档:https://www.xfyun.cn/doc/tts/online_tts/API.html ,我们先安装对应的三方库:

pip3 install websocket==0.2.1
pip3 install websocket-client==0.56.0

由于讯飞的服务端支持的websocket版本是13,所以需要确保请求端使用的库支持该版本。

首先导入基础库,并且预设语音合成类的参数:

import websocket
import datetime
import hashlib
import base64
import hmac
import json
from urllib.parse import urlencode
import time
import ssl
from wsgiref.handlers import format_date_time
from datetime import datetime
from time import mktime
import _thread as thread
import os file_path = "/Users/liuyue/wodfan/work/xunfei-ttp"
file_name = "demo.mp3" class Ifly:
# 初始化
def __init__(self, APPID, APIKey, APISecret, Text):
self.APPID = APPID
self.APIKey = APIKey
self.APISecret = APISecret
self.Text = Text # 公共参数(common)
self.CommonArgs = {"app_id": self.APPID}
# 业务参数(business),更多个性化参数可在官网查看
self.BusinessArgs = {"aue": "lame", "auf": "audio/L16;rate=16000", "vcn": "xiaoyan", "tte": "utf8","sfl":1,"speed":80}
self.Data = {"status": 2, "text": str(base64.b64encode(self.Text.encode('utf-8')), "UTF8")}

这里把应用的APPID, APIKey, APISecret作为实例化参数进行传入,Text为需要语音合成的文本。

和Http协议一样,Websocekt协议接口也需要鉴权操作,这里需要通过接口密钥基于hmac-sha256计算签名,向讯飞的服务器端发送Websocket协议握手请求:

 # 生成url
def create_url(self):
url = 'wss://tts-api.xfyun.cn/v2/tts'
# 生成RFC1123格式的时间戳
now = datetime.now()
date = format_date_time(mktime(now.timetuple())) # 拼接字符串
signature_origin = "host: " + "ws-api.xfyun.cn" + "\n"
signature_origin += "date: " + date + "\n"
signature_origin += "GET " + "/v2/tts " + "HTTP/1.1"
# 进行hmac-sha256进行加密
signature_sha = hmac.new(self.APISecret.encode('utf-8'), signature_origin.encode('utf-8'),
digestmod=hashlib.sha256).digest()
signature_sha = base64.b64encode(signature_sha).decode(encoding='utf-8') authorization_origin = "api_key=\"%s\", algorithm=\"%s\", headers=\"%s\", signature=\"%s\"" % (
self.APIKey, "hmac-sha256", "host date request-line", signature_sha)
authorization = base64.b64encode(authorization_origin.encode('utf-8')).decode(encoding='utf-8')
# 将请求的鉴权参数组合为字典
v = {
"authorization": authorization,
"date": date,
"host": "ws-api.xfyun.cn"
}
# 拼接鉴权参数,生成url
url = url + '?' + urlencode(v)
return url

随后实例化转换类,并且生成Websocket协议地址:

if __name__ == "__main__":
# 测试时候在此处正确填写相关信息即可运行
ifly = Ifly(APPID='', APISecret='',
APIKey='',
Text="你好这是一个语音合成示例")
websocket.enableTrace(False)
wsUrl = ifly.create_url()
print(wsUrl)

程序返回:

➜  xunfei-ttp /opt/homebrew/bin/python3.10 "/Users/liuyue/wodfan/work/xunfei-ttp/iflytek-tts.py"
wss://tts-api.xfyun.cn/v2/tts?authorization=YXBpX2tleT0iZWNkOTY1MWU1NjA1NjMxNDAyYzAzOGYwY2RkY2JkNDIiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0icDN1SU9Xc2RLUG1aM0pJanpNK3RYcXRZOTcxcVA3cW5UclRubmZRQ0dCMD0i&date=Tue%2C+07+Feb+2023+09%3A10%3A49+GMT&host=ws-api.xfyun.cn

至此Websocekt鉴权环节就完成了,讯飞的服务端将发起握手时会对接口地址中的authorization参数进行验签操作。

语音流式转换

随后,我们可以发起Websocket链接了:

# 收到websocket错误的处理
def on_error(ws, error):
print("### error:", error) # 收到websocket关闭的处理
def on_close(ws):
print("### 链接关闭 ###") # 收到websocket连接建立的处理
def on_open(ws):
def run(*args):
d = {"common": ifly.CommonArgs,
"business": ifly.BusinessArgs,
"data": ifly.Data,
}
d = json.dumps(d)
print("------>开始发送文本数据")
ws.send(d)
if os.path.exists(f'{file_path}/{file_name}'):
os.remove(f'{file_path}/{file_name}') thread.start_new_thread(run, ()) if __name__ == "__main__":
# 测试时候在此处正确填写相关信息即可运行
ifly = Ifly(APPID='', APISecret='',
APIKey='',
Text="你好这是一个语音合成示例")
websocket.enableTrace(False)
wsUrl = ifly.create_url()
print(wsUrl)
ws = websocket.WebSocketApp(wsUrl, on_message=on_message,on_close=on_close)
print(ws)
ws.on_open = on_open
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})

这里通过on_open方法将参数数据传入到服务端,基本参数默认值设置了语音输出格式为mp3,朗读者是xiaoyan,也就是讯飞小燕,语速为80,默认为50,语速快一点显得没有那么呆板。

随后讯飞服务端会通过onmessage方法将转换好的音频流传回客户端:

def on_message(ws, message):
try:
message =json.loads(message)
code = message["code"]
sid = message["sid"]
audio = message["data"]["audio"]
audio = base64.b64decode(audio)
status = message["data"]["status"]
print(code)
if status == 2:
print("ws is closed")
ws.close()
if code != 0:
errMsg = message["message"]
print("sid:%s call error:%s code is:%s" % (sid, errMsg, code))
else:
with open(f'{file_path}/{file_name}', 'ab') as f:
f.write(audio) except Exception as e:
print("receive msg,but parse exception:", e)

注意返回值为Json格式的字符串,语音流放在data的audio字段中,随后写入到指定目录的mp3文件即可,程序返回样例:

xunfei-ttp /opt/homebrew/bin/python3.10 "/Users/liuyue/wodfan/work/xunfei-ttp/iflytek-tts.py"
wss://tts-api.xfyun.cn/v2/tts?authorization=YXBpX2tleT0iZWNkOTY1MWU1NjA1NjMxNDAyYzAzOGYwY2RkY2JkNDIiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0ibXJwZmVrTE9nMFcrbjd4Q2hjYWJCMG14ZmxRRTBnbXJSNzdhUS9HWGp3OD0i&date=Tue%2C+07+Feb+2023+09%3A19%3A26+GMT&host=ws-api.xfyun.cn
<websocket._app.WebSocketApp object at 0x104d47af0>
------>开始发送文本数据
{'code': 0, 'message': 'success', 'sid': 'tts000e2154@hu1862b2c44cb05e0902', 'data': {'audio': '//NoxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//NoxAAd8KZ4N1owAAwU5JM85W4amaEtOtDwyyA4cU48M3K0z5MFD3uawziKd3T09PbzzpwAQcmTJ60EyZNNMH5cP8oCDoIHC58uD76wQBDxOD6gfeIAQMxBhh2XB8H3w//E4IAgc5QEAxiAMKdE58uH/BAEHAg7xA4QA+D/+JwfgmD+UVKACQW245bM04TEIhGpTQRNrL5pAiIAYSQlHAKiaYdAYM47AJ0oUmWH38R7AkuogKArFqiq08pdHRi5Qe++NuMtCpGT3PubZFS1XbycmA1EYaaX//NoxFNBxBa+X5nAAjUPvy/qjbDnYZ/LZM0eBDmmGUTXeFCtLy25cm5y7dldJSz+FDbwd23AMVfrdaUUdPCqXdFfjEP5Rhk+vlfbs3e1QQXFn1vasf3/w1Yp8aP30a5YdyWYXXbn4bjNucxlruVJXLpRcpbN7X1+Wsb9ipY/uLO6OHInlh+H////37GMVl9j/////+3jdy+pQz+Wdul/fNVKTlJ/01mL50lvnNUf3LXNX8uf//vmseZ6/tPfxuY0fIIABCRGqwAvpML35Vq1rK4/wwOLklm5//NoxBclgsa+/dlIAFRmRzXfvfXfVljK3HDGf/3G3sCtGjb//qvfhkJ+MYEV+d+qSUls9vYf7LWMl//fv+M5ZX1AXI5xEgOc0YeyTDiPYKptzi3ax5BbaGKJxBaZxGoVIWEXfGDOHaQ2mzU8gz0K5M4hWlFIg0QHkB2k6kf1+Uu7qZGxDFEp5J4AmJp1gGB7AArXPmKuE/qnqYLCA1AaH8ZEStd35XY3na5IHocJrBcsFCJZhe59y9+rspWKVQS3Ltx/4ftv2fDxmUzCSYfigcIkB5vMe0dp//NoxEw1i+6iNNPHXVEFZm+Na1bwWtdyCRnEoNYziD6wTlTROjvUjysjM2nKaJ0oahpzJs0VpxgO3sWz05S2qlqIUJCWRlrrztrK9xDhK56aHT96+qdUKtVrK1KpQxdVg0hK6Nb6VzeyP8QnzCrWV69ewHzaxsE1/7bzv//evyh0tnL+HVsQNrD7qReRsbLEc2y8tQzgCiqJcwLQSqmQy3d5FPtJoatquJGYkKP1OCFClK58icNdE9GNFuTydUMK29yPnrNI3K5xRLyOXJOoUxdsVzbpyfHS//NoxEAue/Ky/noNjbplfnqX4vo/E6xRzhVKpVVrbRXzRIsPBqBEWlpt7XnLD0xdY6WhndhyOtRmq/XjQUnmynNT8YwWbWBNVQa+aDMZBUtHJmQ/xJFeRL8rH2SI05Jp2PnZ9VTK+xBMpB9pz2zx8aomJBHs9vER/y2UScnFkKlONjHOp0flsBBwB9vmqdhaG9icCrAIw7gAwPx4p4bfJqEaA7xM1ASiO4HJBbZapB6zsafJeS9tVcUt5TGWktomx7iFj6BUAWz8SJRgeHoskwxMk3EiJdE9//NoxFEuk96NVHsNZUXtFKh1CzU+mT1hUhkK2AYkTJtJiT1sv+2vrKZodDAGA09ZMrCrcxBz/s+NmpqmVrTLLJyxREZaWiezzZW7XN8+cp8++u1fP6347TPcJbG82re1Ps5u4aXVd3iWOXN5VkQOHR53FFBpRtWbqJe0VlE3sv/sXL7gzEQVRQjNNINSBN80OOIMAHLigoCztSgtgcteKrAjgTb0kWpNKSER8LLgYWosnCmuX8lhKFMeLM8QJiJj1Ik6MgKEIlNZR9gTtLGUEijpgkFCMNo1//NoxGEqUsLLHtJHRAAAjTISfKju+Y+hK5uu0SE5wjOF070bnP/8ucUWhshQnTPsvl/v1tCKI+tdOQRTZDpu8pZOCbNAR3kKdWf4oMsBE/T7HhgP5NV7ckbJIA3SPW44/NQM3EwJcyko26Jhr5aoEeCECWBwQKdplKNoONhRMh1UAQedNBCMCGopdoGpfP2gyjaiSBQkDInNbbWEV3KgxrsqlcGy54H/iTg09SOTgNQYcUvMqkF1iSsGOPWJzV9ciZDI9b3TXTc7pHEw4ximLTenf9M18xSW//NoxIInkz7C/tDFaBqtN4NndWMZTLZJr/e0khKsRlQZAzsu/vJKtdsVwQB4pyc3XrytpZBEBkex/JRYaIF7I3snpOStfJ0OxZq0bzgoKmADRTjMuqRE2hiU8fQmRFiLE8USxk0VxWpACSLo6hCUQVFwmh81NSOHEUimXDM6aoG5cMEzJS3qovZ0bG9NtdSOk9FK60ejUuy2Wy1s6C//6Sm1tWj60Wr72uqpk6aDJ7L3+tBPRUZLWXD6NasyPnRqH03an3rQOOP+hQIu1GKKEAFKzRvt+jAj//NoxK4n406lV1iAALrCAGPYWxwDExVGU0AbEgQyIoFopLlo7tqiHJr7YCOwVWQZBIDTEMgLCTTg1mIQBbDQ2cAy7WVQKoWU0Xha4zqNvDIE9H0XpDkqEIGJzAyVMB/mkrhcRtGCwXUTzXSXnlykkUGyNZnoDq4x69GIfa3KG6O4/ivXWByE0kPzusUDQ3qSW5x+5flUvpHHlEdnb8UnEJQCguZbKz4GbRB9S2Xv5ZlUD34flta/jhSxq7ff+ku/M2qWszZAApctSkWuoBEQeBSt82XzlHhy//NoxNlNrBZU1ZvAADNzdi7rlulmKfL7eeVn+YWa+9YcQYCENYR3QrccCMRIPAgTEeWXbWg9Y8y1n/P/v/u5Wzpe77rK1+dvnOY65jnru9f/69m6ABTZlqP6W7NopC4DmlvOJDcZd/s3avK27/eu6u7w7f6x1qEsiE7grkQoYXRvspkXsLajyWx5qGMxgtcmk8SMQtDleUI8o5J4BfFwS8PxW0Aak4CpEdPIP5Vk7IszJR6F8OtZYBxr5JzARxoxz8HFILg5KhkQ84DKT5Gy2Bzoej9BB1cr//NoxG1IpBbOf5h4Ag+CgNA9lQbpfm5sTagYktGenghj5O2EnRyGIOG2LY9c1o5Y30dufqRT10+VqHuzTLelzyJYpSaCuDEEzgPGd8pG51Bom1WhauX6S78NqZnFyUlobi1RAlZuNAmiEnOb514gnOmUIGkoB9djPlMmgvKidWocnUILlDV1qQFK4Vmcuo1WZEpphIyXq5HqtDFXWBZkjv38dru53cjIeTvIkZ+wRJ8OElPCZsK33UO1TCfRJ5YM38m6lYaZSYh/SQA9NTv7qmttcY4WyC4M//NoxBUtcpLDHdyIAACEQoczrJYNZA4RhsgDBetJndmON3DgsYEFxjYLmQwCBgoKYMuamRSF+LQAYANAAPgUArUhSdqOk0MuLLFniC40hShPlhMwRJMvE4XDEgZSLZ5JFMoDMFwuEXNyGHistVEtFxAwdOjSUrUghZavd606H1KQa/XdepBJCfVZlqUp3sqp3syLJHVAkIROSaATU2OmyBIMaRQGgaBk7/pxEWBqyALAeADV7dfe7vKnGlltxPCCq4Y9O1rHe5J3ioE6mXT+OX/+4+zKhpc7//NoxComYwKyLMJNSDr//OPvhSRqNbH+7SKlEUpS2/6LlCbbd0LKjBCBoKq7nrb8JpeZUo/WvEpnJl2YDILRikpnGcGPRqZ/jD6Ls31VUIhDc/3YQ7IrUpa3SOJJHWyWVSCLuoT/XfIzUnRoPAkPESm/IBgWEwJxRdjvUZqshspuRokEu/MtO6KAJICI+h+LjY8bErg2TDyy6+u3FJNSuavZDmlsHaWm26Cmdjd8Xw+XrR2rB8+oYm1RKh/NZj3v1DWo+olfRPyUmcr225lavgUxuwAgUA4H//NoxFs1/BbKXlhf4syofDUxyiZr4/y6JG+k+finY8u94alQr9yFwUisVR0Q5po7HNPEePNYeN8Bvy1z+mrw9tbGzNaIZWe/+5IijgL51IAsacOkfQeRPhOSYZQsOM2z3PRoYwQYAoAN0KV79XneP854xhkvC7FgF4A5iOHOKaG6J0LaSdfW8N7Tut/vt1aRICn9R2V1iFgmBUUPiqj6cEoDypp9+Or+4dWUnIl8ZRuajDtzyGpSS//+aia9YHCgrjUkdQ7a5mShcUUbP/PCm6irI07tP/////NoxE4qDBbaXkofftzVoTSCpw8cw+l5HOHo8kYbNiErjrmEQqGkczXbQo+4jn7+r+mv7oyDxRr7vqLlbrLGg6I4mHlYbos80RhMeJ60miSpk2/b2BLMkHTm3sCrSs7xDZtxp2PssypXVYnaSVpFFvwzXPVRDZ2shYEKACYLhSYqkee20KZEo8Z7BOajleY5EcYEjahqq4u4xFrRgABRgUADEXfnS6TC4rC4bTahcoT3NX1AzNRC22fbn/dkYqZUFKWYwQUJHcgCHUeAq7mq+kjhRNSoj3Xd//NoxHAow5LW/OpE7mzn7+2oltKq0xjGAhRSzdDFQz2lYrgIxigh1VAxqG8xn/f/9fzGM4VwwoWCpmp9QNZ0FZlWeu9ZdAQXdDjru8zRDMQAGEmHNmvamArmqTHPmHDAAYS4wFOjKs36UdDqoJnLRhmKyy5dkMXhLvR1pqJPjlJ5RctSL4XhxaNTm0tkthXO3Xnto5WhnDbeUqtKzoYOCqop2uV65jVE6GLVi27+av9S/m6l0veUEBbgJ4NAqz8S4p/4pvFFxvjEVUxBTUUzLjEwMFVVVVVV//NoxJgiStK+/tGFDFVVVVVVVVVVVVVVVVVVVVVVVVVVVXCgE3JbW0m5beW6Gdgu4agpzfKVs7UeACCtsiCEQIK3ag9BKqCjiJaFUST2W/6IBinly7RKVdKJzuMS7ZGvTBif//h7MaswUBYCChUCoQAzUhKg/7/9LP1nMKX4NxdPdXEf90vmiKQUKKUGLGhgIAnE5QVUwSDDMfOJb/5VFfqZYbVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXy//NoxLYgYsa+XnmGmhLblkZVvv71ldeEapLlA23tfkwl4ozF86lS08lBez9EKhlpAnNJpZNHyNHFpOyNGjDRCRB95GTtKZVz2shP3NO2f0otvR1jaBj74ZtQyqJKQTqEIRRiAED4XJwuby2+j3iED12mQQYxUFtJpNcFTQbbTdm6FV/uW54DvLQfSlYHmDAwC1qkOLtzDTpsw7FenW0C3djL5xRMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqZEA0UkkK//NoxMwl+qqxvMJM/lvy3jvDkwjMNDnGOUDL39IJyjxQYGM4iTo8/jSE5KJKfHq9YSBKG9KvVaajcTX7PgbiSZ027StZdtS72n1Jb9Rf9nltP+/5j7uaNR3LLohiPgJwJIUkIO0lDuBGKx9BGBGHwnWqgeJJpmqNJXKltb/unu9vbdvt5O3V6T6SsuvBsJmXjxfaeRLHu7mMqEdrCaiPoYhZ2ipMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NoxNEnEqa6XMvWdqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmQqY25LEm3LOtzi5oJh+XA2VIBaKqIQkZuKh+d105EmIz8RAqPR4iKpW6lFEUVsUrEESh0GFRW4iKt/p1EWmN1QxntcqGfqdkfLKUYBrsVkLfb39HEXlq0rVZblZCspUdRX+VSmR/l/TzGMYxg8zOXjEnshiUbZe2Vh1JIAOOOxttNGEUDoZmJMv6krsx2KNDi6IACDjhe1VaXo/yQ1IgI9AspvgabKkrEXgdsVPyvf//NoxLAfA2KuX0woArQGWvd2DWlsyq6FDuZb/9I5zDcAIQHQUCXe6asoODVz7rWJrKXToDGUBLTXaa+TC3kTFBiaCW3m0m444rLSz6A9VpasIODmFny/ogakUX7lkvgWSv8/DsPhVZHGGWrrfJkal4OQ9rtvKj0mtlA0pvTtemlL2wBXiNDTy+QWL9VOdNdKyGWvqWUsPyCA3fbSNNeqXqKtNdjUWr0WeGHcdfvHLt3ti86bT2mVZfIIbft1KGH4Oht+20sQBKpd12pdEojVa6zJlUrsf3HH//NoxP9NlBZ6X5nAAJUx3znN/rvP/XHTYOnRJpeg40zcOVZe7EU5KLG+fm+7MGeUy2y6TFX4jiJxZ5psCwxE4c1Wi0qqi5ro3lqDukl1BHZU4aoUDlV1QGTgpp5sfg5HY0pkiwbSWGlHa6nnXotEIA18MNSDZZql04PAjgPwBx1A4a/TSODsJg2FpPVSY973vNzids/e9lJn0K2tY2LtvaN3b7hj/qI/+er4uZnjv3/f8V1MUyXuNNr9jGb7///+vl799smeXzT32yX//++2Xvv/3v+Y/+L0//NoxJMos7bC/9tYAGuONstrqv+GcWlB42VT6arAAYNABTX7/Vd91h0sgCAFCV1Xa2sOnWm4iiBijpFnIBwKEBDWGUtTzBBos6Um/WGE9D6X36XcnUFSMCcnaXT1sTjYuMPmTCQQgtgxDvZ2Q12eBez2ZJnFbnpvGOW+Pdu/73utvu71s92+/P4u2b+IhozlEEOViCjXyPefs3u//Hu7Z0JPJpAgwDPjIQzHcmhjRFkyZsQFw/IA+/EH/vn5ucpMILzDnVQANcxp6zqmMEEBSuOuyz8ySShV//NoxLspuvKtdsPM8IMtFOlCs0ABos0j2AU4RIcyxV3Nf4L2HGADVCIU2TyygcFFxIwFDFlEJ7OGhMTdhMxHdRtciqW0e1DE9R0Yv4PNCAwt6ZIYlYLHkhKYQNEiiwvuC0GZdqYdmC4seJlD7ykWWlCJdEsbm2RR04b2ibJjT+jPI4mkRImgZJ9RpXxMxK9iP+Uv57GkYpfw3MiNZTKUKl0oH1VNRQrm0aCxOCXUNHJhWjQUh1KdTlsUpNx6ibHaQohh8F2HFGWTLeKEtqiSKkWL1ZehR11z//NoxN89W0aV4MpfiOkJbtCYYuDu3GpR+8c1gR1XZ508h7UKoAAB0AG48r3HYaOlbf46DWVVnCcSDXWZTYdiZfpoC+mhF6k7hQVW02nDfQDViwE3qECOQhAdOGW5QHEXFkMmd6FuVA1xMNszVFhmJhQFkzU2mjISsTTpmz8Jqy2p2bGmnYRpjt+TkyIsFNRJYqjiqNg3JysmTdfKqjlz5/3xQukumeGyVETKpLNW7yalVSVzP9WWjloCzUSrRREinTiJDGdadIWL99r/Zxlnv/f/WM+oSVWf//NoxLQwe0qd9smTiLUz/CRpwssEUFiwdFopTEFNRTMuMTAwVVVVVVVViJZgoO2xSb5EI4WUo41jwwPMsoWOKONa2YWsVoRSRUGpuNNtRU28kPpWVXUk7aBOUHwsLcWsMzC3VrB17LTcM16zrKs3WrIbBiWqUtCtq3NCiQIxxJEMjzP//82xWyhOWlVT3mZpKlPUoOqPVPHBQJhpf/K0ywv+EypMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//NoxK4eet7KPkCNyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq460pLRyW7+J1khppUeQ6hUJrxN5CYa8k3bI66VSIWE2kMNzVXeUcauCdSLFTBMBXL/yuRVDQmDrTXZCEd1WQhBQ+iEIRjn9EZ/6PYWEA+CiCkZLOXpef3Pf+uTJinAUHFVwpCi2QFmskJZ//O0o2J11TJuBXo/2vEMQKWpbTIu0=', 'status': 1, 'ced': '36'}}
{'code': 0, 'message': 'success', 'sid': 'tts000e2154@hu1862b2c44cb05e0902', 'data': {'audio': 'TEFNRTMuMTAwqqqqqqqqqqqqqqqqANkqDgPQblszHATjEIT8kCIT1pKXyYrqD2MUh8qxhf/zaMS0IANesZ5JR3LlQUikESA6SmFwDAiOnxEPIUA+hI2GESZwmoRIWVUIOD4ASDcJtar3U0hcPgMFWcFKaSKsTjFDH+NoWY1IUqkIpQksY5eRVQ3/8tmOf5KLDRYmxpVD4ylvj1WpV7qF7tdrxQ0kzLJpIjTKd+JKhiQ+/GMc3yReMc+7m3/vltdDNYmagk3ioINeCccKTyPOlaRAIyAsU3RnAACBACJAYQRpFaflvyRMJuK6jnvc084EASjaXQAw4FQACjSzXaS3c8xx80T83yeJU86sI//zaMTqLXtmal9MSAEkl4hGHL/HfNLAxGkjVV+KtuXsNRgMYVMILChCzAUSp6jhuugfHVrgQKksYVQZI2ktJMqsSlV2gRzrcwr26QACyoWeVRMGAFI1rWVbcSlT+Q5tgkli+IJCGXHGDGIXLJW2YYaZAODAM9Ecfq1b1atclkAuMrhfkjdynL8hUIraIyxnxkHgAeNCAQHBQVR5NLuOOt/jqt3Hc9DkOcza5KYvUlnGjGBFGNBJVMHAAl+gAHVbDhgRQQKVVW6nU6f7///L9f/9q4s5QHpsq//zaMT/U0wV4Y2b0AADX2/nI3R1Yu0tm7uQlACukQAURX5kxe5Zy+WCoJUha7iMpYiIyQEEqELm5++Vv/e+Vst4a3Wy/T9xjGOOoryJMES4o3cfjfyu1LJBDc+qYKAebuizlkuu1d91rb3/JXJ1ibljtmXiY4DHWkks4Y6WA4wNFBxoM7hxicXqAfgiHSH/X/v++RANyDAFC9c7rDlb726WX3ILZfnn/f+x/O9xjMkilFJ////+/YsXv3+3vgth91wHUgT+15fbnM84cz5agidh2G680+ksTf/zaMR8QFQGfl+byAFmaqBixqhj8qrc/DDmsOf/aiJkYdTVqpLK0vxjDDCIh220SEh1R8t/DDjOimOk7DD8OvclkP5WJf3CNxufvMidqPxmlsb3Tyl9ZVWw6IyhIx/2dtPiDEIEa2xdpi7IcvWP/99////5/////5c/8O9wz3n/6zz7z/tbx1T/l+HLnbFi9SD56oQkdrtd43Jb/1P13U2Y0jIoekX446Z+nmcBmQDIYenrr6DRGlWa+V6pmuc7jfW0/8olE7ZQn5y761jGtDCmlbv3r2VdsP/zaMRFPlQSvl/YwAJK5NT4XaPFpZbOnltylhuZfBxAFD4eZ/Vfy22AshB1+lt3o5HjV4iw1mRS6lzpXOaARCgeM0kik7P2NFQMM24aoqnL7A2+1/Nfcqy6is/3+2H0g7eXfu0z7Mke6LY0Vau1hmYCGsLIX0lkMwVDr0tCh61Y1bwdBk9LS//87evby//p8pulq87/9/96/nf+5vuPdXbXMM+Zd5v73c+3t0+u3c9c/PP9/rd3L/t91jr8KmNvCtbqtDa+2/9Jamvd6x3d/S3GC2+85zaS6//zaMQWLPwC2l7Cx5b4QrSQh2M5YytKOk1/19W3BIhYX7usaBeA8mbpL3O17KTyfP01fevaOj9GqfC9avUabr9ZT95QH0trqUjil//vHpdv1Voh2O9kPD4OermHksOjsm/JYCA07P5g2bs5hiBtvja9UuD0lPsYOwe5P/OPYfjVmyFSeN6TmfBoSCaPyUfbz/+Ru+UKkZJ7gitorPck0Njy+WeRnmXLPUcB35A0XtLIyAft6yy65AAX4BYYSzam4ZqpdJl5ppSvDtCxN9tipW0R6K8fe91/qf/zaMQtIasqwlx5y1p+jz/FtI4LSz6TxJZlm5QHzt6EnXqhU39RqR+wqB0XbqVCXXNQwka3OFI+xvmDb9HN/NIm+qBEDoknc0Cl+yfkM7n9S+5xMxFgjB8Lz44MEGgAUcIHIvo98KqsAlu23VoEuMcWJnuGWZ6ohwC2C0P/W18sDY4QkMcX+Nbj2s0LGGOWlN2z7+taYi4xnxoEl27NH8OI7zi17qtEHBHOADAB/3bTuQ+jKrws4GeEBjn//9nQgOzSK1ZLtRCN9qI16XRXqm5WfW95VKr2Df/zaMRxJOPKwl54k5eMLpNug7ZZK/JZKVua1W+fxK6P6XECipg2mgV2wUbk+mwmauDVZLJW0ap9W8OWo5qmlTDjPQ83IrQaeeY1u3XlsEjxYdm9gZpGQBOurEcsp+YgA0IL0W87lFTQFt0n0Q7kw4EualFJSbuX+jozaNpzqXqsoiF7Ou+CARVrW2rSufhyDJazd3hCtATfj1Wnz5jUxoVyXrOs88q0MP1MFwy4kjfGMSKQYwpeUDEADQMrXOttY/U5Q/XUXW/K5m1SXJ7J/qaRqEs2m5y9q//zaMSoN2vasbzeFx5Ts8IBJ91E5bZwA8f5QP25NVZYxETal9vh8FJtbe/njn3c9de74/iYj+uuuHdf19VcvmUJfM3YjzW77apmW09WXSSObu//6UicYRIUyyly27EhsYIZhzUilt3fM+6t0ANMTxgrle/HbfV6pRKd/FgYpG97kbIc6dah/EJyV6vDrcXCI1ae5vl6O026zI6fKkWQ9J+o1I/84bEv0UauOmDZzW+Ng0b///mnfO46NRJHn9moOj1+ofm1xoumLhBk3CZm2Us3NQaVTEFNRf/zaMSVJBLu3l7Lzy4zLjEwMFVVVVVVVVVVVVWwAAlLaOyqpVa5q7RQFL4bcxWs7dAaOLBtvRmizZo/KkXBD3kOHG9NvcjtHQpPqzLmJZwOEQlubHC0XKIUqeO4zBVnhGp8bh7y4uAUMauZng8iSCdyjIenktT35259eutywVi0yx4BLGS1wlAZhx5glqfsXwtfRh7eo/S41f2LdaOautFF7WXqTCDELn7se6TSy9K8zHqjInTwYTLHDbmk51PNZmj/L48ZxkoQOpzixY2FqErmYvJ+KFoTz//zaMS8IdmuplzTzJzaGxhW40vRcjRqBUy5tHlYzWdPLBd0qViGl7AWiegFxeE6cEBkck1eiyzuEFXkYnu0ZwtOXpjX3OF7mxvxXlzHnO889q0s/1lKVRra9xlOLjTS6usT8e3VLRj2k06i/oF962Nf7itoFK2shKKi0DhkXswInjJql8Y+bH+o1S0vtNsXFpAgc2oxpuNrMFJKykva0aTfdqSFTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/zaMT+MmvqdCzT0r1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUhUY7Zag7tpf+wYp9QHByil4cVYKSGgFJZz7KOaqChQ5lIHNHo0KLXX+d3zotkW0alCTz0gCbzczur52NQ43bDm2ntrFh/SP2YqWjfzc7TJO5QbvqnKX7porNKlXtltp8lLHDFY7HTeqt7KoMWhjGKUUgXV5nkcK5wmYh+hTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVIqoZXaGIfuju/9TsbXOYGJksoff/zaMSxHzO6rv4wxaTHR+0wbKhmqFxioeXcQ5lqxAfHBRxtZGtpXDK1zL8dtrxhAkRAyfDt5xt9HkL/rOZMrh2908olKw7T5RII3/dWIDa/CK/b1CBwEffhwOPVeQjpHmVBgg4opyMyojUbGue6Equtu+2TZOP3MCCDoE7u935/rQ97/+3PJtFEEBODDmyjtXrQhm5MmaEgBMCdcT3+PdDHB96FrLAykGXNxyrnnuzNWG6AUkapSBtbLMbsnjbAgCONojBtA0TM461FNr89KWsgBoDXAlABWP/zaMTfKqKWsx7ZTWyKCaIxYHyPUf5eR/GqS+zQoUs3umZhfKhXt8FWrzSskKH6M4bhfjIcFRJqAp0ghRBFCf5Ly5s6vunIOT8UjhVtmgMdqK+PI4MkZTyq9+rVGYbSqIaIOd8SxTrqirbZM08aJGYrtzXJpNtzadNI8BicXuoc2IETb313DaoMsOI+qn9qZCVfFT0806+z7Y30sWSt8UuulLGjxb4iZzJKoPud6CrOjcxUcTIRdLyN1yqRgBmAMmSeTIBBgsmXaIl10tBkNdqCi+YjpwIOC//zaMT/OEsSrj9aeAAaIZQ4dGmigWYSDDwEGAT/gVAb3kim9bWEARCFCBshV2qwEiXYf6aRBcqhhEA4rBmGImBPM0bCl1G5TQQQyltIdhyCRUsHKxkMqoYccYYXKuLbhlTVPbjptxd29LE5H/FgBog4CLo1CwHBwkTnSYlK6He+Y/+LtPwxstIj+xBiTP3mltLSxJ/qtm7vGtlvmt6+kfBBaKZ5PzCqSOznLDhSRnUj3MT9eHXZv8u1u4713f5fMqUNIhbjR515+Yfp8qalluFRlVNGp7Kmr//zaMToSgPmjl+b0ABp9ZbjjrLC7lTYbxxwq8/f++rl3Yn8/M0lSmlViPv7ZpdxXdNJYhST9JKefNQ9lla3TavzUPfS3+3s87mlVqKqbdu321+2+2trtVZrGh7+8OXCqEIWuVUSAJzGHtbCxyQbA1/iRWIuuu5ozuPYzVeaBjgtnLYRpdTSGn1msLikDuWXYcB+EFkynyiS5lE2Qua0CPyd/H8a/QPIz+BHUpHhZe3NleTK2TOxJ852fgefqtfyhloKmcdaHb22ZZK5liMSduLu5Zl7+RixSP/zaMSLTjQWul+YwALwOWzhrjWJdI5EkRE3YdtnemWMMbTKHJy5STkXt8fu327GOO5IMrTDG0xjdhQe7QyyxKKFxoTK4AizB43L69e3LPtTlfOphh7v5LPghxGUPa08IBDrr4QA/FqDHAg94Im3Jlr7wXDesJdVl1PL3cllJD+rDX5fUlcrv3q+eOfWuUjD5plgGW0+3DlV33+SEbRiD8ZvI7cXsQYrXCVL5FDFeHIbhhsUPx+xdlkO0nKKE4NUV4+aIByQ1wcDASPDeh6wxv38iK7G5mWo4f/zaMQdK2LKvx3PeAG2atBQ9eLm1QH8ZfANyTE0COFCWJkof7epm+RjgQm1nc2NLuENSMkGlMyKu1WBYfIiBEgvMVapoNMNryG91a26+s1t/eMf5i/1rT2+be2La1//j/4tq3/tr/G92/9a1+N+FWC9esrCyvWGNK9i6xa3//tCjPxdLi57oQVFN6z/CvxYor///eFS+0ls+aE1/GpajWllRekAly5M1K0sbiBS5q5YISHcYhxgUHKCAE+bdeFThrCpoTTTVlLAAgUbCMcAwaGGZJoNVi9zMP/zaMQ6LlNOolbWBvBWBShgZesFIHphQdKohEGHpyLxc9d/thbmwpxZ5ri2EfFLFVF6hA4lH3ScR5IHsyOPWZZhXqwYlKGbBVy1IlVSUiVS+/erbdfkKe2agYoL71x0vbXRMzthHl5KuSzIv7PZu+fP/n/l5l4oK1ivAJQ3Aw8xrG4nOjRsnRNRp4QmqpAIvMyVTSUM9MOgTUpw2IWMlEyoCq+ULMsfTYjgEmJkISHC71OyYQYmiIZWCAQeEQIX4UEIkAAhAOcDMANDwtWRocmJwDaRB4YqHf/zaMRLPGPOfUFboAEDgJQQVDbQwCOcOWRYMRBj4AQ0G9Q1QKEDIAoQLCQMoHBsSAoJFIipFkd4XxIqK6LnIcSA5ovhwFklBlC6USGF8tTpF00HRdzStkEEFNZKs6m7a0VGF0kVp3MDhedFBSBeJ4rLLpkXyJFg3KCJAzArUEDjoS8aomRslUZO19T2fQSUte3UzJstSloUnU7qW7166lMiy61rRVe1Fkbe1eY6R5Aol5xJioCABMCMrwRubpJmqh4fFbk2quUyKjItlSJOYYHDVpRKjHRLuf/zaMQkNXQKtn+YeABdHnCN8CFDBcl1hpleVxvJcN1sYkUrnNeY9Z1BYNZjQW6Jn3tGcnTzEdGvFUi1mLAjwWVrjwYMCNiumB5vv48OPFMire1Ra2x6z3xNm+rU8sfPvDaolceNq9oe4ua7r/Aie+Pf7pf9/FjfUzPC7Im7+9ff0vXdszf0ia3bN//rfsrJnhyIyqfjudLzY+NXrulfeuPmDndq5p86vu+fSm7w/84/+tUZIlGeTLLHgSZ2/n0mZVaH33vVEN74Z0qwrUro7l7MZfrX/rC3///zaMQZM8QWyvfDeAC2t4pvPvf//7/3n///Hzn/GPreNVpiW0GsK00DE19a+9Yrr5pTM+77zHxSHFbIcdxcqaxE01ZtbX9swaRszZcG99CpWeTdWOBqMwOC4TFHm2uW6oVcOPDLEEnZ04fpIDIVS5Og80sq3ypREr9TxlYqmSkV0zKFgYmlzuqL4zGi3VFI0yENylZlIyLTi8gKl89nhq+KuoERdq6dRj8MhbJQaynN9TqViOteitbNpcLDGwOSGKdmcWd5iJd2faRotOzGuw8HmM6GpQtsdP/zaMQVIGuy7xxhhN75u6emDRdsoQlpEdNSZEKjTNVoxBynJSvah2t2QNInmpWVkLzs/t37Oz730Ds0PXVl3Jeur9DIJ0Q0cMx0T2/kaqZ19WtKwNSqZEKCC0dqNcPIPJeRr98Trp0Vt10RbrdNlb93IyhzAWUm/eld2ju/21raQbGoedruSaRuUCnHmcjIyqt8+xMxhYSESxiOFZlnagtVtROE5YvSSten7B3tNtpBK0L9ejRfPtbOXrK6bXYaFIiTVdsP/+6v+zsbxjDqqBs/qU73Myq9bv/zaMReI3Nm4lx6Rt+zbOVyUjrlyDjCyfM0Iz1cSR7f/e6/85c9QeTevAeW8G3K3ed+/yeJDxPKvvP6x22Y3Me5qJ+QAL5cpPwdxLQGD4xGWzYFANQ6EycUjK4sJiMsVxVsIOF7h0FmIw+y6Ryu3DcXpZpSguwnW1BEkw+a4XAsAgrVfNtulGC5S6zMKp0VZwaqM3087jO053OLRX/+307olbFdmr9jO+UspkFGMbWhukvaYyhRSwICckzTGNavQz5TGf5qPmoGKGu74iHqTEFNRTMuMTAwqv/zaMSbJBtmyxziRQiqqqqqqqqqqqqqqqpmZEi4uSAgF/83nQ1HAGQcGmBoSiYeIGEgDuxcKBBiAgFoM1V6IG8xcEDgJ+6dY7WG5tq/wkYasQIMo4ECcnXFXEkoKWuxwzKNShL/+hpVPFDgzCAYwNpgql+T+/cquJ4VmVyt6L9EKpeqsyP6aGfVDOolZDiWiXdqeKnwSk4+uVS4BJ7GMMI4rZTVTEFNRTMuMTAwVVVVVVVVVVVVVVVVgAACanAFJ3CV2viZAUbS5rAsojDDAaCgQOFw1xkamf/zaMS/IorSuv7YxPDMOzMUWGfotrYvJI0jq4dXWLjEmq1s6cEoSvRe+ytUwUgq8dR9dIULWNS8k1l+hZ/uBUY0NIqgNg9rrVL6hGmS3dBxAxjUFRgehUPRFYORFIELuYZTUiZxa7eXUVGjXdyTjIiouZeoohkVVGh6tUkIjvzXVQ7z3c0jvLWvL0kQgoQkaIiVS9Uv9Chh/CGINn7O4nyjcztaTEFNRTMuMTAwqqqqqqqqqqrAASq2Egt2qAZDKhSOBKxJboS3JAinQIUgYYqKkZ8KDloKe//zaMTqLWv6llbLENGmI6iSIZoMbn42GCVv1jJI5lPYkZL3K3FG+Hu00e1X89+1OUKr7ckCZ9tRcsKC4nSylEGTmjbRmLpd6w2G0m0ZGUFE3yuCmbsdtfzr3G+zLde0p9jJtFDakkgQMvh5ChzbLCtwz5t05XxnG4XdzgnuNGxUgJ22FRQkJCE2s97Ecq3XG7RIVUKsJVLZf9VWPbJ70PgTx3wKPIFz6WVREwk5MpkhI6aa18hCjPFY5riO/WjGQR53EayzVb3/vtsBQNLkMFEYlciPRJipKf/zaMTuLmPOnb42Eg3JOTbVi0/FVBUtLtKyTckxrnKzpOEV3d+bJF0nxIkUkR1CQBpoDgNNIQqtDRTStp8WloFqM8fBLxaFYPUdhcyCj5NsFUPMIMrSBG+YaXNCHMhb1WzwYjVFq4ZrubMHEV5XUkf1vW7VAarutHYqnM/1Q7Z48Xvd2vuDd1uf78K2M6vSfxd2paT+uq/xriz7NV93/rt3hMUKRf9ApPdeukxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/zaMT/NGNOfDDaXt2qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoCCnrv/qnLr6U6QVAygQIwOEYpNoxB5E7f8h1T5NmacJRKt3wJNgBSyS3NVTTJ1omxFpNvOre95nWaumpjIaxIkX6ug4VFUdqsq1U6loxRhqK3/ZH7IjSslBYofAUcW8oi9W2QpnM9fbm6lsYWeErBigmsqo8SXnXyVAUOiWKqRTEFNRVVVIakMqpbILEJAPGNjpjRCZCQAY0MvbTZDczuEBzEYacDRUhQFwJ9nbajFHFIPG//zaMS0H/sy0l5Jip59vESRO1uxam0izVrDulr+HzdVS5ye76jD12Z57nbVMcS9ZKPLItKi6ToanDDC5M5pAfIzJwwVk3yExhsjyOkkRJ0wLEnSZDigl9VME6Zoyh8kasKd77stpGbtyq7cqrSuO1K8Zy+qguyCZCFKqRmtI9rWL9uOc5pvOt517bw++Pn6vX3ircDQo+j1aSrmkhh4VEUkRSLKTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/zaMT5MRsyYFDZntyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsGlmu2rlt0IVWU1RSSqhUUhkUoUOSCpLlPN+hgIxkMZW/Qz/MZ8xn/LlL6tR1/7yl1+gEKKWGFPleBOFEt///9kebmNRwowGhLOrcVIhsRRKqSEQd8SlTpH+WflnzvLVRKMqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqiRZBILnfAwIqBJcCCCDoWMee2T2t1KeTRaGYv/zaMSXGJKGnb4KRBZR2AYKg2AJXSU9i2dn//LFgMEDBgqlllsqf///2SzIyl862zjMKFBhQYTCukikjeME+EmkjtJkMkToLUJyNAmZdDPHsNkU4MYQUoC/oYo1Yxrhea4EOmZJZG5rkh0vTOMZxvX/////9a4zTeo0GFClgXiT1tnP1asKDJLLJLQMqrhiQYlTDVBq6ZXbKyoiX///3/+FVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/zaMTmLHsFXZzA3vVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==', 'status': 2, 'ced': '36'}}
ws is closed
### 链接关闭 ###

转换后文件:

➜  xunfei-ttp ls
demo.mp3 iflytek-tts.py requirements.txt

除了讯飞小燕,免费版也可以选择其他朗读者:

讯飞小燕
普通话
xiaoyan
已开通
-
-
讯飞许久
普通话
aisjiuxu
已开通
-
-
讯飞小萍
普通话
aisxping
已开通
-
-
讯飞小婧
普通话
aisjinger
已开通
-
-
讯飞许小宝
普通话
aisbabyxu

个性化定制上,免费版有一定的限制,这一点不如微软Azure。

结语

仅就免费版本体现出的产品力来看,讯飞平台较微软Azure还是略逊一筹,但其基于Websocket的流式接口架构,确是颇有足以借镜之处,随着国内AI 技术的不断发展,差距在逐渐缩小。最后,奉上完整项目地址,与众亲同飨:https://github.com/zcxey2911/xunfei-tts

吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入的更多相关文章

  1. Azure EA (2) 使用Postman访问国内Azure Billing API

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 请读者先看一下之前的文档内容:Azure EA (1) 查看国内Az ...

  2. 寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现。本文记录HAProxy服务热加载后某微服务50%概率失效的问题。设计3组对比实验,验证了陈旧配置的HAProxy在Reload时没有退出进而导致微服务丢失,并给出了解决方案. Keywords:HAProxy热加

    寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现.本文记录HAPro ...

  3. Azure AD Domain Service(二)为域服务中的机器配置 Azure File Share 磁盘共享

    一,引言 Azure File Share 是支持两种认证方式的! 1)Active Directory 2)Storage account key 记得上次分析的 "Azure File ...

  4. Azure EA (1) 查看国内Azure账单

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 有关Azure EA Portal的详细内容,可以参考我的GitHu ...

  5. SOSP 文档 - Windows Azure 存储:具有强一致性的高可用性云存储服务

    之前,我们在第 23 届 ACM操作系统原理研讨会 (SOSP)上发布了一篇文章,其中介绍了 Windows Azure存储的内部详细信息. 您可以在此处找到该文章.此次大会还发布了一段视频讲话( ...

  6. [文章存档]Azure上部署的java app在向第三方服务传送中文时出现乱码

    https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-java ...

  7. Azure ServiceBus的消息中带有@strin3http//schemas.microsoft.com/2003/10/Serialization/�

    今天碰到一个很讨厌的问题,使用nodejs 接收Azure service bus队列消息的时候,出现了:@strin3http//schemas.microsoft.com/2003/10/Seri ...

  8. Azure 项目构建 – 构建直播教学系统之媒体服务篇

    本课程主要介绍如何在 Azure 平台上快速构建和部署基于 Azure 媒体服务的点播和直播教学系统, 实践讲解如何使用 Azure 门户创建媒体服务, 配置视频流进行传输,连接 CDN 加速等. 具 ...

  9. TortoiseSVN是windows平台下Subversion的免费开源客户端。

    一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来.因为,如果你的要求不高,只是想在本机,或者是可信任的局域网络中使用SVN版本控制,可以不需要安装SV ...

  10. 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google

    摘要: 作为此次Gartner报告中唯一上榜的中国科技公司,阿里云获得六个评判维度的最高分,排名第二 近日,知名调研机构Gartner发布了全球领先公共云厂商区块链服务能力报告,作为唯一上榜的中国科技 ...

随机推荐

  1. 基于 .NET 7 的 QUIC 实现 Echo 服务

    前言 随着今年6月份的 HTTP/3 协议的正式发布,它背后的网络传输协议 QUIC,凭借其高效的传输效率和多路并发的能力,也大概率会取代我们熟悉的使用了几十年的 TCP,成为互联网的下一代标准传输协 ...

  2. onps栈移植说明(3)——添加网卡

    4. 添加网卡 移植的最后一步就是编写网卡驱动然后将网卡添加到协议栈.网卡驱动其本质上完成的是数据链路层的工作,在整个通讯链路上处于通讯枢纽位置,通讯报文的发送和接收均由其实际完成.针对网卡部分的移植 ...

  3. 搜索"xxxx"的进程,同时杀进程

    一.搜索"xxxx"的进程,同时杀进程,命令如下: ps -ef|grep xxxx|grep -v 'grep'|awk '{print $2}'|xargs kill -9 命 ...

  4. CH58X/CH57X/V208 Observer(观察者)例程讨论讲解

    使用的是沁恒的CH582M的Observer例程与官方的demo板. 本例程的功能是主机扫描到从机的MAC地址并打印出来. 先对宏定义进行理解讨论. 最大响应扫描数为8,在串口调试助手那里可以看到打印 ...

  5. springboot使用jira-rest-java-client-api集成jira,自定义对查询board和sprint的支持

    公司内部使用jira作项目管理,我接到新的需求,要在测试报告上获取jira的所有项目,再根据项目获取board看板,再根据看板获取Sprint,最后获取未完成的bug信息.效果如下: 第一次接入jir ...

  6. xmind下载安装破解版激活教程思维导图软件获取

    1.xmind下载解压压缩包就可以看到里面的文件,然后双击安装文件就可以开始安装了 2.安装Xmind程序双击之后会出现下面的流程,照着截图操作,不要乱点哈 切记切记!!这一步直接点击next,不要修 ...

  7. (C++) 类与 static_cast 与 dynamic_cast

    static_cast static_cast相当于C语言里面的强制转换,适用于: 用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换.进行上行转换(把派生类的指针或引用转换成基类表示) ...

  8. SocketException 不知道这样的主机(Quartz.;Dns.GetHostEntry;new HttpChannel)问题记录

    今天发现自己封装的一个Quartz服务无法启动了,跟踪代码才发现了一个问题是因为数字计算机名称导致的,修改了下计算机名称解决了问题.

  9. Windows 下 OpenSSH 安装使用

    OpenSSH 是安全 Shell (SSH) 工具的开放源代码版本,Linux 及其他非 Windows 系统的管理员使用此类工具跨平台管理远程系统. OpenSSH 在 2018 年秋季已添加至 ...

  10. 帮你短时间拿下Git,Git详细教程(浓缩的都是精华)

    Git学习笔记 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 在团队开发中git是必不可少的,它是目前为止最流行的版本控制工具 Git是免费.开源的,由Li ...