autojs之语音转写

简介: 使用情景手机实现语音识别

使用情景


手机实现语音识别


效果展示

微信图片_20220624130601.jpg


原理


使用讯飞webpai调用讯飞的语音转写服务


难点


上传语音文件


你将学到以下知识


  1. 给讯飞发送语音文件
  2. 分片序号的生成
  3. 计算签名
  4. HmacSHA1加密
  5. 10位时间戳, 不要科学记数法
  6. 另类的文件上传方式


代码讲解


  1. 导入java类
importClass(java.io.UnsupportedEncodingException);
importClass(java.security.InvalidKeyException);
importClass(java.security.MessageDigest);
importClass(java.security.NoSuchAlgorithmException);
importClass(java.security.SignatureException);
importClass(javax.crypto.Mac);
importClass(javax.crypto.spec.SecretKeySpec);


  1. 初始化所有的参数, APPIDSECRET_KEY请改为自己的.
const APPID = "XXX";
const SECRET_KEY = "XXX";
let filepath = "/sdcard/1.mp3";
let lfasr_host = "http://raasr.xfyun.cn/api";
// # 请求的接口名
let api_prepare = "/prepare";
let api_upload = "/upload";
let api_merge = "/merge";
let api_get_progress = "/getProgress";
let api_get_result = "/getResult";


  1. 预处理
const taskId = prepare();


  1. 文件分片上传
upload();


  1. 合并文件
merge();


  1. 查询处理进度
for (var i = 0; i < 10; i++) {
  let r = getProgress();
  if (r) {
    break;
  } else {
    log("服务器正常按照排队识别语音, 请稍后");
  }
  sleep(5000);
}


  1. 获取结果
let result = getResult();
log(result);


签名计算过程


function HmacSHA1Encrypt(encryptText, encryptKey) {
  let rawHmac;
  encryptText = java.lang.String(encryptText);
  encryptKey = java.lang.String(encryptKey);
  let data = encryptKey.getBytes("UTF-8");
  let secretKey = new SecretKeySpec(data, "HmacSHA1");
  let mac = Mac.getInstance("HmacSHA1");
  mac.init(secretKey);
  let text = encryptText.getBytes("UTF-8");
  rawHmac = mac.doFinal(text);
  let oauth = android.util.Base64.encodeToString(rawHmac, 2);
  return oauth;
}


名人名言


思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问
--- 牙叔教程


声明


部分内容来自网络
本教程仅用于学习, 禁止用于其他用途








相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
复选框样式修改(复选框变为圆形)
复选框样式修改(复选框变为圆形)
|
Android开发
autojs修改悬浮窗按钮点击事件
牙叔教程 简单易懂
1794 0
|
安全 前端开发 Java
SpringBoot接口设计防篡改和防重放攻击
本文介绍了API接口的安全问题及解决方案,包括防止接口参数被篡改和重放攻击的方法。主要措施有:使用HTTPS传输、参数加密、时间戳签名验证等。并通过创建过滤器对请求参数进行签名验证,确保接口的安全性。
1404 10
vs code常见的查找快捷键大全
【11月更文挑战第1天】本文介绍了 VS Code 中的基本查找和替换操作,包括在当前文件中查找(Ctrl + F)、查找替换(Ctrl + H)、查找下一个(F3)和查找上一个(Shift + F3)。还涵盖了在多个文件中查找(Ctrl + Shift + F)和查找替换(Ctrl + Shift + H),以及符号查找相关操作,如转到符号(Ctrl + T)和在文件中查找符号(Ctrl + Shift + O)。这些快捷键和功能帮助用户高效地管理和编辑代码。
2675 2
|
监控 JavaScript Shell
AutoxJS脚本保姆级教程
AutoxJS脚本保姆级教程
1052 3
|
JavaScript
JS获取当前日期和时间的方法,并按照YYYY-MM-DD格式化
闲暇之余、好东西做个收藏、以备不时之需。 转载自  安然博客 Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       
15593 0
|
人工智能 自然语言处理 算法
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
|
监控 Java 测试技术
Web、移动端、桌面端自动化测试工具或框架推荐
目前自动化测试可谓是人人在提,而且自动化工具和一些开源框架也是层出不穷。截止现在,我也接触了一些自动化的知识,分享下。
903 0
Web、移动端、桌面端自动化测试工具或框架推荐
autojs之控制台
使用场景 自定义控制台
774 0
autojs之控制台
|
前端开发
autojs之图片控制台
使用情景 自定义控制台, 添加图标, 小红点, 图片背景等效果
606 0
autojs之图片控制台

热门文章

最新文章