百度AI学习:一、语音识别
近期用下班之余 学习了百度AI 下面的第一步 语音识别 特此整理 以后查阅
1.申请百度AI账号 创建应用
2.查看文档 http://ai.baidu.com/docs#/ASR-Online-Java-SDK/top
3.查看pcm文件的制作办法 详情查看
http://blog.csdn.net/caoshangpa/article/details/51218994
也可以直接 下载
下载地址: http://download.csdn.net/download/golddaniu/10185994
4.使用spring boot 创建一个新项目,然后引入百度AI的maven
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
5.创建测试类
package com.ye.ai.application;
import org.json.JSONObject;
import com.baidu.aip.speech.AipSpeech;
public class Sample {
//设置APPID/AK/SK
public static final String APP_ID = "10617526";
public static final String API_KEY = "X64gvKCrkqsyRPojpYeIqiuK";
public static final String SECRET_KEY = "SCKmYtyrm4XCBQo90ThwweRF1AOpFwyt";
public static void main(String[] args) {
// 初始化一个AipSpeech
AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
// client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
// client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
// 调用接口
JSONObject res = client.asr("c:\\result.pcm", "pcm", 16000, null);
System.out.println(res.toString(2));
// 对网络上音频进行识别
// String url = "http://somehost/res/16k_test.pcm";
// String callback = "http://callbackhost/aip/dump";
// JSONObject res = client.asr(url, callback, "pcm", 16000, null);
// System.out.println(res);
}
}
6.附上pcm文件生成代码
package com.test;
import com.ye.ai.utils.WAVConvertPCM;
public class TestWavToPcmFile {
public static void main(String[] args) {
WAVConvertPCM.convertAudioFiles("D:\\KuGou\\test.wav", "c:\\result.pcm");
}
}
package com.ye.ai.utils;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import org.apache.commons.io.IOUtils;
/**
* WAV转PCM(截掉前44个字节数据)
* @author Administrator
*
*/
public class WAVConvertPCM {
/**
* WAV转PCM文件
* @param wavfilepath wav文件路径
* @param pcmfilepath pcm要保存的文件路径及文件名
* @return
*/
public static String convertAudioFiles(String wavfilepath,String pcmfilepath){
FileInputStream fileInputStream;
FileOutputStream fileOutputStream;
try {
fileInputStream = new FileInputStream(wavfilepath);
fileOutputStream = new FileOutputStream(pcmfilepath);
byte[] wavbyte = InputStreamToByte(fileInputStream);
byte[] pcmbyte = Arrays.copyOfRange(wavbyte, 44, wavbyte.length);
fileOutputStream.write(pcmbyte);
IOUtils.closeQuietly(fileInputStream);//fileInputStream.close();
IOUtils.closeQuietly(fileOutputStream);//fileOutputStream.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return pcmfilepath;
}
/**
* 输入流转byte二进制数据
* @param fis
* @return
* @throws IOException
*/
private static byte[] InputStreamToByte(FileInputStream fis) throws IOException {
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
long size = fis.getChannel().size();
byte[] buffer = null;
if (size <= Integer.MAX_VALUE) {
buffer = new byte[(int) size];
} else {
buffer = new byte[8];
for (int ix = 0; ix < 8; ++ix) {
int offset = 64 - (ix + 1) * 8;
buffer[ix] = (byte) ((size >> offset) & 0xff);
}
}
int len;
while ((len = fis.read(buffer)) != -1) {
byteStream.write(buffer, 0, len);
}
byte[] data = byteStream.toByteArray();
IOUtils.closeQuietly(byteStream);//byteStream.close();
return data;
}
}
7.直接下载的pcm可以跳过第6步
直接跑 测试类 sample 的main方法
8.结果与上面一样,代表测试成功
源代码下载地址 :
http://download.csdn.net/download/golddaniu/10186004
百度AI学习:一、语音识别相关推荐
- 百度AI学习第一天_调用API接口通用步骤
百度AI学习第一天_调用API接口通用步骤 #第一步获取access_token # client_id 为官网获取的AK, client_secret 为官网获取的SK host = 'https: ...
- 微信小程序录音 第一篇 (基于微信小程序及百度AI的 人员语音识别转文字显示小程序)
基于微信小程序及百度AI的 人员语音识别转文字显示小程序 基于微信小程序及百度AI的 人员语音识别转文字显示小程序主要分3篇 1.微信小程序录音篇(小程序基于wx.startRecord()微信语音录 ...
- Unity语音识别(百度AI长语句语音识别Unity原生短语语音识别)
Unity语音识别[百度AI语音识别&Unity原生短语语音识别] 一.百度AI语音识别 1.代码块讲解 2.操作流程 3.主要功能完整代码 二.Unity原生语音识别 主要功能完整代码 三. ...
- 基于百度AI实现的语音识别搜索文件
网络安全课设:语音识别搜索文件 通过查询网上的方法,这里采用百度AI的方式来实现.百度语音识别链接:https://ai.baidu.com/tech/speech/asr 自己注册即可使用. 先上效 ...
- java版阿里云,百度ai,讯飞语音识别效果简单对比及demo
因为公司的业务的需要,对三家的语音识别(简短语句识别java版)进行了调用和对比,把自己的测试成果贴出来供需要的人参考使用.并贴出主要代码块 阿里云的一句话识别: package com.alibab ...
- 百度AI学习:四、自然语言处理-1.词法分析
package com.ye.ai.application; import org.json.JSONObject; import com.baidu.aip.nlp.AipNlp; public c ...
- 基于百度AI平台的语音识别功能开发-SDK调用
文章目录 一.前期工作 二.调用百度语音SDK,基于python3 一.前期工作 1.拥有一个百度智能云账号 2.创建一个语音应用,创建成功后会显示有一个应用 3.在应用列表里查看自己的应用 强调: ...
- 百度AI学习:三、文字识别
啥也不说了,很简单 上代码 package com.ye.ai.application; import java.util.HashMap; import org.json.JSONObject; i ...
- 百度AI学习:二、语音合成
这个简单,直接上代码 package com.ye.ai.application; import java.io.IOException; import org.json.JSONObject; im ...
最新文章
- Spark on Yarn集群多Application并行执行
- Codeforce C. Buns
- VTK:PolyData之ImplicitModeller
- Android Studio之提示Gradle sync failed: Plugin with id ‘com.novoda.bintray-release‘ not found.
- Leetcode-204 Count Primes
- Python正则表达式re模块
- nvme装系统不能自引导_新买的固态硬盘用AHCI不能装系统,而用IDE却可以?问题就在这里...
- 穷究链表(四)--链表实现前的思考
- 【人脸表情识别】基于matlab LBP+LPQ算法融合人脸表情识别【含Matlab源码 432期】
- matlab执行m文件语句,matlab 编写m文件函数
- Unity 如何获取安卓设备的SN号
- ADP-L610-Arduino
- 百度网盘无限扩容技术,外面399,无论自己用还是用做引流都可以
- 重磅!道翰天琼破解认知智能核心秘密三大核心技术,机器人大脑API平台。
- 屏幕分辨率、屏幕尺寸、屏幕像素、屏幕密度完全解析
- laradock 环境下,PHP 该如何实现本地域名通信啊?
- Python_前端网页+前后端交互
- Mysql面试常问的问题
- 安信可VC系列语音识别的使用教程
- uniapp 小程序连接蓝牙打印机打印条码