当前位置: 首页 > news >正文

腾讯云录音文件快速识别实战教程

文章目录

  • 前言
  • 接口简介
  • 前置条件
  • 实战
    • 添加 Maven 依赖
    • 核心代码示例
  • 参数说明
  • 个人简介

前言

  • 本文介绍如何基于腾讯云语音识别 快速识别接口,实现通过 HTTPS POST 方式上传音频并快速识别同步返回识别结果的实战流程。

接口简介

  • 腾讯云语音识别 快速识别接口 支持上传音频文件并同步返回识别结果,适合以下场景:
- 视频字幕自动生成
- 呼叫中心/质检实时转写
- 会议记录转写

前置条件

  • 开通腾讯云语音识别服务。
  • 在 API 密钥管理 新建密钥,获取:
    • AppID
    • SecretID
    • SecretKey

实战

添加 Maven 依赖

  • 在项目 pom.xml 中引入腾讯云语音识别 SDK:
<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-speech-sdk-java</artifactId><version>1.0.52</version>
</dependency>

核心代码示例

@Component
@Slf4j
public class FlashRecognizerService {private static final String SECRET_KEY = "你的SecretKey";private static final String SECRET_ID = "你的SecretId";private static final String APP_ID = "你的AppId";private final Credential credential = Credential.builder().secretId(SECRET_ID).secretKey(SECRET_KEY).build();public String recognizer(File file) {log.info("开始解析音频文件:{}", file);FlashRecognizer recognizer = SpeechClient.newFlashRecognizer(APP_ID, credential);byte[] data = ByteUtils.inputStream2ByteArray(file);// 初始化识别请求FlashRecognitionRequest recognitionRequest = FlashRecognitionRequest.initialize();recognitionRequest.setEngineType("16k_zh"); // 中文普通话recognitionRequest.setFirstChannelOnly(1);  // 仅识别第一声道recognitionRequest.setVoiceFormat(getFileExtension(file));recognitionRequest.setSpeakerDiarization(0); // 不做说话人分离recognitionRequest.setFilterDirty(0); // 不过滤脏词recognitionRequest.setFilterModal(0); // 不过滤语气词recognitionRequest.setFilterPunc(0);  // 保留标点recognitionRequest.setConvertNumMode(1); // 开启数字转换recognitionRequest.setWordInfo(1); // 返回词级信息// 同步识别FlashRecognitionResponse response = recognizer.recognize(recognitionRequest, data);log.info("音频文件解析完成:{} {}", file, JSONObject.toJSONString(response));return response.getFlashResult().get(0).getText();}/*** 获取文件扩展名*/public static String getFileExtension(File file) {String name = file.getName();int lastIndex = name.lastIndexOf(".");if (lastIndex == -1 || lastIndex == name.length() - 1) {return "";}return name.substring(lastIndex + 1);}
}

参数说明

参数说明默认值
EngineType引擎类型(如 16k_zh 中文普通话)
FirstChannelOnly是否仅识别第一个声道(1 是,0 否)1
VoiceFormat音频格式,如 mp3、wav、m4a
SpeakerDiarization是否进行说话人分离(0 否,1 是)0
FilterDirty过滤脏词(0 不过滤,1 过滤)0
FilterModal过滤语气词(0 不过滤,1 过滤)0
FilterPunc过滤标点(0 不过滤,1 过滤)0
ConvertNumMode数字转换(0 关闭,1 开启)1
WordInfo是否返回词级信息(0 否,1 是)1

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

http://www.lryc.cn/news/581952.html

相关文章:

  • Java后端技术博客汇总文档
  • 无人机声学探测模块技术分析!
  • 【C++开源库使用】使用libcurl开源库发送url请求(http请求)去下载用户头像文件(附完整源码)
  • RESTful API概念和设计原则
  • Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
  • 01、通过内网穿透工具把家中闲置电脑变成在线服务器
  • Java 大视界 -- 基于 Java 的大数据可视化在企业供应链动态监控与优化中的应用(336)
  • 迅为RK3568开发板基本工程目录-OpenHarmony APP工程结构
  • 上传Vue3+vite+Ts组件到npm官方库保姆级教程
  • 基于ArcGIS的洪水灾害普查、风险评估及淹没制图技术研究​
  • 【LeetCode 热题 100】206. 反转链表——(解法二)指针翻转
  • UE5详细保姆教程(第四章)
  • Post-Training on PAI (2):Ray on PAI,云上一键提交强化学习
  • 暑假算法日记第三天
  • C++笔记之开关控制的仿真与实际数据处理优雅设计
  • GNN--知识图谱(逐步贯通基础到项目实践)
  • 数学建模从入门到国奖——备赛规划优秀论文学习方法
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(四十一) -> 获取自定义编译参数
  • 深入解析解释器模式:从理论到实践的完整指南
  • 浅学 Kafka
  • 汽车功能安全系统阶段开发【技术安全需求TSR】4
  • 图像处理中的边缘填充:原理与实践
  • 【保姆级图文详解】大模型、Spring AI编程调用大模型
  • 2025最新如何解决VSCode远程连接开发机失败/解决方案大全
  • Python操作mysql数据库:数据库三层结构,Mysql建表语句操作,mysql的数据库备份,mysql的数据库恢复
  • 图像处理中的插值方法:原理与实践
  • ​​MySQL高可用架构深度解析:主从复制、MGR与读写分离实战​​
  • 使用 GDB 调试 Redis 服务进程指南
  • PC端基于SpringBoot架构控制无人机(三):系统架构设计
  • FlashDepth | 混合模型+Mamba革新,24 FPS实时2K视频深度估计,超越Depth Anything v2