【方法】科大讯飞在线语音合成API使用-文字转语音音频

2020.3.16更新
一年过去,讯飞居然改了python的使用代码,变复杂了一点,而且不能直出wav格式的音频,只有pcm的源文件;另外不需要设置白名单了。

下面的使用流程不变,官方提供的示例代码也可以直接出demo音频,在这里我修改了批处理代码,也就是在示例代码的最后一行添加几句

开始使用服务

我们首先打开科大讯飞在线语音合成的官网,记得首先右上角注册账号并登陆,界面如下图所示:
在这里插入图片描述
官方提供了很多接口,比如windows,linux等等,但我觉得最方便的是Web API接口,因为它提供了python支持,这对接下来的批量处理提供了便捷,在点击Web API接口抢鲜体验后,会进入控制台创建应用界面,如下图所示:
在这里插入图片描述
随便填完上述信息后,就创建好了,然后在应用里添加在线语音合成的服务,添加好后如下图所示:
在这里插入图片描述
上图中红框标处的位置是代码中需要用到的!

有能力的同学自己查看API官方文档,没有的话呢,就请继续往下看

1、首先是IP白名单,也就是在这里填入你自己的IP地址,不添加白名单,就无法使用服务。

2、APPID 和 APIKey 后面会说到

下载并修改代码

点击链接下载python_demo包

修改代码中红框标出的位置,用你自己的APPID 和 APIKey
在这里插入图片描述
而合成的文本内容默认是“内容”这两个字,你也可以随意修改
在这里插入图片描述
然后就大功告成了!

批量化处理

首先要自行安装ffmpeg,官方下载windows包,解压后添加路径到环境变量。

使用方法: 在py文件路径放text.txt文件,执行后就会出wav格式音频。

if __name__ == "__main__":
    # 测试时候在此处正确填写相关信息即可运行
    with open(r'text.txt', 'rt') as f:
        lines = (line.strip() for line in f)
        for line in lines:          
            wsParam = Ws_Param(APPID='5d###07', APIKey='86e445###############3da927',
                            APISecret='faba8################5502eda54f',
                            Text=line)
            websocket.enableTrace(False)
            wsUrl = wsParam.create_url()
            ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close)
            ws.on_open = on_open
            ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})
            command = 'ffmpeg ' + '-y -f s16le -ar 16000 -i ' + 'demo.pcm ' + line + '.wav'
            os.system(command)
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yzy_1996

买杯咖啡,再接再厉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值