讯飞云 API 语音听写 python3 调用例程
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import requests
import time
import gzip
import urllib
import json
import hashlib
import base64
def audio_dictation():
"""
讯飞语音听写 API 调用例程
注意:使用前需要在讯飞云控制台中的IP白名单中加入本机IP!
参考:讯飞云官方 API 文档 https://doc.xfyun.cn/rest_api/语音听写.html
"""
# 读取 APPID:
with open('./appid', mode='r', encoding='ASCII') as appid_file:
x_appid = appid_file.read()
# 读取APIKey:
with open('./apikey', mode='r', encoding='ASCII') as apikey_file:
api_key = apikey_file.read()
# API URL:
url = 'http://api.xfyun.cn/v1/service/v1/iat'
# 读取音频文件内容 (将 `zhngjb_clip.wav` 替换成需要上传的音频文件):
with open('./zhngjb_clip.wav', mode='rb') as audio_file:
file_content = audio_file.read()
# 对音频文件进行 base64 音频编码:
base64_audio = base64.b64encode(file_content)
body = urllib.parse.urlencode({'audio': base64_audio})
# 采样率 16k,编码格式 未压缩:
param = {"engine_type": "sms16k", "aue": "raw"}
# 构建 header:
x_param = base64.b64encode(json.dumps(param).replace(' ', '').encode())
x_time = str(int(int(round(time.time() * 1000)) / 1000))
x_checksum = hashlib.md5(api_key.encode() + str(x_time).encode() + x_param).hexdigest()
x_header = {'X-Appid': x_appid,
'X-CurTime': x_time,
'X-Param': x_param,
'X-CheckSum': x_checksum}
req_header = {'Content-Type': 'application/x-www-form-urlencoded',
'charset': 'utf-8'}
headers = {**req_header, **x_header}
# 发送请求:
start = time.time()
response = requests.post(url, headers=headers, data=body)
duration = time.time() - start
with open('result', mode='w', encoding='utf-8') as result_file:
print(f'Request sent. Duration: {duration}s\n'
f'status code = {response.status_code}\n'
f'headers = {response.headers}\n'
f'content = {response.content.decode("utf-8")}', file=result_file)
if __name__ == '__main__':
audio_dictation()
讯飞云 API 语音听写 python3 调用例程的更多相关文章
- Python3调用Hadoop的API
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
- Android集成科大讯飞SDK语音听写及语音合成功能实现
前言 现在软件设计越来越人性化.智能化.一些常见的输入都慢慢向语音听写方向发展,一些常见的消息提示都向语音播报发展.所以语音合成和语音听写是手机软件开发必不可少的功能.目前国内这方面做的比较好的应该是 ...
- C# 实现语音听写
本文系原创,禁止转载. 分享如何使用c#对接科大讯飞语音听写服务,简单高效地实现语音听写. 实现语音听写主要分为录音和语音识别两部分:录音是指获取设备声卡端口的音频数据并将之保存为音频文件,语音识别就 ...
- Android 讯飞语音听写SDK快速接入(附空指针解决和修改对话框文字方法)
1.账号准备工作 首先要有一个讯飞的账号啦,为后面申请APPID.APPKey等东西做准备.顺带一提:讯飞对不同认证类型用户开 放的SDK的使用次数是有不同的,详情如下图. 账号申请完成后,需要去你自 ...
- Android讯飞语音云语音听写学习
讯飞语音云语音听写学习 这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...
- 腾讯QQAndroid API调用实例(QQ分享无需登录)
腾讯QQAndroid API调用实例(QQ分享无需登录) 主要分为两个步骤: 配置Androidmanifest.xml 修改activity里边代码 具体修改如下: 1.Activity代 ...
- 腾讯地图 API 调用入门
本文仅为腾讯地图 API 调用入门,如需进阶学习,请在腾讯位置服务网站上进行学习. 登陆网址 https://lbs.qq.com/ 点击右上角的登陆按钮,需要进行注册按照流程进行就好. 完成之后,选 ...
- 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址
简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...
- .NET调用腾讯云API实例
最近项目有用到腾讯云的身份识别接口,话不多说,直接上代码: private void IDCardVerification(HttpContext context) { string imgStr = ...
随机推荐
- CentOS7利用本地yum源配置NBD
一:CentOS7.0创建本地YUM源 (物理机:直接将刻录的CentOS7光盘利用光驱插入物理机上) (虚拟机: CD/DVD>>连接本地ISO) 针对物理机192.168.9.112进 ...
- 闲谈Hybrid
前言 当经常需要更换样式,产品迭代,那么我们应该考虑hybrid混合开发,上层使用Html&Css&JS做业务开发,底层透明化.上层多多样化,这种场景非常有利于前端介入,非常适合业务快 ...
- MVC进行多文件上传
用mvc做多文件的上传和保存到本地,大致流程就是,前台通过form表单提交多文件,Controller接受到文件流,将文件流保存到本地 然后将保存地址 存到数据库中. 将文件通过from提交 < ...
- linux 第十天学习
一.RAID 1.常见RAID (RAID 0.RAID1.RAID5.RAID10) 2.RAID 10 阵列添加 2.1.添加硬盘 2.2.查看系统加载 2.3.mdadm 命令添加RAID阵列 ...
- 《MySQL必知必会》--使用cmd登陆数据库
数据库:保存有组织的数据的容器(通常是一个文件或一组文件). 表:某种特定类型数据的结构化清单. 模式:关于数据库和表的布局及特性的信息. 列:表中的一个字段.所有表都是由一个或多个列组成的. 数据类 ...
- Echarts+百度地图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【tp5.1】通过PHPExcel实现导入excel表格
1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel 2.下载解压后,将Classes改名为PHPExcel如图 3.将文件夹复制到 ...
- xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版
客户电脑上要装金税开票软件,需要.net 4.0.30319.1,电脑环境是xp sp3,已经安装了.net 2, .net 3.5sp1,安装.net 4.0的时候提示错误0x80070643 因为 ...
- opencv3 学习四 - 图像减色
程序如下 #include "opencv2/opencv.hpp" using namespace cv; int main() { // 灰度图 Mat original = ...
- socketpair通信
1.线程间通信(参考安卓源码InputTransport.cpp) #include <pthread.h> #include <sys/types.h> /* See NOT ...