百度AI-语音识别&图片搜索(Java)

百度AI-语音识别&图片搜索

准备工作

1)在浏览器输入https://ai.baidu.com/ 打开Baidu大脑|AI开发平台首页
在这里插入图片描述

2)点击右上角控制台,进入用户注册登录界面
在这里插入图片描述
3)如果没有百度账号,可以先注册然后再进行登录;如果已经有了百度账号可以直接登录;登录成功后,进入控制台管理界面
在这里插入图片描述
4)进行实名认证(因百度AI有些功能需要用户实名认证才可使用,所以在这提前进行实名认证)
在这里插入图片描述
5)点击实名认证按钮进入实名认证页面(因我的账号已经进行过初级实名认证,实名认证内容大家按照提示进行即可)
在这里插入图片描述

到此准备工作结束,可以使用百度AI开发平台提供的API进行开发了

语音识别

第一步:左侧菜单选择语音技术

在这里插入图片描述

第二步:语音识别主界面点击创建应用

在这里插入图片描述

第三步:创建应用填写应用信息

在这里插入图片描述

第四步:创建成功后进入应用列表查看

在这里插入图片描述

第五步:点击上图左侧菜单技术文档

在这里插入图片描述

第六步:按照下图打开语音快速入门文档

在这里插入图片描述

第七步:阅读文档进行开发并调试

1)创建一个测试工程

​ speech_imageseach

2)根据API提示,导入百度AI所需依赖包

<!--百度AI依赖包-->
<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>4.12.0</version>
</dependency>

3)编写测试代码

/**
 * @Auth: suihao
 * @Desc: 百度AI-语音识别、语音合成测试类
 * @DateTime: 2022/10/14 11:14
 */
public class SpeechTest{
    
    //设置APPID/AK/SK
    public static final String APP_ID = "20616557";
    public static final String API_KEY = "YlvktyOpTrc7eOxqMQGUEAjM";
    public static final String SECRET_KEY = "EnAoDcoiBSqxRQp69bTKB3xBwZbGpOVR";
    /**
     * 功能描述:  语音识别
     * @return : void
     */
    @Test
    public void speechRecognition() throws JSONException {
        // 初始化一个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("E:/public/16k-23850.amr", "amr", 16000, null);
        System.out.println(res.toString(2));

    }
}

4)下载官网提供测试音频文件(也可以使用语音合成,自己使用语音合成接口合成语音文件)
在这里插入图片描述

5)测试结果
在这里插入图片描述

语音合成

语音技术已经包含了语音合成,但是语音合成免费次数需要我们手动领取才可以,下面我们使用语音合成来合成语音文件完成语音识别测试。

一、点击语音技术页面右上角管理控制台

在这里插入图片描述

二、在管理控制台进入语音技术主页

在这里插入图片描述

三、语音技术主页选择概览–>语音合成

在这里插入图片描述

四、领取语音合成免费次数

在这里插入图片描述

五、点击技术文档进入语音技术API页面

在这里插入图片描述

六、按照下图打开语音合成API文档

在这里插入图片描述

七、阅读文档进行开发并调试

1)在语音识别创建的speech_imageseach直接开发即可,它们所需环境都是一致的

1)所需jar包一致,不需要重新导入
2)所需APP_ID、API_KEY、SECRET_KEY一致不需要重新填写

2)编写测试代码

//直接在SpeechTest测试类中添加如下测试方法即可
@Test
public void speechSynthesis() throws JSONException{
    // 初始化一个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");
    // 调用接口
    TtsResponse res = client.synthesis("Hello World", "suihao", 1, null);
    byte[] data = res.getData();
    JSONObject res1 = res.getResult();
    if (data != null) {
        try {
            Util.writeBytesToFileSystem(data, "E:/ai-speech/itcast.mp3");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    if (res1 != null) {
        System.out.println(res1.toString(2));
    }
}

3)测试结果

代码测试返回结果
在这里插入图片描述

生成的音频文件

在这里插入图片描述

注意

使用`语音识别``语音合成`如果出现错误,根据错误code参考以下链接解决:
	`语音识别`: https://cloud.baidu.com/doc/SPEECH/s/Yk4o0bkop
	`语音合成`: https://cloud.baidu.com/doc/SPEECH/s/jk4nlz520

图片搜索

(1)控制台主页左侧菜单选择图像搜索

在这里插入图片描述

(2)图像搜索主界面点击创建应用

在这里插入图片描述

(3)创建应用填写应用信息

在这里插入图片描述

(4)创建成功后进入应用列表查看

在这里插入图片描述

(5) 点击“应用名称”进入应用详情页面

在这里插入图片描述

(6)申请建库

在这里插入图片描述
在这里插入图片描述

(7)建库成功后,导入图片

首先,选择要导入的图库,点击管理图库按钮
在这里插入图片描述

然后,上传图片并设置摘要信息

在这里插入图片描述
在这里插入图片描述

(8)点击左侧技术文档进入技术文档

在这里插入图片描述

(9)阅读文档进行开发并调试

1)创建一个测试工程(因工程已经存在可以直接在speech_imageseach工程中测试即可

2)根据API提示,导入百度AI所需依赖包(包也已经存在可以不用再次导入

 <!--百度AI依赖包-->
<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>4.12.0</version>
</dependency>

3)编写测试代码

