- 听写-基础
- 免费
- 语音听写">语音听写
- 语音听写(流式版)WebAPI 文档">语音听写(流式版)WebAPI 文档
- #接口说明">#接口说明
- #接口Demo">#接口Demo
- #接口要求">#接口要求
- #接口调用流程">#接口调用流程
- 常见问题">常见问题
- #语音听写的APIKey在哪里查询到?">#语音听写的APIKey在哪里查询到?
- #webapi流式听写能获取到语音听写结果为空或错误内容或者不全,原因是什么?">#webapi流式听写能获取到语音听写结果为空或错误内容或者不全,原因是什么?
- #语音听写WebAPI支持的音频格式有哪些?">#语音听写WebAPI支持的音频格式有哪些?
- #语音听写最长支持多少秒之内的音频?">#语音听写最长支持多少秒之内的音频?
- #语音听写Webapi支持多少路并发?如何提高并发?">#语音听写Webapi支持多少路并发?如何提高并发?
- #听写报错10163,length of $.data.audio must be between 0,13000是什么原因?">#听写报错10163,length of $.data.audio must be between 0,13000是什么原因?
- #为什么每隔一段时间不发送数据就会断开连接?">#为什么每隔一段时间不发送数据就会断开连接?
- #最多支持多少热词,是否可以扩容?">#最多支持多少热词,是否可以扩容?
- #如何限制IP?">#如何限制IP?
- 讯飞开放平台语音识别音频文件格式说明">讯飞开放平台语音识别音频文件格式说明
- 语音听写服务说明">语音听写服务说明
- #2.个性化热词问题">#2.个性化热词问题
- #3.方言问题">#3.方言问题
- #4.价格问题">#4.价格问题
听写-基础
- 语音听写
免费
- ~1k
语音听写
将短音频(≤60秒)精准识别成文字,除中文普通话和英文外,支持65个语种、23种方言和1个民族语言,实时返回结果,达到边说边返回的效果,可提供公有云接口及私有化部署方案个性化热词
个性化热词,即让应用准确识别特定的词语(“热词”)。简单发布,快速生效,实现个性化听写。语音听写(流式版)WebAPI 文档
#接口说明
语音听写流式接口,用于1分钟内的即时语音转文字技术,支持实时返回识别结果,达到一边上传音频一边获得识别文本的效果。高阶功能-动态修正现在免费开放!多个小语种已上线!
动态修正:可到这里 动态修正效果 在线体验
- 未开启动态修正:实时返回识别结果,每次返回的结果都是对之前结果的追加;
- 开启动态修正:实时返回识别结果,每次返回的结果有可能是对之前结果的追加,也有可能是要替换之前某次返回的结果(即修正);
- 开启动态修正,相较于未开启,返回结果的颗粒度更小,视觉冲击效果更佳;
- 使用动态修正功能需到控制台-流式听写-高级功能处点击开通,并设置相应参数方可使用,参数设置方法详见 业务参数说明 ;
- 动态修正功能仅 中文 支持;
- 未开启与开启返回的结果格式不同,详见 动态修正返回结果 ;
小语种
该语音能力是通过Websocket API的方式给开发者提供一个通用的接口。Websocket API具备流式传输能力,适用于需要流式数据传输的AI服务场景,比如边说话边识别。相较于SDK,API具有轻量、跨语言的特点;相较于HTTP API,Websocket API协议有原生支持跨域的优势。 原WebAPI普通版本接口(http[s]: //api.xfyun.cn/v1/service/v1/iat) 不再对外开放,已经使用WebAPI普通版本的用户仍可使用,同时也欢迎体验新版流式接口并尽快完成迁移~#接口Demo
示例demo请点击 这里 下载。
目前仅提供部分开发语言的demo,其他语言请参照下方接口文档进行开发。
也欢迎热心的开发者到 讯飞开放平台社区 分享你们的demo。
#接口要求
集成语音听写流式API时,需按照以下要求。内容 | 说明 |
---|---|
请求协议 | ws[s](为提高安全性,强烈推荐wss) |
请求地址 | 中英文(推荐使用):ws[s]: //iat-api.xfyun.cn/v2/iat 中英文:ws[s]: //ws-api.xfyun.cn/v2/iat 小语种:ws[s]: //iat-niche-api.xfyun.cn/v2/iat 注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用 |
请求行 | GET /v2/iat HTTP/1.1 |
接口鉴权 | 签名机制,详情请参照下方接口鉴权 |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向讯飞云服务发起Websocket请求的均可 |
操作系统 | 任意 |
音频属性 | 采样率16k或8K、位长16bit、单声道 |
音频格式 | pcm speex(8k) speex-wb(16k) mp3(仅中文普通话和英文支持,其他方言及小语种敬请期待) 样例音频请参照音频样例 |
音频长度 | 最长60s |
语言种类 | 中文、英文、小语种以及中文方言,可在控制台-语音听写(流式版)-方言/语种处添加试用或购买 |
#接口调用流程
- 通过接口密钥基于hmac-sha256计算签名,向服务器端发送Websocket协议握手请求。详见下方 接口鉴权 。
- 握手成功后,客户端通过Websocket连接同时上传和接收数据。数据上传完毕,客户端需要上传一次数据结束标识。详见下方 接口数据传输与接收 。
- 接收到服务器端的结果全部返回标识后断开Websocket连接。
注: Websocket使用注意事项如下
- 服务端支持的websocket-version 为13,请确保客户端使用的框架支持该版本。
- 服务端返回的所有的帧类型均为TextMessage,对应于原生websocket的协议帧中opcode=1,请确保客户端解析到的帧类型一定为该类型,如果不是,请尝试升级客户端框架版本,或者更换技术框架。
- 如果出现分帧问题,即一个json数据包分多帧返回给了客户端,导致客户端解析json失败。出现这种问题大部分情况是客户端的框架对websocket协议解析存在问题,如果出现请先尝试升级框架版本,或者更换技术框架。
- 客户端会话结束后如果需要关闭连接,尽量保证传给服务端的错误码为websocket错误码1000(如果客户端框架没有提供关闭时传错误码的接口。则无需关注本条)。
#白名单
默认关闭IP白名单,即该服务不限制调用IP。在调用该业务接口时
- 若关闭IP白名单,接口认为IP不限,不会校验IP。
- 若打开IP白名单,则服务端会检查调用方IP是否在讯飞开放平台配置的IP白名单中,对于没有配置到白名单中的IP发来的请求,服务端会拒绝服务。
- 在 控制台-相应服务的IP白名单处编辑,保存后五分钟左右生效。
- 不同Appid的不同服务都需要分别设置IP白名单。
- IP白名单需设置为外网IP,请勿设置局域网IP。
- 如果握手阶段返回{“message”:”Your IP address is not allowed”},则表示由于IP白名单配置有误或还未生效,服务端拒绝服务。
#接口鉴权
常见问题
#语音听写的APIKey在哪里查询到?
答:控制台—我的应用—-找到对应应用的语音听写(流式)服务—-即能查看到。#webapi流式听写能获取到语音听写结果为空或错误内容或者不全,原因是什么?
答:原因可能如下;1、音频格式不正确,请使用Cool Edit Pro工具(网页搜索下载即可)查看音频格式,webapi听写流式版:支持的格式是pcm、speex、speex-wb,其中中文普通话和英文还支持mp3格式
音频采样率要是 16k 或者 8k、采样精度16 位、单声道音频。样例音频请参照音频样例
2、音频中间有静音或者杂音音频超过了后端点(不设置默认为2000ms)的设置,此时请使用Cool Edit Pro工具查看音频内容,并且设置后端点(vad_eos)为最大值10000ms
包含超过后端点最大值的静音或者杂音时,音频识别不完整是正常的
#语音听写WebAPI支持的音频格式有哪些?
答:支持8k和16k采样率、16bit、单声道的pcm、mp3、speex格式的音频。需注意mp3格式的音频仅支持中文普通话和英文。#语音听写最长支持多少秒之内的音频?
答:听写支持识别60s之内的音频。#语音听写Webapi支持多少路并发?如何提高并发?
答:默认支持50路并发,如需更多并发可提交工单进行咨询。#听写报错10163,length of $.data.audio must be between 0,13000是什么原因?
答:听写frameSize传的音频大小base64编码后不能超出13000B,默认传1280B不建议传值过大。#为什么每隔一段时间不发送数据就会断开连接?
答:听写vad_eos为支持的最长静音时间,超过这个时间会认为音频结束自动断开连接。#最多支持多少热词,是否可以扩容?
答:控制台最多支持2000个应用级热词,暂不支持扩容。#如何限制IP?
答:可通过在IP白名单设置自己服务的IP地址,限制其他IP地址访问。讯飞开放平台语音识别音频文件格式说明
讯飞语音能力一般情况下支持如下音频格式:- pcm(pcm_s16le),wav,speex(speex-wb)
- 采样率为16000 或者 8000. 推荐使用16000,比特率为16bit
- 单声道
#音频文件格式转换工具ffmpeg
#简介
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 详情可参考:http://ffmpeg.org/#示例
Mp3 转换为 16k 16bit 单声道 pcmwav 转换为 16k 16bit 单声道 pcm
ffmpeg -y -i test.mp3 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 test.pcm
44100,16bit,单声道pcm 转换为 16k 16bit 单声道 pcm
ffmpeg -y -i test.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 test.pcm
参数解释: -y: 表示无需询问,直接覆盖输出文件; -acodec: 用于设置音频的编码器和解码器; -f s16le: 用于设置文件格式为 s16le; -ar 16000: 用于设置音频采样频率为 16k; -ac 1: 用于设置通道数为 1; -i: 用于设置输入文件;
ffmpeg -y -f s16le -ar 44100 -ac 1 -i test.pcm -acodec pcm_s16le -f s16le -ac 1 -ar 16000 test.pcm
#speex编码
讯飞开放平台rest_api支持speex编码压缩音频文件,相较于PCM可以节约网络传输成本,推荐使用speex格式。请注意压缩前的原始音频文件,必须为采样率16K、16bit、单声道的PCM格式。 接口支持标准开源speex编码(speex-size参数必传)和讯飞定制speex编码(讯飞定制speex,无需额外传speex-size参数) 说明:
- 标准开源speex编解码,需下载编译speex库。详情可参考:https://www.speex.org/
- 标准开源speex格式,speex_size与speex库压缩等级(quantity)关系表如下:
quantity(压缩等级) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
speex_size(speex)8k | 6 | 10 | 15 | 20 | 20 | 28 | 28 | 38 | 38 | 46 | 62 |
speex_size(speex-wb)16k | 10 | 15 | 20 | 25 | 32 | 42 | 52 | 60 | 70 | 86 | 106 |
- 讯飞定制编解码工具下载(点击下载),使用讯飞定制编码时,无需传speex_size参数
语音听写服务说明
#1.效果问题
#语音听写可以让应用准确识别特定的词语,实现个性化听写吗?
可以通过上传个性化热词实现。个性化热词支持建立个性化的词条语言模型,调整识别参数,持续优化识别效果,提高用户的个性化词条识别准确率。热词上传方式参考听写个性化热词—-应用级热词&用户级热词 #### #语音听写是可以实现说一个字识别一个字吗?还是说一句话说完再次识别? 目前语音听写不能实现一个字一个字识别的效果,单次识别是实时返回60秒以内的音频转文字。
#听写服务出现识别率不高的现象是什么原因?
造成识别率很低的原因有很多,排查的思路(音量格式不符合要求、音频质量较差、设置的方言语种采样率等参数不对等等)。#语音听写支持什么音频格式?
1.webapi听写普通版和sdk应用的语音听写:语音听写目前支持的格式是 pcm 和 wav 格式、音频采样率要是 16k 或者 8k(仅在线支持)、采样精度16 位、单声道音频;2.webapi听写流式版:支持的格式是pcm、speex、speex-wb,音频采样率要是 16k 或者 8k、采样精度16 位、单声道音频,其中中文普通话和英文还支持mp3格式,可见web流式听写开发文档。
#2.个性化热词问题
#语音听写的热词怎么上传?
进入讯飞开放平台页面后,点击右上角控制台——点击应用中的服务—-个性化热词—-上传热词—-发布热词(一般生效时间1小时以后);热词上传方式参考听写个性化热词—-应用级热词&用户级热词。
#语音听写可以让应用准确识别特定的词语,实现个性化听写吗?
可以通过上传个性化热词实现。个性化热词支持建立个性化的词条语言模型,调整识别参数,持续优化识别效果,提高用户的个性化词条识别准确率; 热词上传方式参考听写个性化热词—-应用级热词&用户级热词。#3.方言问题
#语音听写支持方言有哪些?
目前语音听写支持中、英文以及部分国内方言,方言语种可以在语音听写页面上详细查询到。语音听写方言添加测试权限—-我的应用—-语音听写(流式版)—-添加新语种/方言—-代码里修改语言参数(参考api文档)安卓api文档 #### #方言识别需要单独收费吗?每种方言怎么收费的? 目前平台上展示的方言识别需要单独购买,授权价格为:2万/个/年,可在应用控制台—-添加方言—-试用/购买。