一、视频转文本
肯定会有其他方便的转换行为或软件,这里只提供目前使用过的方法。
1、使用格式工厂,转换视频为MP3。
2、使用二、语音转文本。
二、语音转文本
1、打开讯飞开放平台,注册账号
2、打开语音转写接口介绍页
3、点击免费使用→上传身份证正反面实名注册→领取新用户礼包(个人开发者和企业开发者免费使用),可领到语音转写5小时、极速语音转写10小时,有效期1年。
4、打开语义转写服务管理页,复制你的APPID和SecretKey,粘贴到到下列Java(或Python代码)中的对应变值。
注: demo只是一个简单的调用示例,不适合直接放在复杂多变的生产环境使用
5、运行Java项目中的WeblfasrDemo.java类,等待分片上传语音文件、转写等待、返回JSON字符串数据。
6、把控制台打印的JSON数组字符串,复制到下面代码的json变量中,执行main方法,完成处理返回的JSON字符串,保存到txt文件。
没有把下面这个代码直接集成到样例项目里。操作步骤可合并。
package com.iflytek.voicecloud.lfasr.demo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class JSONToFile {
public static void main(String[] args) {
// 把控制台打印的JSON数组字符串复制到这里
String json = "[{\"bg\":\"1342490\",\"ed\":\"1345720\",\"onebest\":\"和债务可持续原则的这样一个多元化的投融资体系。\",\"speaker\":\"0\"}]";
// 解析onebest中的文本
String text = getText(json);
// 保存到文件
saveKeyToFile(text, System.getProperty("user.dir") + File.separator + "text" + File.separator + "d1.txt");
}
public static String getText(String json) {
StringBuilder builder = new StringBuilder();
JSONArray array = (JSONArray) JSONObject.parse(json);
for (Object object : array) {
JSONObject obj = (JSONObject) object;
builder.append(obj.get("onebest"));
builder.append("\n");
}
return builder.toString();
}
public static void saveKeyToFile(String content, String filePath) {
try (FileOutputStream fos = new FileOutputStream(filePath)) {
fos.write(content.getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}