微软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': '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', 'status': 1, 'ced': '36'}}
{'code': 0, 'message': 'success', 'sid': 'tts000e2154@hu1862b2c44cb05e0902', 'data': {'audio': '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', '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. salesforce零基础学习(一百二十)快去迁移你的代码中的 Alert / Confirm 以及 Prompt吧

    本篇参考: https://developer.salesforce.com/blogs/2022/01/preparing-your-components-for-the-removal-of-al ...

  2. 部署grafana+telegraf+influxdb 及 配置 jmeter后端监听

    搞性能测试,可以搭建Grafana+Telegraf+InfluxDB 监控平台,监控服务器资源使用率.jmeter性能测试结果等. telegraf: 是一个用 Go 编写的代理程序,可收集系统和服 ...

  3. 2022年Python顶级自动化特征工程框架⛵

    作者:韩信子@ShowMeAI 机器学习实战系列:https://www.showmeai.tech/tutorials/41 本文地址:https://www.showmeai.tech/artic ...

  4. C#一个16进制数用二进制数表示是几位?

    1个字节是8位,二进制8位:xxxxxxxx 范围从00000000-11111111,表示0到255.一位16进制数(用二进制表示是xxxx) 最多只表示到15(即对应16进制的F),要表示到255 ...

  5. 两行CSS让页面提升了近7倍渲染性能!

    前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态.如果页面加载过慢,你的用户很可能会因此离你而去.所以页面性能对于前端开发者 ...

  6. php7怎么安装memcache扩展

    php7安装memcache扩展 1.下载文件,解压缩 memcache windows php7下载地址: https://github.com/nono303/PHP7-memcache-dll ...

  7. java中的自动拆装箱

    一:是什么 java的自动拆装箱,是从jdk1.5之后被引入的,java中的类型分为基本类型和引用类型,而自动拆装箱,可以让基本类型和对应的包装类,无缝转换.先拿最基本的来看. public clas ...

  8. MISC中的图片修改宽高问题

    在做CTF中MISC分类题目时,很常见的一个问题就是修改图片正确的宽与高 (此篇笔记中的内容以ctfshow中MISC入门分类为切入点,感兴趣的同学可以一边做一边有不会的看看,仅供参考,我是菜鸡) 曾 ...

  9. Kettle基础及快速入门

    (一)概述 1.ETL ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程) ETL工具:Sqoop,DataX,Kettle,Talend等 2.Kettle介 ...

  10. 单点登录系统使用Spring Security的权限功能

    背景 在配置中心增加权限功能 目前配置中心已经包含了单点登录功能,可以通过统一页面进行登录,登录完会将用户写入用户表 RBAC的用户.角色.权限表CRUD.授权等都已经完成 希望不用用户再次登录,就可 ...