欢迎来到 安卓源码空间!
安卓源码空间

                       基于百度云AI-java开发语音识别demo



最近研究了一下百度云AI,和科大讯飞、阿里、腾讯,各大公司都提供了全面的ai接口和文档,对一位入门或者初学者来说挺好的,如果想深入研究的还可以直接翻源码学习。这里就简单写了一个语音识别的功能。后面会不断更新人脸识别等相关ai方面的东西。


首先,上百度云注册账号,然后再“人工智能”-“语音识别”下创建一个自己的应用,创建完后会得到,APPID,APIKEY,SERET KEY, 这几个熟悉对于一个经常写接口的人都应该会知道,是用来获取百度ai提供的token的,然后通过token才能方位百度云AI上面的相关接口。


在这里插入图片描述


接着,创建完用户后,就可以左边的下拉菜单中查找对应的技术文档,和下载SDK。


在这里插入图片描述


SDK,地址https://github.com/Baidu-AIP/java-sdk,目前版本是 4.8.0最新的,里面有相关源码。


继续,阅读完技术文档后,开始写demo,本人使用eclipse,创建maven项目,然后pom
文件引入百度ai包,


<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
	    <groupId>com.baidu.aip</groupId>
	    <artifactId>java-sdk</artifactId>
	    <version>4.8.0</version>
	</dependency>
    <dependency>
        <groupId>com.googlecode.soundlibs</groupId>
        <artifactId>mp3spi</artifactId>
        <version>1.9.5.4</version>
     </dependency>
  </dependencies>

然后,创建demo 代码;

package com.ai.asr.util;

import org.json.JSONException;
import org.json.JSONObject;

import com.baidu.aip.speech.AipSpeech;

public class Sample2 {
	//设置APPID/AK/SK
    public static final String APP_ID = "你的 ID";
    public static final String API_KEY = "你懂的";
    public static final String SECRET_KEY = "你的";
    private static final String testFileName = "C:\\Users\\johndgj\\Desktop\\20190101学习记录表\\test.pcm"; // 百度语音提供技术支持

    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代理

        // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
        // 也可以直接通过jvm启动参数设置此环境变量
//        System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");

        // 调用接口
        JSONObject res = client.asr(testFileName, "pcm", 16000, null);
        try {
			System.out.println(res.toString(2));
		} catch (JSONException e) {
			e.printStackTrace();
		}
        
    }

}

最后,跑一下,完成了


{
  "corpus_no": "6728201278371111763",
  "err_msg": "success.",
  "err_no": 0,
  "result": ["北京科技馆。"],
  "sn": "285721224311566531434"
}

总结,这是比较简单的案例,想了解更深的,没有比研究源码更好的了。还有另外一个问题就是 现在的录音等文件都是 MP3,或MP4等其他格式的,要把这些转换成PCM文件,才能识别。后面会更新如果将MP3或其他文件转换为PCM,并进行识别。



copyright@ 2020-2028  安卓源码空间网版权所有   

备案号:豫ICP备2023034476号-1号