SpringBoot之集成腾讯云语音识别

阅读: 评论:0

SpringBoot之集成腾讯云语音识别

SpringBoot之集成腾讯云语音识别

想了又想,还是把集成腾讯云的语音识别写下来。

需求:实现在线实时语音识别并返回识别内容给前端。

腾讯云官方API:语音识别Java SDK

SDK下载地址:Java SDK下载

下载下来的SDK目录结构:

JAR包使用步骤举例如下:

1.找到:out 和 lib 文件夹中的jar文件,一共12个(包括3个source jar)。

2.将这些jar复制到您的工程文件夹中。如果第三方Jar和您已使用的Jar有重复,可选择其一。

3.在Eclipse右键“您的项目 -> Properties -> Java Build Path -> Add JARs”。

4.将这些jar文件include到您的项目中。包括:out文件夹中的:real_asr_sdk_1.5.jar和第三方的8个依赖工具包。

添加完成后,用户就可以在工程中使用实时语音SDK了。

使用方法请参考:
RealAsrSdk/src/com/tencent/cloud/asr/realtime/sdk/RasrAsynRequestSample.java // 异步
RealAsrSdk/src/com/tencent/cloud/asr/realtime/sdk/RasrRequestSample.java   // 同步

核心代码(可放到service层):

// required
AsrBaseConfig.appId = "";
AsrBaseConfig.secretId = "";
AsrBaseConfig.secretKey = "";// optional,根据自身需求配置值
AsrInternalConfig.setSdkRole(SdkRole.ONLINE); // VAD版用户请务必赋值为 SdkRole.VAD
sponseEncode = ResponseEncode.UTF_8;
ineModelType = EngineModelType._16k_0;
AsrPersonalConfig.voiceFormat = VoiceFormat.wav;// optional 可忽略
// AsrGlobelConfig.NEED_VAD = 1; // 是否要做VAD,默认为1,表示要做。当前的线上版本SDK不适用,请忽略。
// AsrGlobelConfig.CUT_LENGTH = 4096; //每次发往服务端的语音分片的大小设置,默认为8KB
// AsrGlobelConfig.NOTIFY_ALL_RESPONSE = true; // 是否回调每个分片的回复,包括Vad后开始和中间的。如只需最后到的结果,可设为false。
AsrBaseConfig.PRINT_CUT_REQUEST = true; // 是否打印中间的每个分片请求到控制台
AsrBaseConfig.PRINT_CUT_RESPONSE = true; // 是否打印中间的每个分片请求的结果到控制台
// 默认使用自定义连接池,连接数可在AsrGlobelConfig中修改,更多细节参数,可直接修改源码HttpPoolingManager.java,然后自行打Jar包。
// AsrGlobelConfig.USE_CUSTOM_CONNECTION_POOL = true;
RequestSender requestSender = new RequestSender();
byte[] content = ByteUtils.inputStream2ByteArray("test_wav/8k/8k_19s.wav");
VoiceResponse voiceResponse = requestSender.sendFromBytes(content);
if (voiceResponse != null)
System.out.println("Result is: " + OriginalText());
else
System.out.println("Result is null.");

首先你把SDK自带的test_wav文件夹下的.wav语音文件识别文字出来,你就能入手了。当然你得购买腾讯云,因为要用到appId、secretId和secretKey。secretId:用于标识 API 调用者身份,可以简单类比为用户名。secretKey:用于验证 API 调用者的身份,可以简单类比为密码。

访问地址:API秘钥管理页面

至于appID则在你的基本信息里面就能查看到,secretId和secretKey需要最高权限管理员才能生成,没有提供大家测试的secretId和secretKey,如果你用源码里面的,会报未鉴权认证的错误。

总结:

1.音频时长最好控制在60s以内

2.对.wav音频格式识别率高,mp3、sp、silk识别率不高

3.切记AsrInternalConfig.setSdkRole(SdkRole.ONLINE)要设置ONLINE,否则会没有数据

4.请勿使用歌曲.mp3格式来测试,亲测无法识别

5.源码是个单纯的Java项目,不是非得集成在SpringBoot才能用

文中有误,或者SDK集成过程中疑问的,可在评论里提出,不日会回复

本文发布于:2024-01-30 19:59:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661596122463.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23