山东大学软件学院项目实训(四)

本文介绍了通过科大讯飞语音听写技术实现的1分钟内实时语音转文字系统,使用WebSocket协议进行数据传输,包括签名验证、数据上传、结果接收及错误处理。系统准确识别语音内容,具有高精度和时间计算功能。
摘要由CSDN通过智能技术生成

本周实现了语音转文本后端代码的编写。

项目结构如下所示:

本实现通过调用科大讯飞的语音听写技术,其主要用于1分钟内的即时语音转文字技术,支持实时返回识别结果,达到一边上传音频一边获得识别文本的效果,这便于我们后续的开发。

接口调用流程如下:

  • 通过接口密钥基于hmac-sha256计算签名,向服务器端发送Websocket协议握手请求。
  • 握手成功后,客户端通过Websocket连接同时上传和接收数据。数据上传完毕,客户端需要上传一次数据结束标识。
  • 接收到服务器端的结果全部返回标识后断开Websocket连接。

常量的定义类似于tts,不过这里指定的是待识别的文件的位置,而tts指定的是转化的文本的内容。

程序继承WebSocket类,重写了一些方法,以处理WebSocket连接的打开、消息接收和失败事件。运行时会根据不同的状态(第一帧、中间帧、最后一帧)构建不同的JSON格式数据,并发送到服务端。当接收到服务端返回的消息时,程序解析消息并进行处理。如果返回的消息包含错误码,程序将打印错误信息和错误码查询链接。如果消息包含识别结果,程序将对结果进行解码并打印。

程序的工作流程如下:

  • 建立WebSocket连接。
  • 在连接打开后,发送音频数据。
  • 接收服务端返回的识别结果,并进行解码和打印。
  • 处理连接失败事件。

将tts生成的文本传入进行处理,处理结果如下图所示

可以看出,准确地识别出了语音对应的内容,与生成时输入的文本一致,识别准度好,同时还计算了识别耗时,对于其他方面的应用有一定的作用。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值