小Z正在尝试科大讯飞的语音合成和语音识别的接口调用。

需要注意的是:

1.白名单要在我的应用中配置,生效有5到10分钟的延迟,配置不正确会报错:

{"code":"10105","data":"","desc":"illegal access|illegal client_ip: XXXXXX","sid":"XXXX"}

2.语音识别和语音合成使用不同的APPKEY,配置的时候要检查清楚,否则会报错:

{"code":"10105","data":"","desc":"illegal access|no appid info","sid":"XXXX"}

语音识别

# -*- coding: UTF-8 -*-
import requests
import time
import urllib
import json
import hashlib
import base64URL = "http://api.xfyun.cn/v1/service/v1/iat"
APPID = ""
API_KEY = ""def getHeader():curTime = str(int(time.time()))param = "{\"engine_type\": \"sms16k\", \"aue\": \"raw\"}"paramBase64 = base64.b64encode(param)m2 = hashlib.md5()m2.update(API_KEY + curTime + paramBase64)checkSum = m2.hexdigest()header ={'X-CurTime':curTime,'X-Param':paramBase64,'X-Appid':APPID,'X-CheckSum':checkSum,'Content-Type':'application/x-www-form-urlencoded; charset=utf-8',}return headerdef main():f = open("", 'rb')file_content = f.read()base64_audio = base64.b64encode(file_content)body = urllib.urlencode({'audio': base64_audio})r = requests.post(URL,headers=getHeader(),data=body)result = json.loads(r.content)if result["code"] == "0":print "success, data = " + result["data"]else:print r.textreturnif __name__ == '__main__':main()

语音合成

#-*- coding: utf-8 -*-
import requests
import time
import hashlib
import base64URL = "http://api.xfyun.cn/v1/service/v1/tts"
APPID = ""
API_KEY = ""
def getHeader(auf, aue, voiceName, speed, volume, pitch, engineType, textType):curTime = str(int(time.time()))param = "{\"auf\":\""+auf+"\""if aue != "":param +=",\"aue\":\"" + aue + "\""if voiceName != "":param +=",\"voice_name\":\"" + voiceName + "\""if speed != "":param +=",\"speed\":\"" + speed + "\""if volume != "":param +=",\"volume\":\"" + volume + "\""if pitch != "":param +=",\"pitch\":\"" + pitch + "\""if engineType != "":param +=",\"engine_type\":\"" + engineType + "\""if textType != "":param +=",\"text_type\":\"" + textType + "\""param +="}"paramBase64 = base64.b64encode(param)m2 = hashlib.md5()m2.update(API_KEY + curTime + paramBase64)checkSum = m2.hexdigest()header ={'X-CurTime':curTime,'X-Param':paramBase64,'X-Appid':APPID,'X-CheckSum':checkSum,'Content-Type':'application/x-www-form-urlencoded; charset=utf-8',}return headerdef getBody(text):data = {'text':text}return datadef writeFile(file, content):with open(file, 'wb') as f:f.write(content)f.close()r = requests.post(URL,headers=getHeader("audio/L16;rate=16000", "raw", "xiaoyan", "50", "50", "50", "aisound", "text"),data=getBody("请输入你的身高和体重"))
contentType = r.headers['Content-Type']
if contentType == "audio/mpeg":sid = r.headers['sid']writeFile("audio/"+sid+".wav", r.content)print "success, sid = " + sid
else :print r.text

Python2.7对接科大讯飞的语音合成和语音识别接口相关推荐

  1. Python人工智能第一篇:语音合成和语音识别

    Python人工智能第一篇:语音合成和语音识别 ​此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度,阿 ...

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

    文章目录 开始使用服务 下载并修改代码 批量化处理 2020.3.16更新 一年过去,讯飞居然改了python的使用代码,变复杂了一点,而且不能直出wav格式的音频,只有pcm的源文件:另外不需要设置 ...

  3. 使用python语言调用科大讯飞离线语音合成

    科大讯飞属于第三方服务,但是支持的语言里面没有python,所以我们在这种情况下还想使用它的功能的话,可以通过调用C语言的包,来间接的使用. 代码贴上来: def text_to_voice(text ...

  4. 接入高德 SDK 遇到的问题 01:语音导航中科大讯飞在线语音合成次数限制

    需求:采用高德导航SDK实现路线导航,并且实现语音播报导航 问题:高德导航语音合成开发指南中,建议采用的科大讯飞在线语音合成存在次数限制,远远达不到生产环境的需求量 解决:采用百度离在线语音识别 An ...

  5. ROS-语音控制-会说话的机器人(3)-科大讯飞离线语音合成+图灵机器人

    ROS-语音控制-会说话的机器人(3)-科大讯飞离线语音合成+图灵机器人 参考网址: https://blog.csdn.net/CHENKAIFAN__/article/details/806193 ...

  6. python合成语音_MicroPython动手做(25)——语音合成与语音识别

    6.AB按键切换语言合成项目 [mw_shl_code=python,true]#MicroPython动手做(25)--语音合成与语音识别 #AB按键切换语言合成项目 from mpython im ...

  7. 2021年1~12月语音合成和语音识别论文月报

    ​ 论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...

  8. 2021年10月语音合成和语音识别论文月报

    ​ 论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...

  9. 2021年1~11月语音合成和语音识别论文月报

    论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://yql ...

最新文章

  1. 你所了解的python岗位有哪些_Python是最火语言之一,那么他适合做哪些岗位?Python最全岗位!...
  2. [iptables]Redhat 7.2下使用iptables实现NAT
  3. keil3 安装教程
  4. Qt Designer的UI文件格式
  5. python右键没有idle编辑了_python右键Edit with IDLE
  6. Android之用glide加载gif图片静态展示
  7. switch(封装)
  8. 软件测试报告 图书管理系统,图书管理系统报告 图书馆管理系统报告
  9. 免费的机器人聊天接口
  10. js 主动触发 a 标签 href 链接写法,
  11. 浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
  12. Sendgrid 发信失败!错误代码421.5.7.1 是什么原因?
  13. IDEA警告:SQL dialect is not configured
  14. 哪些操作导致了上下文切换
  15. 超前 、滞后、超前滞后介绍
  16. 02-链表结构(Linked list)
  17. 中搜网php面试题,PHP面试第四站------央视传媒(2009-09-14 13:00)
  18. Mysql 8.0 第3章 简单教程 (翻译+理解)
  19. Android11 解锁屏幕无反应,Android11 setting中增加永不息屏
  20. 百度BOS设置Referer白名单

热门文章

  1. CSS 全局实现英文数字斜体而中文汉字正常显示
  2. 免费域名 免费空间 免费主页空间 免费动态主页空间
  3. 用DIV+CSS技术设计的个人电影网站-web前端网页制作课作业---电影介绍 5页
  4. Nirvana Chain 「为应用而生」Lily技术分享--节点机制 |棘轮效应上涨的经济模型
  5. Linux 命令基础教程
  6. Springboot 接口允许跨域访问
  7. 6. 创业者与电子商务创业
  8. 企业直播服务行业和应用场景
  9. 高颜值手机首选,OPPO R11s星幕新年版用设计征服年轻人!
  10. 关于“数据库分区策略”那点事儿