Python2.7对接科大讯飞的语音合成和语音识别接口
小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对接科大讯飞的语音合成和语音识别接口相关推荐
- Python人工智能第一篇:语音合成和语音识别
Python人工智能第一篇:语音合成和语音识别 此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度,阿 ...
- 【方法】科大讯飞在线语音合成API使用-文字转语音音频
文章目录 开始使用服务 下载并修改代码 批量化处理 2020.3.16更新 一年过去,讯飞居然改了python的使用代码,变复杂了一点,而且不能直出wav格式的音频,只有pcm的源文件:另外不需要设置 ...
- 使用python语言调用科大讯飞离线语音合成
科大讯飞属于第三方服务,但是支持的语言里面没有python,所以我们在这种情况下还想使用它的功能的话,可以通过调用C语言的包,来间接的使用. 代码贴上来: def text_to_voice(text ...
- 接入高德 SDK 遇到的问题 01:语音导航中科大讯飞在线语音合成次数限制
需求:采用高德导航SDK实现路线导航,并且实现语音播报导航 问题:高德导航语音合成开发指南中,建议采用的科大讯飞在线语音合成存在次数限制,远远达不到生产环境的需求量 解决:采用百度离在线语音识别 An ...
- ROS-语音控制-会说话的机器人(3)-科大讯飞离线语音合成+图灵机器人
ROS-语音控制-会说话的机器人(3)-科大讯飞离线语音合成+图灵机器人 参考网址: https://blog.csdn.net/CHENKAIFAN__/article/details/806193 ...
- python合成语音_MicroPython动手做(25)——语音合成与语音识别
6.AB按键切换语言合成项目 [mw_shl_code=python,true]#MicroPython动手做(25)--语音合成与语音识别 #AB按键切换语言合成项目 from mpython im ...
- 2021年1~12月语音合成和语音识别论文月报
论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...
- 2021年10月语音合成和语音识别论文月报
论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...
- 2021年1~11月语音合成和语音识别论文月报
论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://yql ...
最新文章
- 你所了解的python岗位有哪些_Python是最火语言之一,那么他适合做哪些岗位?Python最全岗位!...
- [iptables]Redhat 7.2下使用iptables实现NAT
- keil3 安装教程
- Qt Designer的UI文件格式
- python右键没有idle编辑了_python右键Edit with IDLE
- Android之用glide加载gif图片静态展示
- switch(封装)
- 软件测试报告 图书管理系统,图书管理系统报告 图书馆管理系统报告
- 免费的机器人聊天接口
- js 主动触发 a 标签 href 链接写法,
- 浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
- Sendgrid 发信失败!错误代码421.5.7.1 是什么原因?
- IDEA警告:SQL dialect is not configured
- 哪些操作导致了上下文切换
- 超前 、滞后、超前滞后介绍
- 02-链表结构(Linked list)
- 中搜网php面试题,PHP面试第四站------央视传媒(2009-09-14 13:00)
- Mysql 8.0 第3章 简单教程 (翻译+理解)
- Android11 解锁屏幕无反应,Android11 setting中增加永不息屏
- 百度BOS设置Referer白名单