网站建设捌金手指花总十六/重庆百度推广电话

网站建设捌金手指花总十六,重庆百度推广电话,wordpress sftp,做暧暧视频网站安全吗文章目录 讯飞ASR转写API完整指南1. 引言2. 讯飞ASR API介绍3. API参数说明3.1 认证参数3.2 上传参数3.3 查询结果参数3.4 orderResult 字段3.5 Lattice 字段3.6 json_1best 字段3.7 st 字段 4. Python代码实现4.1 生成签名4.2 上传音频文件4.3 获取转写结果4.4 解析转写结果 5…

文章目录

  • 讯飞ASR转写API完整指南
    • 1. 引言
    • 2. 讯飞ASR API介绍
    • 3. API参数说明
      • 3.1 认证参数
      • 3.2 上传参数
      • 3.3 查询结果参数
      • 3.4 orderResult 字段
      • 3.5 Lattice 字段
      • 3.6 json_1best 字段
      • 3.7 st 字段
    • 4. Python代码实现
      • 4.1 生成签名
      • 4.2 上传音频文件
      • 4.3 获取转写结果
      • 4.4 解析转写结果
    • 5. 请求与返回示例
      • 5.1 成功返回示例
      • 5.4 异步回调
        • 1. 转写结束异步回调状态
    • 6. 文档地址
    • 7. 结论

讯飞ASR转写API完整指南

1. 引言

在这篇博客中,我们将详细解析如何使用讯飞ASR(自动语音识别)API进行音频转写,包括上传音频、查询转写结果及解析返回数据。本文将涵盖API的参数说明,并提供完整的Python代码,确保代码能够顺利执行。

2. 讯飞ASR API介绍

讯飞ASR API提供了一整套音频转写的解决方案,主要流程如下:

  1. 生成签名 - 认证请求的合法性。
  2. 上传音频 - 通过URL方式或本地文件上传音频。
  3. 查询结果 - 轮询转写结果,等待识别完成。
  4. 解析结果 - 处理返回的JSON数据,提取文本和说话人信息。

3. API参数说明

3.1 认证参数

参数名说明
appId讯飞开发者平台分配的应用ID
secret_key用于生成签名的密钥
ts时间戳,单位为秒
signa认证签名,由appId、ts和secret_key计算得出

3.2 上传参数

参数名说明
fileName音频文件名称
fileSize文件大小(若使用URL方式可随意填写)
duration音频时长(单位秒,可随机填写)
language语言(cn代表中文)
audioMode上传模式(urlLink 代表通过URL上传)
audioUrl音频文件的URL(需要URL编码)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.3 查询结果参数

参数名说明
orderId订单ID,用于查询转写结果
resultType返回结果类型(transfer 表示最终转写文本)

成功

{"code": "000000","descInfo": "success","content": {"orderId": "DKHJQ202209021522090215490FAAE7DD0008C","taskEstimateTime": 28000}
}

失败

{"code": "26600","descInfo": "转写业务通用错误"
}

3.4 orderResult 字段

参数名类型说明
latticeList做顺滑功能的识别结果
lattice2List未做顺滑功能的识别结果,当开启顺滑和后语规整后 orderResult 才返回 lattice2 字段(需要开通权限)
labelObject转写结果标签信息,用于补充转写结果相关信息,标记转写结果角色和声道的对应关系

3.5 Lattice 字段

参数名类型说明
json_1bestString单个 VAD 的结果的 JSON 内容

3.6 json_1best 字段

参数名类型说明
stObject单个句子的结果对象

3.7 st 字段

参数名类型说明
bgString单个句子的开始时间,单位毫秒
edString单个句子的结束时间,单位毫秒
rlString分离的角色编号,取值正整数,需开启角色分离的功能才返回对应的分离角色编号
rtList输出词语识别结果集合

4. Python代码实现

4.1 生成签名

在这里插入图片描述

def generate_signa(self):"""生成签名:return: 签名字符串"""appid = self.appidts = self.tsbase_string = appid + tsmd5 = hashlib.md5()md5.update(base_string.encode('utf-8'))base_string_md5 = md5.hexdigest()key = self.secret_key.encode('utf-8')message = base_string_md5.encode('utf-8')hmac_obj = hmac.new(key, message, hashlib.sha1)signa = base64.b64encode(hmac_obj.digest()).decode('utf-8')return signa

4.2 上传音频文件

