最近发现一直在用的百度AI语音合成接口悄悄咪咪把每日配额从上万次降到零了,逼着用户掏钱买昂贵套餐,于是来看看科大讯飞。
讯飞的语音合成(文字转语音)技术一贯很强,官网demo能试用一百多种发音人,每种都很有特点,甚至还有方言和外语发音人,不过免费API只能使用5种干巴巴的基础发音人。
如果我是轻度用户,不通过API而是直接使用demo网页合成并下载语音到本地,可以吗?
打开Chrome控制台研究了一会发现没那么简单,network的media页签下没有发现音频资源。再看ws页签,发现点击“立即合成”按钮后这里有大量数据传输,原来websocket服务端将一条语音拆分成上百条经过Base64编码的分片传输给前端,前端再调用浏览器的Web Audio API来顺序的播放这些分片… 这么做的目的应该是为了让语音能够尽快开始播放,不必等整个音频文件都生成好并且传输到客户端才开始播放,另外还能防止音频文件被人抓取。