语音转写(讯飞开放平台)工具类

https://www.xfyun.cn/doc/asr/lfasr/Java-SDK.html#_1%E3%80%81%E7%AE%80%E4%BB%8B

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.iflytek.msp.lfasr.LfasrClient;
import com.iflytek.msp.lfasr.model.Message;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.UUID;
import java.util.concurrent.TimeUnit;/*** 语音转写工具类* @author MWX* @date 2021/1/19 16:11*/@Slf4j
@Repository
public class PhoneticTranscriptionUtil{//讯飞平台申请(语音转写)不过每天有限制public static final String APP_ID = "";public static final String SECRET_KEY = "";/*** 标准语音转写* @param localPath 本地文件路径*     //音频文件路径*     //1、绝对路径:D:\......\demo-3.0\src\main\resources\audio\lfasr.wav*     //2、相对路径:./resources/audio/lfasr.wav*     //3、通过classpath:* @throws InterruptedException*/private static String standard(String localPath) throws Exception {//1、创建客户端实例LfasrClient lfasrClient = LfasrClient.getInstance(APP_ID, SECRET_KEY);//2、上传Message task = lfasrClient.upload(localPath);String taskId = task.getData();log.info("转写任务 taskId{}",taskId);//3、查看转写进度int status = 0;while (status != 9) {Message message = lfasrClient.getProgress(taskId);JSONObject object = JSON.parseObject(message.getData());status = object.getInteger("status");System.out.println(message.getData());TimeUnit.SECONDS.sleep(10);}//4、获取结果Message result = lfasrClient.getResult(taskId);JSONArray jsonArray=JSON.parseArray(result.getData());String str = "";for (int i = 0 ; i < jsonArray.size();i++){JSONObject rowData = new JSONObject(jsonArray.getJSONObject(i));String ret = rowData.getString("onebest");str= str.concat(ret);}return str;}//java 通过url下载录音文件保存到本地public static String download(String urlString) throws Exception {// 构造URLURL url = new URL(urlString);// 打开连接URLConnection con = url.openConnection();// 输入流InputStream is = con.getInputStream();// 1K的数据缓冲byte[] bs = new byte[1024];// 读取到的数据长度int len;// 输出的文件流(输出到项目根目录)String filename = "./" + UUID.randomUUID() + ".wav";  //下载路径及下载图片名称File file = new File(filename);FileOutputStream os = new FileOutputStream(file, true);// 开始读取while ((len = is.read(bs)) != -1) {os.write(bs, 0, len);}// 完毕,关闭所有链接os.close();is.close();String result = standard(filename);if(file.isFile() && file.exists()){boolean delete = file.delete();}return result;}//    public static void main(String[] args) {//        try {//            long startTime = System.currentTimeMillis(); // 获取开始时间
//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
//            System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
//            download("http://sfc-audio-test.oss-cn-shenzhen.aliyuncs.com/sfc-audio%2F20210119_225424.opus?OSSAccessKeyId=LTAI4G7FTdwrxSw13sDddjV7&Expires=1611117983&Signature=a0eYBLPHgDhIQpluQakpmy69%2Bp8%3D");
//            long endTime = System.currentTimeMillis(); // 获取结束时间
//            System.out.println("程序总运行时间: " + (endTime - startTime) + "ms");//opus   129394ms  //103799ms  //123282ms  //wav  331109ms
//        } catch (Exception e) {//            e.printStackTrace();
//        }
//    }}

语音转写(讯飞开放平台)工具类相关推荐

  1. 【NLP】Pyhon+讯飞开放平台:​手把手带你写一个智能语音播报系统

    手把手带你写一个智能语音播报系统. 微信扫码登陆讯飞开放平台:https://www.xfyun.cn/ 完成个人认证. 在控制台创建应用,注意应用名称全库查重,很容易跟别人重复. 可查看到pytho ...

  2. 【语音智能平台】京东Alpha VS 讯飞开放平台 (一)

    前言 语音助手作为一种便捷的交互形式,各家厂商一直很看好. 手机端的语音助手,比如苹果的Siri.小米的小爱同学,一直在保持不断进步. 智能音箱作为除了手机之外的另一个重要的物联网入口,也成为了兵家必 ...

  3. Python:【4】利用讯飞开放平台实现语音识别