1、文件上传
#概述
首先调用文件上传接口,上传待转写音频文件的基本信息(文件名、大小等)和相关的可配置参数。
调用成功,返回订单ID(orderId,用于查询结果或者联调排查问题时使用),是后续接口的必传参数。
#请求示例

https://raasr.xfyun.cn/v2/api/upload?duration=200&signa=Je5YsBvPcsbB4qy8Qvzd367fiv0%3D&fileName=%E9%98%B3%E5%85%89%E6%80%BB%E5%9C%A8%E9%A3%8E%E9%9B%A8%E5%90%8E.speex-wb&fileSize=11895&sysDicts=uncivilizedLanguage&appId=3e79d91c&ts=1662101767

#URL

 POST https: //raasr.xfyun.cn/v2/api/upload

#请求头

Content-Type: application/json; charset=UTF-8,Chunked: false

#signa生成

def upload(self):"""上传音频文件:return: 上传响应结果"""try:file_name = os.path.basename(urllib.parse.unquote(self.audio_url))param_dict = {"appId": self.appid,"signa": self.signa,"ts": self.ts,"fileName": file_name,"fileSize": "10000","duration": "200","language": "cn","audioMode": "urlLink","audioUrl": urllib.parse.quote(self.audio_url, safe='')}url = lfasr_host + api_upload + "?" + urllib.parse.urlencode(param_dict)response = requests.post(url, headers={"Content-Type": "application/json; charset=UTF-8"})result = json.loads(response.text)if str(result.get('code', '')) != '000000':return Nonereturn resultexcept Exception as e:return None

4.3 获取转写结果

status == 4

def get_result(self):"""获取转写结果:return: 转写结果"""uploadresp = self.upload()if not uploadresp:return Nonetry:orderId = uploadresp['content']['orderId']param_dict = {"appId": self.appid,"signa": self.signa,"ts": self.ts,"orderId": orderId,'roleType':1,'roleNum':2,"resultType": "transfer"}url = lfasr_host + api_get_result + "?" + urllib.parse.urlencode(param_dict)status = 3while status == 3:response = requests.post(url, headers={"Content-Type": "application/json; charset=UTF-8"})result = json.loads(response.text)if str(result.get('code', '')) != '000000':continuestatus = result['content']['orderInfo']['status']if status == 4:return resulttime.sleep(5)return Noneexcept Exception as e:return None

查询结构返回数据