/**
 * @Auth: suihao
 * @Desc: 百度AI-图片搜索测试类
 * @DateTime: 2022/10/14 11:24
 */
public class ImageSearchTest{
    
    //设置APPID/AK/SK
    public static final String APP_ID = "20617129";
    public static final String API_KEY = "O7SBMGthGxQd3rQkPIgGswdk";
    public static final String SECRET_KEY = "ApDvY5WN1Twsj1DAZADAdFxSZF8l7qt6";
    /**
 	 * 功能描述:  百度AI-图片搜索
 	 * @return : void
 	 */
    @Test
    public void isearch() throws JSONException {
        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");

        // 调用接口
        //String path = "E:\\img\\huaweiP40.jpg";
        //String path = "E:\\img\\huaweiNova7.jpg";
        String path = "E:\\img\\lianxiangM4000s.jpg";
        JSONObject res = client.productSearch(path, new HashMap<String, String>());
        System.out.println(res.toString(2));
    }
}

4)测试结果
在这里插入图片描述

注意

注意: 
1、检索接口不返回原图,仅反馈入库时填写的brief信息,请调用入库接口时尽量填写可关联至本地图库的图片id或者图片url等信息。
2、检索接口默认返回TOP 300的结果,如果图库里不满300张图片,会返回所有图片,请入库足量图片以便充分测试效果。
3、原则上任何2张图片都有相似度,只不过分值有高低,应用时可结合接口返回的相关性分数score(取值范围0-1,越接近1代表相似度越高)进行筛选,如选取score大于某个值的结果进行应用。

4)测试结果
在这里插入图片描述

注意

注意: 
1、检索接口不返回原图,仅反馈入库时填写的brief信息,请调用入库接口时尽量填写可关联至本地图库的图片id或者图片url等信息。
2、检索接口默认返回TOP 300的结果,如果图库里不满300张图片,会返回所有图片,请入库足量图片以便充分测试效果。
3、原则上任何2张图片都有相似度,只不过分值有高低,应用时可结合接口返回的相关性分数score(取值范围0-1,越接近1代表相似度越高)进行筛选,如选取score大于某个值的结果进行应用。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java百度AI实时语音识别是指使用Java编程语言和百度AI平台中的实时语音识别技术进行语音识别的过程。 首先,Java是一种跨平台的编程语言,具有广泛应用的特点。使用Java可以轻松地编写和运行跨平台的程序,无论是在Windows、Linux还是MacOS等操作系统上,都可以运行Java程序。 百度AI平台是一种人工智能技术的集成平台,提供了丰富的AI技术接口和服务,其中包括实时语音识别。实时语音识别是指将实时的语音输入转换为文字输出的过程。通过百度AI平台的实时语音识别接口,可以实时地将语音转换为文字,并进行一些必要的语音分析和处理。 使用Java进行百度AI实时语音识别可以通过调用百度AI平台提供的Java开发包或API来实现。通过使用API,我们可以将语音数据发送到百度AI平台,然后获取返回的识别结果。在Java中,我们可以使用HTTP协议进行数据的传输和通信,并使用相关的类库和方法来发送和接收数据。 在实时语音识别的过程中,需要注意一些问题,比如语音的在线传输和实时识别的延迟等。为了提高实时性,可以采用音频流的方式进行传输,这样可以实时地将音频数据发送到百度AI平台。同时,可以优化Java程序的性能,提高识别的速度和准确性。 总之,利用Java编程语言和百度AI平台提供的实时语音识别技术,可以实现语音转换为文字的实时识别功能。这种技术在语音识别、语音输入和人机交互等方面有着广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江東-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值