    今天出于兴趣,利用Python+讯飞平台API实现了上传语音文件,转化为txt文档的功能. 需要先在讯飞开放平台进行实名,认证成为开发者后,可以购买免费的"语音转写"服务时长. 讯 ...

  4. 讯飞开放平台七夕福利

    世界上最远的距离 是我在if里 妹子在else里 虽然经常一起出现 但却永不结伴执行 为了过好今年的七夕 终于注册了交友网站 从黑夜刷到天明 妹子没约到 页面的bug找到不少 鼓足勇气和心仪的女神搭讪 ...

  5. 【语音智能平台】京东Alpha VS 讯飞开放平台 (二)

    前言 上篇文章 https://blog.csdn.net/diandianxiyu_geek/article/details/80741657 ,我们分析了这两个平台能做什么. 本篇文章,主要是分析 ...

  6. 【练一下1】糖尿病遗传风险检测挑战赛 【讯飞开放平台】

    文章目录 完成coggle任务 任务1:报名比赛 步骤1:报名比赛http://challenge.xfyun.cn/topic/info?type=diabetes&ch=ds22-dw-z ...

  7. 讯飞能力平台语音识别ASR接口,AIUI接口问题

    讯飞能力平台开发者,之前产于所有的开发测试,ASR接口包括AIUI接口我全部了解的,有不懂的可以评论留言,我一一回复,不需要走工单. 中文站 新手指南 文档中心 SDK下载 乐享会员 财务中心 控制台 ...

  8. 腾讯ai开放平台 手册_创建手册以实现大规模开放

    腾讯ai开放平台 手册 "是的,但是你实际上是怎么做到的呢?" 在Opensource.com以及无数的会议和研讨会上,这是我们社区领域最常见的问题. 人们倾向于理解为什么在工作场 ...

  9. 文字转语音免费导出,语音来至讯飞

    转自:http://www.krislq.com/2014/02/voicecloud_local/ 讯飞大家一定都非常的熟悉.最近需要把做个小功能来把文字转换成语音,所以网上搜索了下,刚好讯飞在an ...

  10. 关于腾讯社区开放平台

    转载于 http://baike.baidu.com/view/4337067.htm 腾讯社区开放平台是基于QQ空间.朋友社区(QQ校友)两大社交网络的开放平台.我们致力于连接分享网站间的信息,引入 ...

最新文章

  1. 3W字长文带你轻松入门视觉Transformer
  2. 一文读懂 Nginx
  3. Spring Boot 小技巧
  4. 自学机器学习,怎么才能找到工作啊?至少要避开十大雷区 | Reddit高热
  5. 【C 语言】字符串模型 ( 两头堵模型 | 将 两头堵模型 抽象成业务模块函数 | 形参返回值 | 函数返回值 | 形参指针判空 | 形参返回值操作 )
  6. 【商务智能】数据仓库 ( 多维数据模型 | 多维数据分析 )
  7. iOS 开发中的MVVM介绍(译)
  8. 选择排序-冒泡排序-归并排序-快速排序-插入排序
  9. SAP CRM WebClient UI搜索结果界面的扩展字段显示
  10. C语言试题二十三之编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中
  11. pandas dataframe 一行变多行 (query pv统计term pv)
  12. 交换机端口配置与管理
  13. 利用自定义事件实现不同窗体间的通讯 -- C#篇
  14. 计算机知识认证,[IT认证]计算机基础知识.ppt
  15. 深入解析LoadRunner下的参数化取值
  16. GNS3+GNS3 VM
  17. 创建ASP.NET MVC5 应用程序
  18. matlab炮灰模型,非诚勿扰的数学分析
  19. 计算机将会代替老师吗英语范文,英文作文电脑对教育的重要意义
  20. 用idea使用struts和hibernate来实现CRUB的操作

热门文章

  1. ipython的安装和使用过程_数据分析之一:IPython安装及使用
  2. ppt计算机实验报告册,PPT实验报告册
  3. 地图数字化步骤及问题总结
  4. Matlab-数值计算方法作业
  5. 苹果id是什么格式的_苹果用户福利 | 史上最简利用itunes抓包教程只需4步!!!...
  6. 基于人脸识别录入 人脸图片识别 及测试的效果
  7. 学习STM32 RS485 原理与应用
  8. Android 设置网络代理
  9. JavaScript零基础入门 1:JavaScript表格简介
  10. 华为手机序列号前三位_华为所有型号交换机查看序列号方法