{"code": "000000","descInfo": "success","content": {"orderInfo": {"orderId": "DKHJQ2022090510220905100562536FEF00062","failType": 0,"status": 4,"originalDuration": 200,"realDuration": 1878},"orderResult": "{\"lattice\":[{\"json_1best\":\"{\\\"st\\\":{\\\"sc\\\":\\\"0.86\\\",\\\"pa\\\":\\\"0\\\",\\\"rt\\\":[{\\\"ws\\\":[{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":1,\\\"we\\\":16},{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":17,\\\"we\\\":36},{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":37,\\\"we\\\":52},{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":53,\\\"we\\\":80},{\\\"cw\\\":[{\\\"w\\\":\\\"测试\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":81,\\\"we\\\":116},{\\\"cw\\\":[{\\\"w\\\":\\\"音频\\\",\\\"wp\\\":\\\"n\\\",\\\"wc\\\":\\\"1.0000\\\"}],\\\"wb\\\":117,\\\"we\\\":172},{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"p\\\",\\\"wc\\\":\\\"0.0000\\\"}],\\\"wb\\\":172,\\\"we\\\":172},{\\\"cw\\\":[{\\\"w\\\":\\\"\\\",\\\"wp\\\":\\\"g\\\",\\\"wc\\\":\\\"0.0000\\\"}],\\\"wb\\\":172,\\\"we\\\":172}]}],\\\"bg\\\":\\\"50\\\",\\\"rl\\\":\\\"0\\\",\\\"ed\\\":\\\"1840\\\"}}\"}],\"lattice2\":[{\"lid\":\"0\",\"end\":\"1840\",\"begin\":\"50\",\"json_1best\":{\"st\":{\"sc\":\"0.86\",\"pa\":\"0\",\"rt\":[{\"nb\":\"1\",\"nc\":\"1.0\",\"ws\":[{\"cw\":[{\"w\":\"\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":1,\"we\":16},{\"cw\":[{\"w\":\"\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":17,\"we\":36},{\"cw\":[{\"w\":\"\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":37,\"we\":52},{\"cw\":[{\"w\":\"\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":53,\"we\":80},{\"cw\":[{\"w\":\"测试\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":81,\"we\":116},{\"cw\":[{\"w\":\"音频\",\"wp\":\"n\",\"wc\":\"1.0000\"}],\"wb\":117,\"we\":172},{\"cw\":[{\"w\":\"\",\"wp\":\"p\",\"wc\":\"0.0000\"}],\"wb\":172,\"we\":172},{\"cw\":[{\"w\":\"\",\"wp\":\"g\",\"wc\":\"0.0000\"}],\"wb\":172,\"we\":172}]}],\"pt\":\"reserved\",\"bg\":\"50\",\"si\":\"0\",\"rl\":\"0\",\"ed\":\"1840\"}},\"spk\":\"段落-0\"}]}","taskEstimateTime": 0}

4.4 解析转写结果

def parse_result(self, result_json):"""解析转写结果,按说话人分组"""try:result = json.loads(result_json)speakers = {}if 'lattice2' in result:for item in result['lattice2']:speaker = item.get('spk', '未知')json_1best = json.loads(item['json_1best'])text = "".join(cw['w'] for rt in json_1best.get('st', {}).get('rt', []) for ws in rt.get('ws', []) for cw in ws.get('cw', []) if 'w' in cw)speakers.setdefault(speaker, []).append(text)return speakersexcept Exception as e:return None

5. 请求与返回示例

5.1 成功返回示例

{"code": "000000","descInfo": "success","content": {"orderId": "DKHJQ202209021522090215490FAAE7DD0008C","taskEstimateTime": 28000}
}

5.4 异步回调

1. 转写结束异步回调状态

当订单转写流程结束时会回调用户(如果录音文件转写接口 upload 传了callbackUrl),会把订单号和订单状态返回,具体的格式和参数说明如下: 回调地址示例:

GET http://ip:prot/server/xxx?orderId=DKHJQ202004291620042916580FBC96690001F&status=1

在这里插入图片描述

6. 文档地址

讯飞ASR文档

7. 结论

本文详细讲解了讯飞ASR API的使用流程,包括如何生成签名、上传音频、查询结果并解析返回数据。希望这篇文章对你有所帮助!如果对你有帮助,帮忙给个一键三连,求求了,各位吴彦祖,刘亦菲们

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

30道Qt面试题(答案公布)

前五个答案 ✦ 1. Qt中常用的五大模块是哪些? Qt中常用的五大模块包括: • Qt Core:提供核心非GUI功能,如数据结构、文件操作、国际化等。 • Qt GUI:提供与平台无关的图形和基本窗口功能。 • Qt Widgets:提供用于创建传统桌面应用程序的UI组件。 • Qt Netw…

jdk21下载、安装(Windows、Linux、macOS)

Windows 系统 1. 下载安装 访问 Oracle 官方 JDK 下载页面 或 OpenJDK 下载页面,根据自己的系统选择合适的 Windows 版本进行下载(通常选择 .msi 安装包)。 2. 配置环境变量 右键点击 “此电脑”,选择 “属性”。 在左侧导航栏…

2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题6)-网络部分解析-附详细代码

目录 附录1:拓扑图 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.VSU 6.SW7 7.R1 8.R2 9.R3 10.AC1 11.AC2 12.EG1 13.EG2 附录1:拓扑图 附录2:地址规划表

