Java(腾讯云)[语音识别]

阅读: 评论:0

Java(腾讯云)[语音识别]

Java(腾讯云)[语音识别]

注册腾讯云

腾讯云官网:/
微信扫码注册后,以后扫码就可以登录了。

开通语音识别服务

第一步:在产品中找到 人工智能 → 语音识别。

第二步:点击立即使用。

开发文档

第一步:点击文档与资源,选择录音文件识别。

第二步:主要看 离线语音识别 和 识别结果回调 两部分。

栗子

转写方法:

  • 在腾讯云的账号管理中,选择 访问管理 → 访问密钥 → 新建密钥,可以得到 appid、secretid、secretkey。
  • callback:外网可以访问的回调地址(可使用 NATAPP 做内网穿透)。
  • 直接发送文件数据,大小不能超过 5M,相当于不到 5 分钟的音频,显然不能满足需求。所以采用发送地址的方式,就需要生产临时文件。
  • 生成签名时,参数要按照首字母从小到大的排列顺序。
@PostMapping("conver")
public String conver(@RequestParam("file") MultipartFile file) {// 生成临时文件String fileName = OriginalFilename();String suffixName = fileName.substring(fileName.lastIndexOf("."));fileName = new Date().getTime() + suffixName;File downloadFile = new File(uploadFolder + fileName);try {ansferTo(downloadFile);} catch (Exception e) {e.printStackTrace();}// 拼接参数String url = "aai.qcloud/asr/v1/" + appId;StringBuffer sb = new StringBuffer(url);sb.append("?callback_url=" + callback + "&");sb.append("engine_model_type=16k_0&");sb.append("expired=" + (System.currentTimeMillis() / 1000 + 3600) + "&");sb.append("nonce=" + ((int) ((Math.random() * 9 + 1) * 1000000000)) + "&");sb.append("res_text_format=0&");sb.append("res_type=1&");sb.append("secretid=" + secretid + "&");sb.append("source_type=0&");sb.append("sub_service_type=0&");sb.append("timestamp=" + (System.currentTimeMillis() / 1000) + "&");sb.append("url=" + parentPath + fileName);String param = sb.toString();String auth = HMAC("POST" + param, secretKey);String httpOrgCreateTestRtn = HttpClientUtil.doPost("" + param, auth);try {// 生成订单Map resultData = JSONObject.fromObject(httpOrgCreateTestRtn);String taskId = ("requestId") + "";String currentUser = CookieValue("currentUser");Order order = new Order();order.setPhone(currentUser);order.setRequestId(taskId);order.setFileName(fileName);orderService.save(order);} catch (Exception e) {e.printStackTrace();}return "success";
}

回调方法:

  • 回调可能会执行多次,要判断订单是否已经完成
  • 注意要删除转写时生成的临时文件。
@PostMapping("result")
@ResponseBody
public String result(HttpServletRequest request) {String code = Parameter("code");String message = Parameter("message");String requestId = Parameter("requestId");String audioTime = Parameter("audioTime");// 根据回调结果中的任务号找到订单Order order = (requestId);if (Result() == null && code.equals("0")) {if (code.equals("0")) {// 删除临时文件String path = uploadFolder + FileName();File file = new File(path);file.delete();} else {order.setResult(message);order.setState(3);}orderService.saveResult(order);}return "";
}

本文发布于:2024-01-30 19:59:50,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661599322467.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:腾讯   语音识别   Java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23