java项目之网络游戏交易系统源码(ssm+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的网络游戏交易系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 本网络游戏交易系统分为管理员…

高并发内存池的thread cache部分实现及测试

并发内存池的三个主要组成部分: 线程缓存(Thread Cache) 每个线程拥有独立的线程缓存,用于处理小于256KB的内存分配。由于每个线程都有自己的缓存,线程在从线程缓存中分配内存时无需加锁,这有效避免了竞争…

【红队利器】单文件一键结束火绒6.0

关于我们 4SecNet 团队专注于网络安全攻防研究,目前团队成员分布在国内多家顶级安全厂商的核心部门,包括安全研究领域、攻防实验室等,汇聚了行业内的顶尖技术力量。团队在病毒木马逆向分析、APT 追踪、破解技术、漏洞分析、红队工具开发等多个…

2025面试Go真题第一场

前几天参加了一场面试,GoLang 后端工程师,他们直接给了我 10 道题,我留了一个截图。 在看答案之前,你可以先简单做一下,下面我会对每个题目做一个说明。 文章目录 1、golang map 是否并发安全?2、协程泄漏的原因可能是…

嵌入式项目:STM32刷卡指纹智能门禁系统

本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助,请点链接: https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端(下位机)…

安装VM和Centos

安装VM 一、打开虚拟机 二、选择典型 三、选择光盘 四、指定虚拟机位置 五、设置磁盘大小并拆分为多个文件 六、完成 安装Centos 一、上述过程完成后我们直接打开虚拟机 二、语言选择中文 三,默认安装位置并点击完成 四、点击开始安装 五、点击设置密码 等待安装…

2. EXCEL中函数和公式《AI赋能Excel》

欢迎来到滔滔讲AI。今天我们来学习和讨论下函数和公式是什么,以及它们之间的区别。 点击图片查看视频 2、AI赋能EXCEL-函数和公式 一、什么是函数 首先,我们来了解一下函数。函数是Excel中预定义的计算工具,能够帮助我们快速进行各种计算。 …

输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路

详细前端代码写于上一篇:输入搜索、分组展示选项、下拉选取,el-select 实现:即输入关键字检索,返回分组选项,选取跳转到相应内容页 —— VUE项目-全局模糊检索 【效果图】:分组展示选项 >【去界面操作体…

【SpringBoot】_统一功能处理:统一数据返回格式

目录 1. 对所有返回类型方法进行统一数据返回类型处理 2. 部分返回类型方法存在的问题 3. 对两种有误的方法进行处理 仍以图书管理系统为例。 创建Result对后端返回给前端的数据进行封装,增加业务状态码与错误信息,将原本的数据作为data部分&#xff…

智能交通系统(Intelligent Transportation Systems):智慧城市中的交通革新

智能交通系统(Intelligent Transportation Systems, ITS)是利用先进的信息技术、通信技术、传感技术、计算机技术以及自动化技术等,来提升交通系统效率和安全性的一种交通管理方式。ITS通过收集和分析交通数据,智能化地调度、控制…

Unity百游修炼(1)——FootBall详细制作全流程

一、引言 游玩测试: Football 游玩测试 1.项目背景与动机 背景:在学习 Unity 的过程中,希望通过实际项目来巩固所学知识,同时出于对休闲小游戏的喜爱,决定开发一款简单有趣的小游戏加深自己的所学知识点。 动机&#…

QQ登录测试用例报告

QQ登录测试用例思维导图 一、安全性测试用例 1. 加密传输与存储验证 测试场景:输入账号密码并提交登录请求。预期结果:账号密码通过加密传输(如HTTPS)与存储(如哈希加盐),无明文暴露。 2. 二…

无人机实战系列(三)本地摄像头+远程GPU转换深度图

这篇文章将结合之前写的两篇文章 无人机实战系列(一)在局域网内传输数据 和 无人机实战系列(二)本地摄像头 Depth-Anything V2 实现了以下功能: 本地笔记本摄像头发布图像 远程GPU实时处理(无回传&#…

读取罗克韦尔AllenBradley Micro-Logix1400 罗克韦尔 CIP PCCC通信协议

通信协议实例下载 <-----实例下载 MicroLogix 1400的通信能力 MicroLogix 1400支持多种通信协议&#xff0c;包括CIP&#xff08;通过EtherNet/IP实现&#xff09;、Modbus RTU/TCP、DF1等4812。其硬件集成以太网端口&#xff0c;便于通过EtherNet/IP进行CIP通信15。 CIP…

Python游戏编程之赛车游戏6-5

1 碰撞检测 在显示了玩家汽车和“敌人”汽车之后&#xff0c;接下来就要实现玩家与“敌人”的碰撞检测了。 代码如图1所示。 图1 碰撞检测代码 第72行代码通过pygame.sprite.spritecollideany()函数判断P1和enemies是否发生了碰撞&#xff0c;如果发生碰撞&#xff0c;该函数…

保姆级! 本地部署DeepSeek-R1大模型 安装Ollama Api 后,Postman本地调用 deepseek

要在Postman中访问Ollama API并调用DeepSeek模型,你需要遵循以下步骤。首先,确保你有一个有效的Ollama服务器实例运行中,并且DeepSeek模型已经被加载。 可以参考我的这篇博客 保姆级!使用Ollama本地部署DeepSeek-R1大模型 并java通过api 调用 具体的代码实现参考我这个博…

网络空间安全(2)应用程序安全

前言 应用程序安全&#xff08;Application Security&#xff0c;简称AppSec&#xff09;是一个综合性的概念&#xff0c;它涵盖了应用程序从开发到部署&#xff0c;再到后续维护的整个过程中的安全措施。 一、定义与重要性 定义&#xff1a;应用程序安全是指识别和修复应用程序…